K8S

μΏ λ²„λ„€ν‹°μŠ€(k8s)λŠ” μ»¨ν…Œμ΄λ„ˆν™”λœ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λŒ€κ·œλͺ¨ 배포, 관리λ₯Ό κ°„νŽΈν•˜κ²Œ ν•΄μ£ΌλŠ” μ˜€ν”ˆμ†ŒμŠ€ 기반 μ»¨ν…Œμ΄λ„ˆ μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ 도ꡬ

-> μ»¨ν…Œμ΄λ„ˆμ˜ λŒ€κ·œλͺ¨ 배포λ₯Ό λ„μ™€μ£ΌλŠ” 도ꡬ/ν”Œλž«νΌ

-> μš°λ¦¬κ°€ μ •μ˜ν•œ μƒνƒœ (Desired state / μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ„ μš΄μ˜ν•˜λŠ”λ° μžˆμ–΄ κ°œλ°œμžκ°€ μ›ν•˜λŠ” μƒνƒœ) λ₯Ό μœ μ§€ν•˜λŠ” 것을 도와쀀닀.

Container : μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ λͺ¨λ“  μ˜μ‘΄μ„±(라이브러리, μ½”λ“œ, μ„€μ •νŒŒμΌ λ“±)을 νŒ¨ν‚€μ§•ν•œ μ‹€ν–‰λ‹¨μœ„

  • λΉ λ₯Έ μ‹€ν–‰ 속도(μ‹€μ œλ‘œ osλ₯Ό λ„μš°μ§€ μ•ŠμŒ), 배포/관리/μžμ›κ΄€λ¦¬ 용이

Orchestration : μ‹œμŠ€ν…œμ„ μžλ™μœΌλ‘œ κ΅¬μ„±ν•˜κ³  μ‘°μ •ν•΄ 유기적으둜 잘 μž‘λ™ν•˜λ„λ‘ κ΄€λ¦¬ν•˜λŠ” 것. (μžλ™ν™” μž‘μ—…)

  • Desired stateλ₯Ό μœ μ§€ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ˜λŠ” 것

  • κ°„λ‹¨νžˆ 말해, λ„μ»€μ˜ μ—¬λŸ¬ μ»¨ν…Œμ΄λ„ˆλ“€μ„ κ΄€λ¦¬ν•˜κΈ° μ‰½κ²Œ λ„μ™€μ£ΌλŠ” 도ꡬ

  • μ»¨ν…Œμ΄λ„ˆλ₯Ό μ‚¬μš©ν•΄ κ°œλ°œν•˜λŠ” μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 증가 => μ»¨ν…Œμ΄λ„ˆ 관리 ν•„μš”

    • μ»¨ν…Œμ΄λ„ˆ 가동 쀑지 μ‹œκ°„ μ΅œμ†Œν™”

vs Docker?

사싀 docker와 λΉ„κ΅λŒ€μƒμ€ μ•„λ‹˜. μ»¨ν…Œμ΄λ„ˆλ₯Ό λ°°ν¬ν•˜λŠ” ν™˜κ²½ λ“€μ΄λž‘ 비ꡐ해야함

Docker

  • μ»¨ν…Œμ΄λ„ˆ 생성/관리 도ꡬ

  • 개발 ν™˜κ²½μ—μ„œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μ‹€ν–‰ ν™˜κ²½μ„ λͺ¨λ“ˆν™”ν•˜κ³  λ°°ν¬ν•˜κΈ° μœ„ν•΄ μ‚¬μš©

  • 단일 ν˜ΈμŠ€νŠΈμ—μ„œ μ»¨ν…Œμ΄λ„ˆμ˜ μ‹€ν–‰/관리에 초점

K8S

  • μ»¨ν…Œμ΄λ„ˆν™” 된 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ 관리도ꡬ

  • 닀쀑 ν˜ΈμŠ€νŠΈμ—μ„œ μ»¨ν…Œμ΄λ„ˆ 배포/관리에 초점

νŠΉμ§•

  • Automatic binpacking

    • μ»¨ν…Œμ΄λ„ˆ μžλ™ μŠ€μΌ€μ₯΄λ§

  • Self-healing

    • λ¬Έμ œκ°€ λ°œμƒν•œ μ»¨ν…Œμ΄λ„ˆλ₯Ό μžλ™μœΌλ‘œ λŒ€μ²΄ 및 ν—¬μŠ€ 체크(pending -> readiness -> liveness)

  • Horizontal scaling

    • CPU/λ©”λͺ¨λ¦¬ λ“± λ¦¬μ†ŒμŠ€ μ‚¬μš©μ— 따라 μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜ μžλ™ ν™•μž₯

  • Service discovery and Load balancing

Last updated