μΏ λ²λ€ν°μ€λ?
- μΏ λ²λ€ν°μ€λ 컨ν μ΄λνλ μ ν리μΌμ΄μ μ κ΄λ¦¬νκ³ λ°°ν¬νκΈ° μν μ€νμμ€ ν΄μ λλ€.
- μΏ λ²λ€ν°μ€λ₯Ό μ¬μ©νλ©΄ μ ν리μΌμ΄μ μ μνλ₯Ό κ΄λ¦¬νκ³ , μλ λ°°ν¬, μ€μΌμΌλ§, λ‘λ λ°Έλ°μ±, 볡ꡬ, λͺ¨λν°λ§ λ± λ€μν κΈ°λ₯μ μνν μ μμ΅λλ€.
- νμ₯μ±κ³Ό κ°μ©μ±μ΄ λμ λκ·λͺ¨ 컨ν μ΄λ κΈ°λ° μ ν리μΌμ΄μ μ κ΄λ¦¬νκΈ°μ μ ν©ν©λλ€.
- μΏ λ²λ€ν°μ€λ λ€μν ν΄λΌμ°λ νκ²½μμ λμν μ μλλ‘ μ€κ³λμ΄ μμ΄ ν΄λΌμ°λ λ€μ΄ν°λΈ μ ν리μΌμ΄μ κ°λ° λ° μ΄μμ μ μ©ν©λλ€.
μ μ¬μ©ν κΉ?
- μΏ λ²λ€ν°μ€λ 컨ν
μ΄λνλ μ ν리μΌμ΄μ
μ λ°°ν¬μ κ΄λ¦¬λ₯Ό λ¨μνν΄ μ€λλ€.
- 컨ν μ΄λνλ μ ν리μΌμ΄μ μ μλνλ λ°©μμΌλ‘ λ°°ν¬νκ³ , νμ₯νκ³ , 컨ν μ΄λκ° μ€ν¨ν κ²½μ° λͺ¨λν°λ§νλ λ°©λ²κ³Ό 컨ν μ΄λλ₯Ό κ΅μ²΄νλ λ°©λ²μ μ μν μ μκ³ κ΄λ¦¬ν μ μμ΅λλ€.
- μΏ λ²λ€ν°μ€λ ν΄λΌμ°λ λ€μ΄ν°λΈ μ ν리μΌμ΄μ
(ν΄λΌμ°λ νκ²½μμ ꡬμΆ, μ΄μ λ° νμ₯ κ°λ₯)μ ꡬμΆν μ μλ κΈ°λ° κΈ°μ μ
λλ€.
- μΏ λ²λ€ν°μ€λ ν΄λΌμ°λ νκ²½(μμμ μ μ°ν νμ₯μ±κ³Ό λμ κ°μ©μ±, μμ μ± λ± μ 곡)μ νΉμ§μ μ΅λν νμ©νμ¬ μ ν리μΌμ΄μ μ νμ₯μ±κ³Ό κ°μ©μ, μμ μ± λ±μ 보μ₯λ°λ κΈ°μ μ λλ€. μ¦, μΏ λ²λ€ν°μ€λ₯Ό μ΄μ©νλ©΄ ν΄λΌμ°λ λ€μ΄ν°λΈ μ ν리μΌμ΄μ μ μμ μ μΌλ‘ ꡬμΆν μ μμ΅λλ€.
μλ λ°°ν¬μ λ¬Έμ μ
- 컨ν μ΄λλ₯Ό μλμΌλ‘ λ°°ν¬ν κ²½μ° μ»¨ν μ΄λνλ μ ν리μΌμ΄μ λ΄λΆμ λ¬Έμ κ° λ°μνλ©΄ 컨ν μ΄λκ° μΆ©λμ΄ λ°μν λλ§λ€ μλμΌλ‘ λͺ¨λν°λ§ν΄μΌ νλ©°, μλμΌλ‘ 컨ν μ΄λλ₯Ό λ€μ μμν΄μΌ ν©λλ€.(μ 컨ν μ΄λλ‘ κ΅μ²΄)
- νΈλν½μ΄ μ¦κ°νκ±°λ κ°μν¨μ λ°λΌ μ€ν μ€μΈ μΈμ€ν΄μ€μ μλ₯Ό λ리거λ μ€μ¬μΌ ν©λλ€.
μΏ λ²λ€ν°μ€ μν€ν μ²μ ν΅μ¬ κ°λ
μΏ λ²λ€ν°μ€λ λ§μ€ν° λ Έλμ μ컀 λ Έλλ‘ κ΅¬μ±λλ©°, λ§μ€ν° λ Έλλ ν΄λ¬μ€ν° μ λ°μ μ μ΄μ κ΄λ¦¬λ₯Ό λ΄λΉνκ³ μ컀 λ Έλλ μ ν리μΌμ΄μ μ μ€νκ³Ό κ΄λ¦¬λ₯Ό λ΄λΉν©λλ€.
Pod
- νλ μ΄μμ 컨ν μ΄λλ₯Ό κ°λ κ°μ₯ μμ λ°°ν¬ λ¨μμ λλ€. λ¨μν 컨ν μ΄λλ₯Ό 보μ ν©λλ€.
- Podλ μ컀λ
Έλμμ μμ μ μ€νν©λλ€.
- μμ»€λ Έλλ νΉμ μμ cpuμ λ©λͺ¨λ¦¬κ° μλ λ¨Έμ μΌλ‘ Podλ₯Ό μ€νν μ μμ΅λλ€.
- κ° μμ»€λ Έλμ λ€μμ νλκ° μ€νλ μ μμ΅λλ€.
Kube-proxy
- μΏ λ²λ€ν°μ€μμ μμ»€λ Έλμλ λ€μμ νλκ° μ€νλ μ μλλ° Podλ λ΄λΆ IP μ£Όμλ₯Ό κ°μ§λ©°, λ€λ₯Έ Pod λλ μΈλΆλ‘ μ§μ ν΅μ ν μ μκΈ° λλ¬Έμ κ° νλκ°μ ν΅μ μ΄λ μΈλΆμμ ν΅μ λ±μ μν΄ νλ‘μκ° νμν©λλ€.
- μΏ λ²λ€ν°μ€μ νλ‘μ κΈ°λ₯μ μ¬μ©νμ¬ νλκ°μ ν΅μ , λ‘λ 벨λ°μ±, μλΉμ€ λ±μ μνν©λλ€.
λ§μ€ν° λ Έλ
λ§μ€ν° λ
Έλλ ν΄λ¬μ€ν° μ 체λ₯Ό κ΄λ¦¬νκ³ μ‘°μ νλ μν μ ν©λλ€.
λ§μ€ν° λ
Έλλ API μλ², etcd, μ€μΌμ€λ¬, 컨νΈλ‘€λ¬ λ§€λμ λ±μ μ»΄ν¬λνΈλ‘ ꡬμ±λμ΄ μμ΅λλ€.
- API μλ²: APIμλ²λ‘ μ컀λ
Έλμ ν΅μ ν©λλ€. μΏ λ²λ€ν°μ€ ν΄λ¬μ€ν° λ΄μμ λͺ¨λ μ»΄ν¬λνΈ κ°μ μνΈμμ©μ λ΄λΉν©λλ€.
ν΄λ¬μ€ν° λ΄μμ API νΈμΆμ λ°μλ€μ΄κ³ , κ°κ°μ 리μμ€λ₯Ό μμ±, μ½κΈ°, μ λ°μ΄νΈ, μμ λ±μ μμ μ μνν©λλ€. - μ€μΌμ€λ¬: μλ‘μ΄ Podλ₯Ό μ΄λ λ Έλμ λ°°μΉν μ§ κ²°μ νκ³ μμ»€λ Έλμ 무μμ ν΄μΌ νλμ§ API μλ²μ μ리λ μν μ ν©λλ€. νλμ μꡬμ¬ν(μμ μꡬμ¬ν, μ€ν λ¦¬μ§ μꡬ μ¬ν λ±)μ κ³ λ €νμ¬ μ΅μ μ λ Έλλ₯Ό μ νν©λλ€.
- 컨νΈλ‘€λ¬: μμ»€λ Έλ μ 체λ₯Ό κ°μνκ³ μ μ΄νλ©° μ λΉν μμ Podλ₯Ό κ°λ μ€μ μλμ§ νμΈνλ μν μ ν©λλ€.
- etcd: ν΄λ¬μ€ν°μ λͺ¨λ μν μ 보λ₯Ό μ μ₯νλ λΆμ° μ μ₯μμ λλ€. λͺ¨λ λ Έλ etcdμ μ μ₯λ ν΄λ¬μ€ν°μ μν μ 보λ₯Ό μ½κ³ μ λ°μ΄νΈν©λλ€.
μ컀 λ Έλ
- μμ»€λ Έλλ μ€νμ€μΈ ec2 μΈμ€ν΄μ€μ κ°μ νΉμ λμ cpuμ λ©λͺ¨λ¦¬κ° μλ μ»΄ν¨ν° λ¨Έμ μ λλ€.
- λ§μ€ν° λ Έλμμ κ΄λ¦¬λ©λλ€.
- Podκ° μμ»€λ Έλμμ μ€νλ©λλ€.
- kubelet μννΈμ¨μ΄λ‘ λ§μ€ν°λ Έλμ ν΅μ νμ¬ λ§μ€ν° λ Έλκ° μμ»€λ Έλμ Podλ₯Ό μ μ΄ν μ μλλ‘ ν©λλ€.
- kube-proxy λ€νΈμν¬ νλ‘μλ μμ»€λ Έλμμ μ€νλλ©° λ‘λ λ°Έλ°μ±κ³Ό κ°μ κΈ°λ₯μ μννμ¬ ν΄λ¬μ€ν° λ΄μμ μλΉμ€λ₯Ό μ°κ²°ν©λλ€.
μλΉμ€
μλΉμ€λ ν΄λ¬μ€ν° λ΄λΆμ λ€νΈμν¬ νΈλν½μ κ΄λ¦¬νκ³ λΆμ°νλ μν μ ν©λλ€.
λΌλ²¨ μ
λ ν°λ₯Ό μ¬μ©νμ¬ νΉμ νλλ₯Ό μλ³νκ³ λ‘λ λ°Έλ°μ±νκ±°λ DNS μ΄λ¦μ ν λΉνμ¬ ν΄λ¬μ€ν° λ΄μμ μλΉμ€λ₯Ό μλ³ν μ μλλ‘ ν΄μ€λλ€. λ μλΉμ€λ ν΄λ¬μ€ν° λ΄λΆμ νλλ₯Ό λͺ¨λν°λ§νκ³ λμ μΌλ‘ μ
λ°μ΄νΈνλ―λ‘ νλκ° μλ‘ μμ±λκ±°λ μμ λλλΌλ μλΉμ€μλ μν₯μ μ£Όμ§ μμ΅λλ€.
- ClsterIP: ν΄λ¬μ€ν° λ΄λΆμλ§ μ κ·Όμ΄ κ°λ₯ν κ°μ IP μ£Όμλ₯Ό μ 곡ν©λλ€.
- NodePort: λͺ¨λ λ Έλμ IP μ£Όμμ μ§μ λ ν¬νΈλ₯Ό μ¬μ©νμ¬ μ κ·Όν μ μμ΅λλ€.
- LoadBalancer: ν΄λΌμ°λ μ 곡 μ μ²΄κ° μ 곡νλ λ‘λ λ°Έλ°μλ₯Ό μ¬μ©νμ¬ μλΉμ€λ₯Ό μΈλΆ νΈλν½μ λ ΈμΆν©λλ€.
- ExternalName: CNAME λ μ½λλ₯Ό μ¬μ©νμ¬ λ€λ₯Έ μλΉμ€μ μΈλΆ DNSμ μ΄λ¦μ λ΄λΆ DNS μ΄λ¦μΌλ‘ λ§€νν©λλ€.
NodePortμ LoadBalancer
κ° λ Έλμμ ν¬νΈλ₯Ό μ΄μ΄ μΈλΆμμ μ κ·Όν μ μλ λ°©λ²μ λλ€.
- NodePort κ° λ Έλμμ ν¬νΈλ₯Ό μ΄μ΄ λ ΈμΆλ μλΉμ€μ IP μ£Όμμ ν¬νΈλ₯Ό μ΄μ©νμ¬ μΈλΆμμ μ κ·Όν μ μλλ‘ νλ λ°©λ²μ λλ€. κ°λ¨νκ³ μ½κ² μ€μ ν μ μμ§λ§ 보μμ μ·¨μ½μ μ΄ μμ μ μκ³ κ° λ Έλμμ ν¬νΈλ₯Ό μ΄μ΄μΌ νλ λ¨μ μ΄ μμ΅λλ€.
- LoadBalancerλ ν΄λΌμ°λ νλ‘λ°μ΄λκ° μ 곡νλ λ‘λ λ°Έλ°μλ₯Ό μ¬μ©νμ¬ κ° λ Έλμ IPμ ν¬λλ₯Ό μ¨κΈ°κ³ λ‘λ λ°Έλ°μμμ κ΄λ¦¬νλ IPμ ν¬νΈλ₯Ό μ΄μ©νμ¬ μΈλΆμμ μ κ·Όν μ μλλ‘ νλ λ°©λ²μ λλ€. μ΄ λ°©μμ κ° λ Έλμμ ν¬νΈλ₯Ό μ΄μ§ μμλ λλ―λ‘ λ³΄μμ±μ΄ λκ³ , ν΄λΌμ°λ νλ‘λ°μ΄λκ° μ 곡νλ λ‘λ λ°Έλ°μμ κΈ°λ₯μ νμ©ν μ μμ΅λλ€. νμ§λ§ ν΄λΌμ°λ νλ‘λ°μ΄λκ° μλ κ²½μ° κ΅¬ννκΈ° μ΄λ ΅μ΅λλ€.
ν΄λΌμ°λ νλ‘λ°μ΄λλ₯Ό μ¬μ©νλ κ²½μ° LoadBalancerλ₯Ό μ¬μ©νκ³ , κ·Έλ μ§ μμ κ²½μ° NodePortλ₯Ό μ¬μ©νλ κ²μ΄ μΌλ°μ μ λλ€.
'Docker Study' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Kubectlκ³Ό Minikube (0) | 2023.10.02 |
---|---|
Dockerfile μ΅μ ν Multi-Stage Build(λ©ν°μ€ν μ΄μ§ λΉλ) (0) | 2023.07.16 |
λ컀 μ»΄ν¬μ¦ (0) | 2023.03.18 |
λ컀 컨ν μ΄λ κ° ν΅μ (0) | 2023.03.04 |
λ컀 λ³Όλ₯¨κ³Ό λ°μΈλ λ§μ΄νΈ (0) | 2023.02.21 |