μΏ λ²λ€ν°μ€
μΏ λ²λ€ν°μ€ (k8s, Kubernetes, νλΈ, kube)λ 컨ν μ΄λνλ μ ν리μΌμ΄μ μ λ°°ν¬, κ΄λ¦¬, νμ₯ν λ μλ°λλ λ€μμ μλ νλ‘μΈμ€λ₯Ό μλννλ μ€νμμ€ μ»¨ν μ΄λ μ€μΌμ€νΈλ μ΄μ νλ«νΌμ΄λ€.
μΏ λ²λ€ν°μ€ ν΄λ¬μ€ν°(K8s Cluster)
Linux 컨ν μ΄λλ₯Ό μ€ννλ νΈμ€νΈ κ·Έλ£Ήμ ν¨κ» ν΄λ¬μ€ν°λ§ν μ μμΌλ©°, μΏ λ²λ€ν°μ€λ₯Ό ν΅ν΄ μ΄λ¬ν ν΄λ¬μ€ν°λ₯Ό μ½κ³ ν¨μ¨μ μΌλ‘ κ΄λ¦¬ν μ μλ€.
μΏ λ²λ€ν°μ€ μ₯μ λ° ν¨ν΄
- μ¬μ©μμ νκ²½μμ μΏ λ²λ€ν°μ€λ₯Ό μ¬μ©ν κ²½μ° μ»μ μ μλ μ£Όμ μ₯μ μ, νΉν ν΄λΌμ°λλ₯Ό μν΄ μ ν리μΌμ΄μ κ°λ°μ μ΅μ ννλ κ²½μ° μΏ λ²λ€ν°μ€λ₯Ό ν΅ν΄ 물리 λλ κ°μ λ¨Έμ (VM)μ ν΄λ¬μ€ν°μμ 컨ν μ΄λλ₯Ό μμ½νκ³ μ€νν μ μλ νλ«νΌμ΄ ν보λλ€λ κ²μ΄λ€.
- νλ‘λμ νκ²½μ 컨ν μ΄λ κΈ°λ° μΈνλΌλ₯Ό μμ ν ꡬνν΄μ μ¬μ©ν μ μλ€. λν μΏ λ²λ€ν°μ€λ μ΄μ μμ μλνμ κ΄λ ¨μ΄ μμΌλ―λ‘ λ€λ₯Έ μ ν리μΌμ΄μ νλ«νΌ λλ κ΄λ¦¬ μμ€ν μμ κ°λ₯ν μμ μ μλΉμλ₯Ό 컨ν μ΄λλ₯Ό μ¬μ©ν΄ μνν μ μλ€.
- κ°λ°μλ μΏ λ²λ€ν°μ€ ν¨ν΄μ μ¬μ©νλ©΄ μΏ λ²λ€ν°μ€λ₯Ό λ°νμ νλ«νΌμΌλ‘ μ¬μ©ν΄ ν΄λΌμ°λ λ€μ΄ν°λΈ μ ν리μΌμ΄μ μ μ μν μ μλ€. ν¨ν΄μ μΏ λ²λ€ν°μ€ κ°λ°μκ° μ»¨ν μ΄λ κΈ°λ° μ ν리μΌμ΄μ λ° μλΉμ€λ₯Ό λΉλνλ λ° νμν ν΄μ΄λ€.
μΏ λ²λ€ν°μ€λ₯Ό μ¬μ©νμ¬ μνν μ μλ μμ μ λ€μκ³Ό κ°λ€.
- μ¬λ¬ νΈμ€νΈ μ λ°μμ 컨ν μ΄λλ₯Ό μ€μΌμ€νΈλ μ΄μ
- νλμ¨μ΄λ₯Ό λμ± ν¨κ³Όμ μΌλ‘ νμ©νμ¬ μν°νλΌμ΄μ¦ μ ν리μΌμ΄μ μ μ€ννλ λ° νμν 리μμ€λ₯Ό κ·Ήλν
- μ ν리μΌμ΄μ λ°°ν¬ λ° μ λ°μ΄νΈλ₯Ό μ μ΄νκ³ μλν
- μ€ν 리μ§λ₯Ό λ§μ΄νΈ λ° μΆκ°νμ¬ μ€ν μ΄νΈν(stateful) μ ν리μΌμ΄μ μ μ€ν
- 컨ν μ΄λνλ μ ν리μΌμ΄μ κ³Ό ν΄λΉ 리μμ€λ₯Ό μ¦μ νμ₯
- μλΉμ€λ₯Ό μ μΈμ μΌλ‘ κ΄λ¦¬ν¨μΌλ‘μ¨, λ°°ν¬ν μ ν리μΌμ΄μ μ΄ νμ μλν λλ‘ μ€νλλλ‘ λ³΄μ₯
- μλ λ°°μΉ, μλ μ¬μμ, μλ 볡μ , μλ μ€μΌμΌλ§ κΈ°λ₯μΌλ‘ μ ν리μΌμ΄μ μνλ₯Ό μ κ²νκ³ μκ° μΉμ (Self-healing)
μΏ λ²λ€ν°μ€λ λ€λ₯Έ μ€νμμ€ νλ‘μ νΈλ₯Ό μ¬μ©ν΄ μ€μΌμ€νΈλ μ΄μ λ μλΉμ€ μ 체λ₯Ό μ 곡ν μ μλ€. μΏ λ²λ€ν°μ€μ κΈ°λ₯μ μμ ν μ€ννκΈ° μν΄μλ λ€μκ³Ό κ°μ μμκ° νμνλ€.
- Docker λ μ§μ€νΈλ¦¬μ κ°μ νλ‘μ νΈλ₯Ό ν΅ν λ μ§μ€νΈλ¦¬
- OpenvSwitch λ° μ§λ₯ν μ£μ§ λΌμ°ν κ³Ό κ°μ νλ‘μ νΈλ₯Ό ν΅ν λ€νΈμνΉ
- Kibana, Hawkular, Elasticκ³Ό κ°μ νλ‘μ νΈλ₯Ό ν΅ν ν λ λ©νΈλ¦¬
- λ©ν°ν λμ κ³μΈ΅μ κ°μΆ LDAP, SELinux, RBAC, OAUTHμ κ°μ νλ‘μ νΈλ₯Ό ν΅ν 보μ
- μ€μΉ λ° ν΄λ¬μ€ν° λΌμ΄νμ¬μ΄ν΄ κ΄λ¦¬λ₯Ό μν Ansible νλ μ΄λΆμ΄ μΆκ°λ μλν
- μΈκΈ° μλ μ ν리μΌμ΄μ ν¨ν΄μΌλ‘ ꡬμ±λ νλΆν μΉ΄νλ‘κ·Έλ₯Ό ν΅ν μλΉμ€
μΏ λ²λ€ν°μ€ μ©μ΄
Control Plane: μΏ λ²λ€ν°μ€ λ Έλλ₯Ό μ μ΄νλ νλ‘μΈμ€μ 컬λ μ μ¬κΈ°μμ λͺ¨λ νμ€ν¬ ν λΉμ΄ μμλλ€.
λ Έλ: 컨νΈλ‘€ νλ μΈμμ ν λΉλ μμ² νμ€ν¬λ₯Ό μννλ λ¨Έμ
Pod: λ¨μΌ λ Έλμ λ°°ν¬λ νλ μ΄μμ 컨ν μ΄λ κ·Έλ£Ή. ν¬λμ μλ λͺ¨λ 컨ν μ΄λλ IP μ£Όμ, IPC, νΈμ€νΈ μ΄λ¦, κΈ°ν 리μμ€λ₯Ό 곡μ νλ€. ν¬λλ κΈ°λ³Έ 컨ν μ΄λμμ λ€νΈμν¬μ μ€ν 리μ§λ₯Ό μΆμννλ€. μ΄λ κ² νλ©΄ ν΄λ¬μ€ν°μμ 컨ν μ΄λλ₯Ό λ μ½κ² μ΄λν μ μλ€.
볡μ 컨νΈλ‘€λ¬: μ΄ μ»¨νΈλ‘€λ¬λ ν΄λ¬μ€ν°μμ μ€νλμ΄μΌ νλ λμΌν ν¬λ 볡μ¬λ³Έμ κ°μλ₯Ό μ μ΄νλ€.
μλΉμ€: ν¬λμμ μμ μ μλ₯Ό λΆλ¦¬νλ€. μΏ λ²λ€ν°μ€ μλΉμ€ νλ‘μλ ν΄λ¬μ€ν°μμ λ€λ₯Έ μμΉλ‘ μ΄λλ κ²½μ°λ κ΅μ²΄λ κ²½μ°μ μκ΄μμ΄ μλΉμ€ μμ²μ μ μ ν ν¬λλ‘ μλ μμ νλ€.
Kubelet: μ΄ μλΉμ€λ λ Έλμμ μ€νλλ©° 컨ν μ΄λ λ§€λνμ€νΈλ₯Ό μ½κ³ , μ μλ 컨ν μ΄λκ° μμλμ΄ μ€ν μ€μΈμ§ νμΈνλ€.
kubectl: μΏ λ²λ€ν°μ€μ 컀맨λ λΌμΈ κ΅¬μ± ν΄
μΏ λ²λ€ν°μ€ μλ λ°©μ

