π΅ μΏ λ²λ€ν°μ€ (Kubernetes)λ
μΏ λ²λ€ν°μ€λ 컨ν μ΄λνλ μν¬λ‘λμ μλΉμ€λ₯Ό κ΄λ¦¬νκΈ° μν μ΄μμ±μ΄ μκ³ , νμ₯κ°λ₯ν μ€νμμ€ νλ«νΌμ΄λ€.
μΏ λ²λ€ν°μ€λ μ μΈμ ꡬμ±κ³Ό μλνλ₯Ό λͺ¨λ μ©μ΄νκ² ν΄μ€λ€.
μΏ λ²λ€ν°μ€λ ν¬κ³ , λΉ λ₯΄κ² μ±μ₯νλ μνκ³λ₯Ό κ°μ§κ³ μλ€.
μΏ λ²λ€ν°μ€ μλΉμ€, κΈ°μ μ§μ λ° λꡬλ μ΄λμλ μ½κ² μ΄μ©ν μ μλ€.
μκ°μ΄ μ§λλ©΄μ μΏ λ²λ€ν°μ€κ° μ μ μ©νκ² λμλ ?
β Traditional Deployment - μ ν΅μ μΈ λ°°ν¬ μλ
μ΄κΈ° μ‘°μ§μ μ ν리μΌμ΄μ μ 물리 μλ²μμ μ€ννμλ€. ν 물리 μλ²μμ μ¬λ¬ μ ν리μΌμ΄μ μ 리μμ€ νκ³λ₯Ό μ μν λ°©λ²μ΄ μμκΈ°μ, 리μμ€ ν λΉμ λ¬Έμ κ° λ°μνλ€. μλ₯Ό λ€μ΄ 물리 μλ² νλμμ μ¬λ¬ μ ν리μΌμ΄μ μ μ€ννλ©΄, 리μμ€ μ λΆλ₯Ό μ°¨μ§νλ μ ν리μΌμ΄μ μΈμ€ν΄μ€κ° μμ μ μκ³ , κ²°κ³Όμ μΌλ‘λ λ€λ₯Έ μ ν리μΌμ΄μ μ μ±λ₯μ΄ μ νλ μ μμλ€. μ΄μ λν ν΄κ²°μ± μ μλ‘ λ€λ₯Έ μ¬λ¬ 물리 μλ²μμ κ° μ ν리μΌμ΄μ μ μ€ννλ κ²μ΄ μλ€. κ·Έλ¬λ μ΄λ 리μμ€κ° μΆ©λΆν νμ©λμ§ μλλ€λ μ μμ νμ₯ κ°λ₯νμ§ μμμΌλ―λ‘, 물리 μλ²λ₯Ό λ§μ΄ μ μ§νκΈ° μν΄μ μ‘°μ§μκ² λ§μ λΉμ©μ΄ λ€μλ€.
β Virtualized Deployment - κ°μνλ λ°°ν¬ μλ
κ·Έ ν΄κ²°μ± μΌλ‘ κ°μνκ° λμ λμλ€. μ΄λ λ¨μΌ 물리 μλ²μ CPUμμ μ¬λ¬ κ°μ μμ€ν (VM)μ μ€νν μ μκ² νλ€. κ°μνλ₯Ό μ¬μ©νλ©΄ VMκ°μ μ ν리μΌμ΄μ μ 격리νκ³ μ ν리μΌμ΄μ μ μ 보λ₯Ό λ€λ₯Έ μ ν리μΌμ΄μ μμ μμ λ‘κ² μ‘μΈμ€ ν μ μμΌλ―λ‘, μΌμ μμ€μ 보μμ±μ μ 곡ν μ μλ€.
κ°μνλ₯Ό μ¬μ©νλ©΄ 물리 μλ²μμ 리μμ€λ₯Ό λ³΄λ€ ν¨μ¨μ μΌλ‘ νμ©ν μ μμΌλ©°, μ½κ² μ ν리μΌμ΄μ μ μΆκ°νκ±°λ μ λ°μ΄νΈν μ μκ³ νλμ¨μ΄ λΉμ©μ μ κ°ν μ μμ΄ λ λμ νμ₯μ±μ μ 곡νλ€. κ°μνλ₯Ό ν΅ν΄ μΌλ ¨μ 물리 리μμ€λ₯Ό νκΈ° κ°λ₯ν(disposable) κ°μ λ¨Έμ μΌλ‘ ꡬμ±λ ν΄λ¬μ€ν°λ‘ λ§λ€ μ μλ€.
κ° VMμ κ°μνλ νλμ¨μ΄ μμμ μ체 μ΄μ체μ λ₯Ό ν¬ν¨ν λͺ¨λ κ΅¬μ± μμλ₯Ό μ€ννλ νλμ μμ ν λ¨Έμ μ΄λ€.
β Container Deployment - 컨ν μ΄λ κ°λ° μλ
컨ν μ΄λλ VMκ³Ό μ μ¬νμ§λ§ 격리 μμ±μ μννμ¬ μ ν리μΌμ΄μ κ°μ μ΄μ체μ (OS)λ₯Ό 곡μ νλ€. κ·Έλ¬λ―λ‘ μ»¨ν μ΄λλ κ°λ³λ€κ³ μ¬κ²¨μ§λ€. VMκ³Ό λ§μ°¬κ°μ§λ‘ 컨ν μ΄λμλ μ체 νμΌ μμ€ν , CPU μ μ μ¨, λ©λͺ¨λ¦¬, νλ‘μΈμ€ κ³΅κ° λ±μ΄ μλ€. κΈ°λ³Έ μΈνλΌμμ μ’ μμ±μ λμκΈ° λλ¬Έμ, ν΄λΌμ°λλ OS λ°°ν¬λ³Έμ λͺ¨λ μ΄μν μ μλ€.
β 컨ν μ΄λκ° μ 곡 ν΄μ£Όλ μΆκ°μ μΈ νν
- κΈ°λ―Όν μ ν리μΌμ΄μ
μμ±κ³Ό λ°°ν¬
- VM μ΄λ―Έμ§λ₯Ό μ¬μ©νλ κ²μ λΉν΄ 컨ν μ΄λ μ΄λ―Έμ§ μμ±μ΄ λ³΄λ€ μ½κ³ ν¨μ¨μ μ.
- μ§μμ μΈ κ°λ°, ν΅ν© λ° λ°°ν¬
- μμ μ μ΄κ³ μ£ΌκΈ°μ μΌλ‘ 컨ν μ΄λ μ΄λ―Έμ§λ₯Ό λΉλν΄μ λ°°ν¬ν μ μκ³ (μ΄λ―Έμ§μ λΆλ³μ± λμ) λΉ λ₯΄κ³ ν¨μ¨μ μΌλ‘ λ‘€λ°±ν μ μλ€.
- κ°λ°κ³Ό μ΄μμ κ΄μ¬μ¬ λΆλ¦¬
- λ°°ν¬ μμ μ΄ μλ λΉλ/λ¦΄λ¦¬μ€ μμ μ μ ν리μΌμ΄μ 컨ν μ΄λ μ΄λ―Έμ§λ₯Ό λ§λ€κΈ° λλ¬Έμ, μ ν리μΌμ΄μ μ΄ μΈνλΌμ€νΈλμ²μμ λΆλ¦¬λλ€.
- κ°μμ±
- κ°μμ±μ OS μμ€μ μ 보μ λ©νΈλ¦μ 머무λ₯΄μ§ μκ³ , μ ν리μΌμ΄μ μ ν¬μ€μ κ·Έ λ°μ μκ·Έλμ λ³Ό μ μλ€.
- κ°λ°, ν
μ€ν
λ° μ΄μ νκ²½μ κ±ΈμΉ μΌκ΄μ±
- λ©νμμλ ν΄λΌμ°λμμμ λμΌνκ² κ΅¬λλλ€.
- ν΄λΌμ°λ λ° OS λ°°ν¬ν κ° μ΄μμ±
- Ubuntu, RHEL, CoreOS, μ¨-νλ λ―Έμ€, μ£Όμ νΌλΈλ¦ ν΄λΌμ°λμ μ΄λμμλ ꡬλλλ€.
- μ ν리μΌμ΄μ
μ€μ¬ κ΄λ¦¬
- κ°μ νλμ¨μ΄ μμμ OSλ₯Ό μ€ννλ μμ€μμ λ Όλ¦¬μ μΈ λ¦¬μμ€λ₯Ό μ¬μ©νλ OS μμμ μ ν리μΌμ΄μ μ μ€ννλ μμ€μΌλ‘ μΆμν μμ€μ΄ λμμ§λ€.
- λμ¨νκ² μ»€νλκ³ , λΆμ°λκ³ , μ μ°νλ©°, μμ λ‘μ΄ λ§μ΄ν¬λ‘μλΉμ€
- μ ν리μΌμ΄μ μ λ¨μΌ λͺ©μ μ λ¨Έμ μμ λͺ¨λ리μ μ€νμΌλ‘ ꡬλλμ§ μκ³ λ³΄λ€ μκ³ λ 립μ μΈ λ¨μλ‘ μͺΌκ°μ Έμ λμ μΌλ‘ λ°°ν¬λκ³ κ΄λ¦¬λ μ μλ€.
- 리μμ€ κ²©λ¦¬
- μ ν리μΌμ΄μ μ±λ₯μ μμΈ‘ν μ μλ€.
- μμ μ¬μ©λ
- 리μμ€ μ¬μ©λ: κ³ ν¨μ¨ κ³ μ§μ
β μΏ λ²λ€ν°μ€
μΏ λ²λ€ν°μ€λ μ ν΅μ μΈ, λͺ¨λ κ²μ΄ ν¬ν¨λ Platform as a Service(PaaS)κ° μλλ€.
μΏ λ²λ€ν°μ€λ νλμ¨μ΄ μμ€λ³΄λ€λ 컨ν μ΄λ μμ€μμ μ΄μλκΈ° λλ¬Έμ, PaaSκ° μΌλ°μ μΌλ‘ μ 곡νλ λ°°ν¬, μ€μΌμΌλ§, λ‘λ λ°Έλ°μ±κ³Ό κ°μ κΈ°λ₯μ μ 곡νλ©°, μ¬μ©μκ° λ‘κΉ , λͺ¨λν°λ§ λ° μλ¦Ό μ루μ μ ν΅ν©ν μ μλ€.
νμ§λ§, μΏ λ²λ€ν°μ€λ λͺ¨λ리μ(monolithic)μ΄ μλμ΄μ, μ΄λ° κΈ°λ³Έ μ루μ μ΄ μ νμ μ΄λ©° μΆκ°λ μ κ±°κ° μ©μ΄νλ€.
μΏ λ²λ€ν°μ€λ κ°λ°μ νλ«νΌμ λ§λλ κ΅¬μ± μμλ₯Ό μ 곡νμ§λ§, νμν κ²½μ° μ¬μ©μμ μ νκΆκ³Ό μ μ°μ±μ μ§μΌμ€λ€.
- μ§μνλ μ ν리μΌμ΄μ
μ μ νμ μ μ½νμ§ μλλ€.
- μΏ λ²λ€ν°μ€λ μν μ μ§κ° νμ μλ(stateless) μν¬λ‘λ, μν μ μ§κ° νμν(stateful) μν¬λ‘λ, λ°μ΄ν° μ²λ¦¬λ₯Ό μν μν¬λ‘λλ₯Ό ν¬ν¨ν΄μ κ·Ήλ¨μ μΌλ‘ λ€μν μν¬λ‘λλ₯Ό μ§μνλ κ²μ λͺ©νλ‘ νλ€. μ ν리μΌμ΄μ μ΄ μ»¨ν μ΄λμμ ꡬλλ μ μλ€λ©΄, μΏ λ²λ€ν°μ€μμλ μ λμν κ²μ΄λ€.
- μμ€ μ½λλ₯Ό λ°°ν¬νμ§ μμΌλ©° μ ν리μΌμ΄μ
μ λΉλνμ§ μλλ€.
- μ§μμ μΈ ν΅ν©κ³Ό μ λ¬κ³Ό λ°°ν¬, 곧 CI/CD μν¬νλ‘μ°λ μ‘°μ§ λ¬Ένμ μ·¨ν₯μ λ°λ₯Ό λΏλ§ μλλΌ κΈ°μ μ μΈ μꡬμ¬νμΌλ‘ κ²°μ λλ€.
- μ ν리μΌμ΄μ
λ 벨μ μλΉμ€λ₯Ό μ 곡νμ§ μλλ€.
- μ ν리μΌμ΄μ λ 벨μ μλΉμ€μλ λ―Έλ€μ¨μ΄(μ, λ©μμ§ λ²μ€), λ°μ΄ν° μ²λ¦¬ νλ μμν¬(μ, Spark), λ°μ΄ν°λ² μ΄μ€(μ, MySQL), μΊμ λλ ν΄λ¬μ€ν° μ€ν λ¦¬μ§ μμ€ν (μ, Ceph) λ±μ΄ μλ€. μ΄λ° μ»΄ν¬λνΈλ μΏ λ²λ€ν°μ€ μμμ ꡬλλ μ μκ³ , μΏ λ²λ€ν°μ€ μμμ ꡬλ μ€μΈ μ ν리μΌμ΄μ μ΄ Open Service Broker μ κ°μ μ΄μ κ°λ₯ν λ©μ»€λμ¦μ ν΅ν΄ μ κ·Όν μλ μλ€.
- λ‘κΉ
, λͺ¨λν°λ§ λλ 경보 μ루μ
μ ν¬ν¨νμ§ μλλ€.
- κ°λ μ¦λͺ μ μν μΌλΆ ν΅ν©μ΄λ, λ©νΈλ¦μ μμ§νκ³ λ ΈμΆνλ λ©μ»€λμ¦μ μ 곡νλ€.
- κΈ°λ³Έ μ€μ μΈμ΄/μμ€ν
(μ, Jsonnet)μ μ 곡νκ±°λ μꡬνμ§ μλλ€.
- μ μΈμ λͺ μΈμ μμμ μΈ νμμ λͺ©μ μΌλ‘ νλ μ μΈμ APIλ₯Ό μ 곡νλ€.
- ν¬κ΄μ μΈ λ¨Έμ μ€μ , μ μ§λ³΄μ, κ΄λ¦¬, μλ 볡ꡬ μμ€ν μ μ 곡νκ±°λ μ±ννμ§ μλλ€.
- μΏ λ²λ€ν°μ€λ λ¨μν μ€μΌμ€νΈλ μ΄μ
μμ€ν
μ΄ μλλ€.
- μ¬μ€, μΏ λ²λ€ν°μ€λ μ€μΌμ€νΈλ μ΄μ μ νμμ±μ μμ μ€λ€. μ€μΌμ€νΈλ μ΄μ μ κΈ°μ μ μΈ μ μλ Aλ₯Ό λ¨Όμ ν λ€μ, Bλ₯Ό νκ³ , Cλ₯Ό νλ κ²κ³Ό κ°μ΄ μ μλ μν¬νλ‘μ°λ₯Ό μννλ κ²μ΄λ€. λ°λ©΄μ, μΏ λ²λ€ν°μ€λ λ 립μ μ΄κ³ μ‘°ν© κ°λ₯ν μ μ΄ νλ‘μΈμ€λ€λ‘ ꡬμ±λμ΄ μλ€. μ΄ νλ‘μΈμ€λ μ§μμ μΌλ‘ νμ¬ μνλ₯Ό μ λ ₯λ°μ μλν μνλ‘ λμκ°λλ‘ νλ€. Aμμ Cλ‘ μ΄λ»κ² κ°λμ§λ μκ΄μ΄ μλ€. μ€μνλ μ μ΄λ νμμΉ μλ€. μ΄λ‘μ¨ μμ€ν μ΄ λ³΄λ€ λ μ¬μ©νκΈ° μ¬μμ§κ³ , κ°λ ₯ν΄μ§λ©°, κ²¬κ³ νκ³ , ν볡λ ₯μ κ°μΆκ² λλ©°, νμ₯ κ°λ₯ν΄μ§λ€
π΅ Kubernetes Overview
μ°Έκ³ μ¬μ΄νΈ
'TEAM STUDY > SERVER' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
WSL2 λ€μ΄λ‘λ μ°μ¬κ³‘μ κΈ°λ‘ (0) | 2021.07.04 |
---|---|
π΅μΏ λ²λ€ν°μ€ κ°μ 1μ£Όμ°¨ - VM κ³Ό Container μ°¨μ΄ (0) | 2021.06.30 |
π΅ μΏ λ²λ€ν°μ€ κ°μ 1μ£Όμ°¨ - Auto Scaling / Auto Healing / Deployment (0) | 2021.06.30 |
π΅μΏ λ²λ€ν°μ€ κ°μ 1μ£Όμ°¨ - λ컀μ μΏ λ²λ€ν°μ€ μ°¨μ΄μ (0) | 2021.06.30 |
π΅μΏ λ²λ€ν°μ€ κ°μ 1μ£Όμ°¨ - λ컀λ ? (0) | 2021.06.30 |