μΏ λ²λ€ν°μ€(kubernetes, k8s)λ 무μμΈκ°?
μΏ λ²λ€ν°μ€λ 컨ν μ΄λνλ μ ν리μΌμ΄μ μ λ°°ν¬, κ΄λ¦¬, νμ₯ν λ μλ°λλ λ€μμ μλ νλ‘μΈμ€λ₯Ό μλννλ μ€νμμ€ μ»¨ν μ΄λ μ€μΌμ€νΈλ μ΄μ νλ«νΌμ΄λ€.
*컨ν μ΄λ: μ ν리μΌμ΄μ μ΄ κ΅¬λλλ νκ²½κΉμ§ κ°μΈμ μ€νν μ μλλ‘ νλ 격리 κΈ°μ
*μ€μΌμ€νΈλ μ΄μ : μ¬λ¬ μλ²μ κ±ΈμΉ μ»¨ν μ΄λ λ° μ¬μ©νλ νκ²½ μ€μ μ κ΄λ¦¬νλ νμ
μΏ λ²λ€ν°μ€ ν΄λ¬μ€ν° μν€ν μ² μ΄ν΄λ³΄κΈ°
λ¨Όμ μ°μΈ‘μ Node1, Node2μ κ·Έ ꡬμ±μμλ₯Ό μ΄ν΄λ³΄μ.
pod: μΏ λ²λ€ν°μ€μμ 컨ν μ΄λνλ μ ν리μΌμ΄μ μ κ°μ₯ μμ λ°°ν¬ λ¨μμ΄λ€. νλ μ΄μμ 컨ν μ΄λλ‘ κ΅¬μ±λλ©°, 곡μ λ λ€νΈμν¬ λ€μμ€νμ΄μ€μ λ³Όλ₯¨μ κ°μ§λ€.
kubelet: κ° λ Έλμμ λμνλ©°, λ§μ€ν° λ Έλμ μ§μμ λ°λΌ λ Έλ μνλ₯Ό λ³΄κ³ νκ³ νλλ₯Ό μ€ννλ€.
kube-proxy: λ€νΈμν¬ νλ‘μ μλΉμ€λ‘, μλΉμ€μ λ‘λ λ°Έλ°μ±κ³Ό κ°μ κΈ°λ₯μ μννλ€.
λ€μμΌλ‘ μ’μΈ‘μ CONTROL PLANEμ κ·Έ ꡬμ±μμλ₯Ό μ΄ν΄λ³΄μ.
λ§μ€ν° λ Έλμμ μ€νλκ³ , ν΄λ¬μ€ν°μ μ λ°μ μΈ μνλ₯Ό κ΄λ¦¬νκ³ μ μ΄νλ μν μ νλ€.
kube-api-server: μΏ λ²λ€νΈμ€μ μ€μ¬μ΄ λλ κ΅¬μ± μμλ‘, μΏ λ²λ€ν°μ€ ν΄λ¬μ€ν°μ λͺ¨λ λμμ API μλ²λ₯Ό ν΅ν΄ μ΄λ£¨μ΄μ§λ€. API μλ²λ RESTful APIλ₯Ό μ 곡νκ³ , ν΄λ¬μ€ν° μνλ₯Ό μ½κ³ μμ νλ μν μ νλ€.
etcd: λΆμ°λ key-value μ μ₯μλ‘, ν΄λ¬μ€ν°μ λͺ¨λ μ€μ λ°μ΄ν°λ₯Ό μ μ₯νκ³ λ°μ΄ν°μ μΌκ΄μ±κ³Ό λ΄κ΅¬μ±μ 보μ₯νλ€.
Controller Manager: μ¬λ¬ 컨νΈλ‘€λ¬λ€μ κ΄λ¦¬νκ³ , ν΄λ¬μ€ν° λ΄μ λ€μν 리μμ€λ€μ μνλ₯Ό κ³μμ μΌλ‘ νμΈνλ©° μ μ§νλ€.
μλ₯Ό λ€λ©΄, λ ν리μΌμ΄μ 컨νΈλ‘€λ¬λ νλμ μλ₯Ό μνλ μνλ‘ μ μ§νλ€.
scheduler: μλ‘μ΄ νλλ₯Ό ν΄λ¬μ€ν° λ΄μ μ΄λ€ λ Έλμ λ°°μΉν μ§λ₯Ό κ²°μ νλ μν μ νλ€. μ€μΌμ₯΄λ¬λ ν΄λ¬μ€ν°μ μμ μνμ νλμ μꡬ μ¬νμ κ³ λ €νμ¬ μ΅μ μ λ Έλλ₯Ό μ ννλ€.
docker-composeλμ λκ° λ€λ₯ΌκΉ?
docker composeλ μ¬λ¬ 컨ν μ΄λλ₯Ό κ°λ¨νκ² ν λ²μ μ€ννκΈ° μν λꡬλΌλ©΄, k8sλ 컨ν μ΄λ μ체λ₯Ό κ΄λ¦¬ν μ μλ λꡬμ΄λ€.
λ§λΆμ΄μλ©΄, docker composeλ μ€μΌμ€νΈλ μ΄μ μμ΄ λ€μ€ 컨ν μ΄λ docker μμ© νλ‘κ·Έλ¨μ μ μνκ³ μ€ννκΈ° μν λꡬμ΄κ³ k8sλ podκ° μ¬λ¬ 컨ν μ΄λλ₯Ό κ°μ§κ³ μκ³ , μ¬μ© κ°λ₯ν λ Έλ μ¬μ΄μ λΆλ°°(ν΄λ¬μ€ν°λ§)νλ€.
*μ°Έκ³ μλ£
Cluster Architecture
The architectural concepts behind Kubernetes.
kubernetes.io
μΏ λ²λ€ν°μ€ μν€ν μ²(Kubernetes architecture) κ°λ & ꡬμ±
μΏ λ²λ€ν°μ€μ ꡬμ±μμμ ꡬμ±μμ κ° μνΈ μμ© λ°©μμ λν΄ μκ°νκ³ , 컨νΈλ‘€ νλ μΈμ μν κ³Ό ꡬ쑰λ₯Ό μ€λͺ ν©λλ€.
www.redhat.com