μΏ λ²λ€ν°μ€μ κΈ°λ³Έ μ² νμ λν΄ μ 리ν΄λ³Έ κΈμ λλ€
μΏ λ²λ€ν°μ€ κ΅¬μ± μμ
1. ν΄λ¬μ€ν°(Cluster)
- μΏ λ²λ€ν°μ€ ν΄λ¬μ€ν°λ νλ μ΄μμ λ§μ€ν° λ Έλμ μ컀 λ Έλλ‘ κ΅¬μ±λλ€.
- ν΄λ¬μ€ν°λ μΏ λ²λ€ν°μ€μμ μ ν리μΌμ΄μ μ μ€ννλ κΈ°λ³Έ λ¨μμ΄λ€.
2. λ§μ€ν° λ Έλ(Master Node)
λ§μ€ν° λ Έλλ ν΄λ¬μ€ν°λ₯Ό κ΄λ¦¬νλ€.
- API μλ²(kube-apiserver): λͺ¨λ μΏ λ²λ€ν°μ€ λͺ λ Ήμ΄μ μνΈμμ©νλ νλ‘ νΈμλμ΄λ©°, μ¬μ©μκ° μΏ λ²λ€ν°μ€ ν΄λ¬μ€ν°μ μνΈμμ©ν λ μ΄ API μλ²λ₯Ό ν΅ν΄ μμ²μ μ²λ¦¬ν©λλ€.
- 컨νΈλ‘€λ¬ 맀λμ (kube-controller-manager): μΏ λ²λ€ν°μ€ ν΄λ¬μ€ν°μμ μνλ₯Ό κ΄λ¦¬νλ 컨νΈλ‘€λ¬λ€μ μ€ννλ©°, ν΄λ¬μ€ν° μνλ₯Ό μ§μμ μΌλ‘ νμΈνκ³ νΉμ μνλ‘ μ μ§ν©λλ€.
- μ€μΌμ€λ¬(kube-scheduler): μ ν리μΌμ΄μ μ νλλ₯Ό μ΄λ€ μ컀 λ Έλμ λ°°μΉν μ§ κ²°μ νλ€.
- ETCD: ν΄λ¬μ€ν°μ μνμ κ΅¬μ± μ 보λ₯Ό μ μ₯νλ λΆμ° key-value μ μ₯μ
3. μ컀 λ Έλ(Worker Node)
μ컀 λ Έλλ μ€μ λ‘ μ ν리μΌμ΄μ μ μ€ννλ μ»΄ν¨ν 리μμ€μ΄λ€
- Kubelet: κ°κ°μ μ컀 λ Έλμμ μ€νλλ©°, λ§μ€ν° λ Έλμ API μλ²μ ν΅μ νμ¬ νλλ₯Ό μμ±νκ³ κ΄λ¦¬νλ€.
- Kube-proxy: κ°κ° μ컀 λ Έλμμ μ€νλλ©°, λ€νΈμν¬ κ·μΉμ κ΄λ¦¬νμ¬ νλ κ°μ ν΅μ κ³Ό μΈλΆ λ€νΈμν¬μμ ν΅μ μ μ²λ¦¬νλ€
- 컨ν μ΄λ λ°νμ: νλλ₯Ό ꡬμ±νλ 컨ν μ΄λλ₯Ό μ€ννλ μννΈμ¨μ΄λ‘ λ³΄ν΅ Dockerλ containerdμ κ°μ 컨ν μ΄λ λ°νμμ μ¬μ©ν©λλ€.
4. νλ(Pod)
- νλλ μΏ λ²λ€ν°μ€μμ λ°°ν¬λκ³ κ΄λ¦¬λλ κ°μ₯ μμ λ¨μμ΄λ€.
- νλμ νλλ νλ μ΄μμ 컨ν μ΄λλ₯Ό ν¬ν¨ν μ μλ€.
- λμΌν μ ν리μΌμ΄μ μ μ€ννλ 컨ν μ΄λλ€μ μΌλ°μ μΌλ‘ νλμ νλμ ν¬ν¨λλ€.
- νλ λ΄μ 컨ν μ΄λλ€μ κ°μ λ€νΈμν¬ λ€μμ€νμ΄μ€λ₯Ό 곡μ (ν΅μ )νλ€
5. λ€μμ€νμ΄μ€(Namespace)
- λ€μμ€νμ΄μ€λ νλμ ν΄λ¬μ€ν° μμμ 리μμ€λ₯Ό λ Όλ¦¬μ μΌλ‘ ꡬλΆνλ λ°©λ²μ΄λ€.
- μλ‘ λ€λ₯Έ νμ΄λ νλ‘μ νΈκ° κ°μ ν΄λ¬μ€ν°μμ λ 립μ μΌλ‘ 리μμ€λ₯Ό μ¬μ© κ°λ₯νλλ‘ νλ€.
6. 컨νΈλ‘€λ¬
컨νΈλ‘€λ¬λ μΏ λ²λ€ν°μ€ ν΄λ¬μ€ν°μμ μνλ μνλ₯Ό μ μ§νλ€.
- λνλ‘μ΄λ¨ΌνΈ 컨νΈλ‘€λ¬(Deployment Controller):
- μ¬μ©μκ° μ μν νλμ μμ νμ¬ μ€ν μ€μΈ νλμ μλ₯Ό λΉκ΅νλ€.
- μλ₯Ό λ€μ΄, μ¬μ©μκ° 3κ°μ νλλ₯Ό μμ²νμ§λ§ νλμ νλκ° λ€μ΄λ κ²½μ° λνλ‘μ΄λ¨ΌνΈ 컨νΈλ‘€λ¬λ μλμΌλ‘ μλ‘μ΄ νλλ₯Ό μμ±νμ¬ λ€μ 3κ°μ νλκ° μ€νλλλ‘ λ³΄μ₯νλ€.
- λ ν리카μ
컨νΈλ‘€λ¬(ReplicaSet Controller):
- νΉμ νλμ 볡μ λ³Έ μ(=λ ν리카μ )λ₯Ό μ μ§νλ€.
- μ¬μ©μκ° λ ν리카μ μ 5κ°μ νλλ₯Ό μμ²νλλ° νμ¬ 4κ°μ νλλ§ μ€ν μ€μ΄λ©΄, λ ν리카μ 컨νΈλ‘€λ¬λ μλ‘μ΄ νλλ₯Ό μμ±ν΄ 볡μ λ³Έ μλ₯Ό λμΌνκ² λ§μΆλ€
- λ
Έλ 컨νΈλ‘€λ¬(Node Controller):
- λ Έλμ λ¬Έμ κ° λ°μνλ©΄ ν΄λΉ λ Έλμμ μ€ν μ€μΈ νλλ€μ λ€λ₯Έ λ Έλλ‘ μ΄λμν€κ±°λ λ€μ μ€μΌμ€λ§νλ€.
- μ‘ μ»¨νΈλ‘€λ¬(Job Controller):
- νΉμ μμ μ μΌμ νμ μ΄μ μλ£ν΄μΌ νλ κ²½μ° μ‘ μ»¨νΈλ‘€λ¬λ μμ μ΄ μ±κ³΅μ μΌλ‘ μλ£λ λκΉμ§ μλ‘μ΄ νλλ₯Ό μμ±ν΄ μμ μ μ¬μλνλ€.
7. μλΉμ€(Service)
- μλΉμ€λ νλ κ°μ ν΅μ μ μΆμννμ¬ νλκ° λμ μΌλ‘ μμ±λκ±°λ μμ λλλΌλ μΌμ ν λ€νΈμν¬ μλν¬μΈνΈλ₯Ό μ 곡νλ λ€νΈμν¬ μΆμνμ΄λ©°, νλ κ°μ ν΅μ λ° μΈλΆ νΈλν½μ΄ νΉμ νλμ μ λ¬λ μ μλλ‘ νλ€.
- μΏ λ²λ€ν°μ€μ μ΄λ¬ν κΈ°λ³Έ ꡬ쑰λ 볡μ‘ν 컨ν μ΄λ κΈ°λ° μ ν리μΌμ΄μ μ λ°°ν¬, νμ₯ λ° κ΄λ¦¬λ₯Ό μλννλ€.
μ μΈμ κ΄λ¦¬μ λν΄
μΏ λ²λ€ν°μ€μ μ€μν μ² ν μ€.. μ μΈμ κ΄λ¦¬λΌλ ννμ΄ μλ€.
μ μΈμ μ΄λ λ¨μ΄κ° λ€μ μλΏμ§ μλλ° λλ¦ mzμ©μ΄λ‘ ν΄μν΄λ³΄μλ©΄ 'μΆκ΅¬λ―Έ'μ κ°κΉμ΄ λ¨μ΄λΌ μκ°νλ€ (κΈμ μ λͺ©μ΄κΈ°λ νλ€ ^_^)
- μμμ 컨νΈλ‘€λ¬κ° μ μΈμ κ΄λ¦¬λ₯Ό ν΅ν΄ μμ€ν μ νμ¬ μνλ₯Ό μνλ λͺ©ν μνμ μΌμΉμν€κΈ° μν΄ μ§μμ μΌλ‘ μνλ₯Ό μ‘°μ νλ€κ³ νμλ€.
- μ¦ μ¬μ©μκ° μμ€ν μ λͺ©ν μνλ₯Ό μ μνκ³ , μΏ λ²λ€ν°μ€κ° μ΄λ₯Ό λ¬μ±νκΈ° μν΄ νμν λͺ¨λ μ‘°μΉλ₯Ό μννλ λ°©μμ΄λ€.
- λ°λΌμ μ¬μ©μλ "무μμ ν΄μΌ νλμ§"λ§ λͺ μνκ³ , "μ΄λ»κ² ν κ²μΈμ§"μ λν μΈλΆμ¬νμ μΏ λ²λ€ν°μ€κ° μ²λ¦¬νλ€.
'Infra > K8s' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μΏ λ²λ€ν°μ€] νλ (4) | 2024.09.06 |
---|---|
[μΏ λ²λ€ν°μ€] λ컀, μΏ λ²λ€ν°μ€ κ·Έλ¦¬κ³ μ€μ΅ νκ²½ μ ν (5) | 2024.09.04 |
operator-sdk scaffold λ§λ€κΈ° (0) | 2024.04.23 |
μλμ°μμ operator-sdk μ¬μ© νκ²½ κ΅¬μΆ (wsl, Ubuntu 22.04) (0) | 2024.04.23 |