- μλ μ€μΈ μΏ λ²λ€ν°μ€ λ°°ν¬λ₯Ό 'ν΄λ¬μ€ν°'λΌκ³ νλ€. μΏ λ²λ€ν°μ€ ν΄λ¬μ€ν°λ λ λΆλΆμΈ Control planeκ³Ό Compute machines(λλ λ Έλ)λ‘ μκ°νν μ μλ€.
- κ° λ Έλλ μ체 Linux νκ²½μ΄λ©° 물리 λλ κ°μ λ¨Έμ μΌ μ μλ€. κ° λ Έλλ 컨ν μ΄λλ‘ μ΄λ£¨μ΄μ§ Podλ₯Ό μ€ννλ€.
- Control planeμ μ΄λ μ ν리μΌμ΄μ μ μ€ννκ³ μ ν리μΌμ΄μ μ΄ μ΄λ 컨ν μ΄λ μ΄λ―Έμ§λ₯Ό μ¬μ©ν μ§μ κ°μ΄ ν΄λ¬μ€ν°λ₯Ό μνλ μνλ‘ μ μ§ κ΄λ¦¬νλ€. μ»΄ν¨ν λ¨Έμ μ μ ν리μΌμ΄μ κ³Ό μν¬λ‘λλ₯Ό μ€μ λ‘ μ€ννλ€.
- μΏ λ²λ€ν°μ€λ OSλ₯Ό κΈ°λ°μΌλ‘ μ€νλλ©°, λ Έλμμ μ€νλλ 컨ν μ΄λμ Podμ μνΈ μμ©νλ€.
- Control Planeμ κ΄λ¦¬μ(λλ DevOps)λ‘λΆν° λͺ λ Ήμ μ λ¬λ°κ³ ν΄λΉ μ§μΉ¨μ Compute machinesμ μ λ¬νλ€.
- μ΄ μ λ¬μ μ¬λ¬ μλΉμ€μ μ°κ³νμ¬ νμ€νΈμ κ°μ₯ μ ν©ν λ Έλλ₯Ό μλμΌλ‘ κ²°μ νλ€. κ·Έλ° λ€μ μμ²λ μμ μ μννκΈ° μν΄ ν΄λΉ λ Έλμ 리μμ€λ₯Ό ν λΉνκ³ Podλ₯Ό ν λΉνλ€.
- μΏ λ²λ€ν°μ€ ν΄λ¬μ€ν°μ μνλ μνλ μ€νν΄μΌ ν μ ν리μΌμ΄μ μ΄λ μν¬λ‘λ, ν¨κ» μ¬μ©νλ μ΄λ―Έμ§, μ¬μ© κ°λ₯νλλ‘ μ€μ ν 리μμ€, κΈ°ν κ΅¬μ± μΈλΆ μ¬νμ μ μνλ€.
- μΈνλΌ μΈ‘λ©΄μμ 보면 컨ν μ΄λλ₯Ό κ΄λ¦¬νλ λ°©μμλ κ±°μ λ³νκ° μλ€. 컨ν μ΄λλ₯Ό λ λμ μμ€μμ μ μ΄νλ―λ‘ κ°κ°μ κ°λ³ 컨ν μ΄λ λλ λ Έλλ₯Ό μΈλΆννμ¬ κ΄λ¦¬νμ§ μκ³ λ λ ν¨κ³Όμ μΌλ‘ μ μ΄ν μ μλ€.
- μμ μλ μΏ λ²λ€ν°μ€ ꡬμ±, λ Έλ, Pod, κ·Έ μμ 컨ν μ΄λμ λν μ μκ° ν¬ν¨λλ€. μΏ λ²λ€ν°μ€λ 컨ν μ΄λ μ€μΌμ€νΈλ μ΄μ μ μ²λ¦¬νλ€.
- μΏ λ²λ€ν°μ€λ₯Ό μνλ κ³³μμ μ€νν μ μλ€. μ¦ λ² μ΄ λ©ν μλ², κ°μ λ¨Έμ , νΌλΈλ¦ ν΄λΌμ°λ μ 곡μ 체, νλΌμ΄λΉ ν΄λΌμ°λ, νμ΄λΈλ¦¬λ ν΄λΌμ°λ νκ²½ λ±μμ μ€νν μ μλ€. μΏ λ²λ€ν°μ€μ μ£Όμ μ₯μ μ€ νλλ λ€μν μ’ λ₯μ μΈνλΌμμ μλνλ€λ κ²μ΄λ€.
μΏ λ²λ€ν°μ€μ λ컀
- Dockerλ μΏ λ²λ€ν°μ€κ° μ€μΌμ€νΈλ μ΄μ νλ 컨ν μ΄λ λ°νμμΌλ‘ μ¬μ©ν μ μλ€. μΏ λ²λ€ν°μ€κ° λ Έλμ λν΄ ν¬λλ₯Ό μμ½νλ©΄ ν΄λΉ λ Έλμ kubeletμ΄ μ§μ λ 컨ν μ΄λλ₯Ό μ€ννλλ‘ Dockerμ λͺ λ Ήνλ€.
- κ·Έλ° λ€μ kubeletμ Dockerμμ ν΄λΉ 컨ν μ΄λμ μνλ₯Ό μ§μμ μΌλ‘ μμ§νκ³ ν΄λΉ μ 보λ₯Ό Control planeμ μ§κ³νλ€. Dockerλ 컨ν μ΄λλ₯Ό ν΄λΉ λ Έλλ‘ κ°μ Έμμ ν΄λΉ 컨ν μ΄λλ₯Ό μμνκ³ μ€μ§νλ€.
- Dockerμ ν¨κ» μΏ λ²λ€ν°μ€λ₯Ό μ¬μ©ν λ μ°¨μ΄κ° μλ€λ©΄ κ΄λ¦¬μκ° λͺ¨λ 컨ν μ΄λμ λͺ¨λ λ Έλμμ μμ μ μ§μ μννλ κ²μ΄ μλλΌ μλνλ μμ€ν μ΄ μ΄λ¬ν μμ μ Dockerμ μμ²νλ€λ κ²μ΄λ€.
μΏ λ²λ€ν°μ€(Kubernetes, k8s)λ? κΈ°λ³Έ κ°λ , μ¬μ©λ², μ°¨μ΄μ
μΏ λ²λ€ν°μ€(Kubernetes, k8s)λ 컨ν μ΄λ μ΄μ μλνμ 컨ν μ΄λ μ€μΌμ€νΈλ μ΄μ μ μννλ λꡬμ΄λ©°, 컨ν μ΄λνλ μν¬λ‘λμ μλΉμ€ κ΄λ¦¬λ₯Ό μν νλ«νΌμ λ»ν©λλ€.
www.redhat.com