Skip to main content

Kubernetes ๊ฐœ์š”

About 1 minDevOpsKubernetesVMcrashcoursedevkuma.comkubernetesk8s

Kubernetes ๊ฐœ์š” ๊ด€๋ จ

๋ชฉ์ฐจ

Kubernetes | devkuma

Kubernetes ๊ฐœ์š” | devkuma
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes)๋ฅผ ๋ฐฐ์šฐ๊ธฐ ์ „์— ๋จผ์ € ๋„์ปค์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋„์ปค์— ๋Œ€ํ•ด์„œ ๋ชจ๋ฅธ๋‹ค๋ฉด, Docker์— ๋Œ€ํ•ด ๋จผ์ € ํ•™์Šต์„ ํ•˜๊ณ  ์˜ค๊ธธ ๋ฐ”๋ž€๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes)๋ฅผ ๋ฐฐ์šฐ๊ธฐ ์ „์— ๋จผ์ € ๋„์ปค์— ๋Œ€ํ•ด์„œ ์•Œ์•„์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋„์ปค์— ๋Œ€ํ•ด์„œ ๋ชจ๋ฅธ๋‹ค๋ฉด, Docker์— ๋Œ€ํ•ด ๋จผ์ € ํ•™์Šต์„ ํ•˜๊ณ  ์˜ค๊ธธ ๋ฐ”๋ž€๋‹ค.


์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ž€?

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes, ์•ฝ์–ด๋กœ k8s)์˜ ๊ณต์‹ ๋ฌธ์„œopen in new window์— ๋”ฐ๋ฅด๋ฉด, ์˜คํ”ˆ์†Œ์Šค ์‹œ์Šคํ…œ์œผ๋กœ โ€œ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋ฐ˜ ๋„๊ตฌโ€ ์ด๋‹ค ์—ฌ๋Ÿฌ ํ˜ธ์ŠคํŠธ์—์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค๋ฃจ๋ ค๋Š” ๊ฒฝ์šฐ์— ํŽธ๋ฆฌํ•˜๊ณ , ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฐœ๋ฐœ ๋ฐ ๊ด€๋ฆฌ๊ฐ€ ํŽธํ•˜๊ณ  ์•ˆ์ „ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค€๋‹ค.

Google์ด 2014๋…„ 6์›”์— ์‹œ์ž‘ํ•œ Go์œผ๋กœ ๋งŒ๋“  ์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด(Open source software; OSS)์ด๋‹ค.

docker run๊ณผ docker-compose์˜ ์ฐจ์ด์ ์€ ๋™์ผํ•œ ํ˜ธ์ŠคํŠธ์—์„œ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ ๋˜๋Š” ๋‹จ์ผ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ์ธ์ง€์— ๋Œ€ํ•œ ์ฐจ์ด์ด๋‹ค. ์ด๋ ‡๊ฒŒ ๊ตฌ์„ฑํ•˜๋ฉด ํ˜ธ์ŠคํŠธ๊ฐ€ ์ค‘์ง€๋˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋„ ๊ฐ™์ด ์ค‘์ง€๊ฐ€ ๋˜์–ด ๋ฒ„๋ฆฐ๋‹ค. ๋”ฐ๋ผ์„œ, ํ˜ธ์ŠคํŠธ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค๊ณ  ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ด๋Ÿฌํ•œ ์ƒ์„ฑ๋œ ํ˜ธ์ŠคํŠธ ๊ทธ๋ฃน์— ํ• ๋‹นํ•ด๋Š” ๊ฒƒ์ด โ€œ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜(Container Orchestration) ๋„๊ตฌ"์ด๋‹ค. ์ด๋Ÿฐ ๋„๊ตฌ๋กœ Kubernetes๊ฐ€ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๊ณ  ์žˆ๋‹ค.


Kubernetes์˜ ํŠน์ง•

K8s๋ผ๊ณ ๋„ ์•Œ๋ ค์ง„ Kubernetes์˜ ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์œผ๋กœ๋Š” ์ปจํ…Œ์ด๋„ˆ์œผ๋กœ ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌ, ํ™•์žฅ, ๋กœ๋“œ ๊ท ํ˜• ์กฐ์ •, ๋กœ๊น…, ๋ชจ๋‹ˆํ„ฐ๋ง ๋“ฑ์ด ์žˆ๋‹ค.

๋˜, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์šด์˜์—๋Š” ์‹ ๊ฒฝ์„ ๋งŽ์ด ์จ์•ผ ํ•˜๋Š” ๋ฌธ์ œ๋กœ์„œ, ๊ณ ๋ถ€ํ•˜ ๋“ฑ์œผ๋กœ ์ด์ƒ์ด ๋ฐœ์ƒํ–ˆ์„ ์กฐ์น˜ํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜, ์Šค์ผ€์ผ ์•„์›ƒ ํ•˜๊ฑฐ๋‚˜, ์ž๋™ ์žฅ์•  ์กฐ์น˜(Failover) ๋“ฑ์ด ํ•„์š”ํ•˜๋‹ค.

VM์„ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์„ฑ์—์„œ๋Š” ๊ฒฐ๊ตญ์—๋Š” ๊ด€๋ฆฌ๋Š” ๊ทธ VM ๋‹จ์œ„๋กœ ํ•ด์•ผ ๋˜์„œ ์Šค์ผ€์ผ ์•„์›ƒ, ์ž๋™ ์žฅ์•  ์กฐ์น˜์˜ ์„ค์ •๋„ VM ๋‹จ์œ„๋กœ ํ•  ์ˆ˜ ๋ฐ–์— ์—†๋‹ค Kubernetes๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ปจํ…Œ์ด๋„ˆ ๋‹จ์œ„ ๋˜๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‹จ์œ„๋กœ ๊ด€๋ฆฌ ํ•  ์ˆ˜ ์žˆ๊ณ (์‹ค์ œ๋กœ VM์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‹จ์œ„๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๊ณ ), ์Šค์ผ€์ผ ์•„์›ƒ, ์žฅ์•  โ€‹โ€‹์กฐ์น˜๋„ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋‹จ์œ„๋กœ ์„ค์ • ์ˆ˜ ์žˆ๋‹ค.


์™œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š”๊ฐ€?

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

<FontIcon icon="fas fa-globe"/>Figure 1: Monoliths and Microservices
Figure 1: Monoliths and Microservicesopen in new window

๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์ด๋ž€?

  • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ธฐ๋Šฅ์„ ์„ธ๋ถ„ํ™”ํ•˜๊ณ  ๊ฐ๊ฐ์„ ๋ณ„๋„์˜ ํ”„๋กœ์„ธ์Šค๋กœ ๋™์ž‘ํ•œ๋‹ค. (cf. ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜: Monolithic Architecture)
  • ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์œ ์—ฐํ•˜๊ณ  ํƒ„๋ ฅ์ ์ด๋‹ค.
  • ๊ฐœ๋ฐœ ์ฒด์ œ๋„ ์Šค์ผ€์ผํ•˜๊ฒŒ ๋™์ž‘ํ•œ๋‹ค.

์ข€ ๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์‹œ์Šคํ…œ์— ๋ณ€ํ™”๋œ ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด์„œ ๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

์˜ˆ์ „์—๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์‹œ์Šคํ…œ๋“ค์ด ๋‹ค๊ธฐ๋Šฅ์ธ ํ”„๋กœ์„ธ์Šค์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜๋กœ ๊ตฌ์„ฑ๋˜์—ˆ๋‹ค
์˜ˆ์ „์—๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์‹œ์Šคํ…œ๋“ค์ด ๋‹ค๊ธฐ๋Šฅ์ธ ํ”„๋กœ์„ธ์Šค์œผ๋กœ ๊ตฌ์„ฑ๋œ ๋ชจ๋†€๋ฆฌ์‹ ์•„ํ‚คํ…์ฒ˜๋กœ ๊ตฌ์„ฑ๋˜์—ˆ๋‹ค
๊ทธ๋Ÿฌ๋‹ค๊ฐ€, ์•„๋ž˜์™€ ๊ฐ™์€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๋„์ž…์ด ๋˜์—ˆ๋‹ค.
๊ทธ๋Ÿฌ๋‹ค๊ฐ€, ์•„๋ž˜์™€ ๊ฐ™์€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜๊ฐ€ ๋„์ž…์ด ๋˜์—ˆ๋‹ค.
๊ทธ๋Ÿฌ๊ณ  ๋‹ค์‹œ, ๋‹ค์‹œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ์•„ํ‚คํ…์ฒ˜๋กœ ๋ณ€๊ฒฝ์ด ๋˜์—ˆ๋‹ค
๊ทธ๋Ÿฌ๊ณ  ๋‹ค์‹œ, ๋‹ค์‹œ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ์•„ํ‚คํ…์ฒ˜๋กœ ๋ณ€๊ฒฝ์ด ๋˜์—ˆ๋‹ค
์ด๋ ‡๊ฒŒ ๋˜๋ฏ€๋กœ์จ, ๋ฐฐํฌ ๋‹จ์œ„๊ฐ€ ์„ธ๋ถ„ํ™” ๋˜๊ณ  ์—…๋ฐ์ดํŠธ, ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ์šฉ์ดํ•ด ์กŒ๋‹ค.
์ด๋ ‡๊ฒŒ ๋˜๋ฏ€๋กœ์จ, ๋ฐฐํฌ ๋‹จ์œ„๊ฐ€ ์„ธ๋ถ„ํ™” ๋˜๊ณ  ์—…๋ฐ์ดํŠธ, ๊ธฐ๋Šฅ ์ถ”๊ฐ€๊ฐ€ ์šฉ์ดํ•ด ์กŒ๋‹ค.

์ด๊ฒƒ๋งŒ ๋ณด๋ฉด ์žฅ์ ๋งŒ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ฒ ์ง€๋งŒ, ๋‹ค๋ฅธ ํ•œํŽธ์œผ๋กœ ๊ตฌ์กฐ๋Š” ๋ณต์žกํ•ด์ ธ์„œ ๊ด€๋ฆฌ๋Š” ์–ด๋ ต๊ฒŒ ๋˜์—ˆ๋‹ค.

  • ์ปจํ…Œ์ด๋„ˆ์˜ ๊ธฐ๋™์ด ๋ฒˆ๊ฑฐ๋กญ๋‹ค.
  • ์ปจํ…Œ์ด๋„ˆ๊ฐ„ ํ†ต์‹ ์˜ ์ œ์–ด๊ฐ€ ๋ณต์žกํ•˜๋‹ค.
  • ์ปจํ…Œ์ด๋„ˆ์˜ ๋ฐ์ดํ„ฐ ์ง€์†์„ฑ์€ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”๊ฐ€?
  • ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๊ฑฐ๋‚˜, ์ •์ง€๊ฐ€ ๋˜์—ˆ์„๋•Œ ํšŒ๋ณต์€ ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•  ๊ฒƒ์ธ๊ฐ€?

์ด๋Ÿฐ๊ฑธ ๋ถˆํŽธํ•œ ์ ์„ ํ•ด๊ฒฐํ•ด ์ฃผ๋Š” ๊ฒƒ์ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์ด๋‹ค.

์ด๋Ÿฐ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์•„ํ‚คํ…์ฒ˜์—์„œ Kubernetes๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์—ˆ์—ˆ์„ ์ด์ ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ์—ฌ๋Ÿฌ ํ˜ธ์ŠคํŠธ์˜ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ์— ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ/์›Œํฌ๋กœ๋“œ๋ฅผ ๋ถ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.
  • 1๊ฐœ์˜ Pod(์ปจํ…Œ์ด๋„ˆ)๊ฐ€ ์ •์ง€ํ–ˆ์„ ๊ฒฝ์šฐ์—๋„ ์ž๋™์œผ๋กœ ํšŒ๋ณตํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฌด์ •์ง€ ๊ฐฑ์‹ (๋กค๋ง, ์—…๋ฐ์ดํŠธ)์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ€๋™ ์ค‘์— Scale-up, Scale-down์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

Kubernetes ๊ธฐ๋Šฅ

ํด๋Ÿฌ์Šคํ„ฐ๋ง(Clustering)

  • ์—ฌ๋Ÿฌ ์‹œ์Šคํ…œ์„ ํด๋Ÿฌ์Šคํ„ฐ๋งํ•˜๊ณ  ๋ฆฌ์†Œ์Šค ํ’€๋ง ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋จธ์‹ ์„ ๋…ธ๋“œ(Node)๋ผ๊ณ  ํ•œ๋‹ค.

๋งค๋‹ˆํŽ˜์ŠคํŠธ(manifest)๋ฅผ ํ†ตํ•œ ์„ ์–ธ์  ์ž์› ๊ด€๋ฆฌ

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ด€๋ จ๋œ ๋‹ค์–‘ํ•œ ์š”์†Œ๋ฅผ ๋ฆฌ์†Œ์Šค๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.
  • ์ž์›(resource)์˜ ์ •์˜๋ฅผ YAML๋กœ ๊ธฐ์ˆ ํ•œ๋‹ค.
    • ์ด๋ฅผ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ผ๊ณ  ํ•œ๋‹ค.
    • ์ž์›์˜ ์กฐ์ž‘์ด ์•„๋‹ˆ๋ผ, ์ •์˜๋งŒ์„ ๊ธฐ์ˆ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์„ ์–ธ์ ์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋ฆฌ์†Œ์Šค ์ข…๋ฅ˜

  • ์ปจํ…Œ์ด๋„ˆ : ๋‹จ์ผ ์ปจํ…Œ์ด๋„ˆ. ์ง์ ‘ ์ •์˜ํ•  ์ˆ˜ ์—†๋‹ค.
  • Pod : ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ†ตํ•ฉ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ. VM๊ณผ ๊ฐ™์€ ๊ฐœ๋…. ๋ฐฐํฌ์˜ ์ตœ์†Œ ๋‹จ์œ„.
  • Deployment : Pod์˜ ์Šค์ผ€์ผ๋ง์„ ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.
  • Service : ๊ฐ€์ƒ ๋ผ์šฐํ„ฐ ๋ฐ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์™€ ๊ฐ™์€ ๊ฒƒ์„ ๋งํ•œ๋‹ค.
  • ConfigMap, Secret : ์ปจํ…Œ์ด๋„ˆ ๋‚ด์˜ ์„ค์ • ํŒŒ์ผ ๋“ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ. Secret๋Š” ์•”ํ˜ธํ™”๋œ๋‹ค.
  • PersistentVolume : ์ง€์†์„ฑ ๋ณผ๋ฅจ. ํ˜ธ์ŠคํŠธ ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ฐ NFS ๊ณต์œ  ๋“ฑ.

์„ ์–ธ์  ์ž์› ๊ด€๋ฆฌ

  • ๋ฆฌ์†Œ์Šค ์ •์˜๊ฐ€ ๋“ฑ๋ก๋˜๋ฉด Kubernetes๋Š” ์‹ค์ œ ๋ฆฌ์†Œ์Šค์˜ ์ƒํƒœ๊ฐ€ ์ •์˜๋Œ€๋กœ ์ž‘๋™ํ•œ๋‹ค.
  • Pod์˜ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด,
    • ๊ทธ๋ ‡๊ธฐ ์œ„ํ•ด์„œ๋Š”, ์˜ค๋ž˜๋œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ง€์šฐ๊ณ , ์ƒˆ๋กœ์šด ์ปจํ…Œ์ด๋„ˆ์˜ ๊ธฐ๋™์„ ์ง€์‹œํ•œ๋‹ค.
    • ๊ทธ๋ ‡๊ธฐ ํ•˜๊ธฐ ํž˜๋“ค๋‹ค๋ฉด, ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ์ด๋ฆ„์„ ๋‹ค์‹œ ์ž‘์„ฑ๋œ Pod ์ •์˜๋กœ ๋ฎ์–ด ์“ด๋‹ค.

๊ฐ€์ƒ ํ”Œ๋žซ ๋„คํŠธ์›Œํฌ

  • ๊ฐ Pod๋Š” ์—ฌ๋Ÿฌ ๋…ธ๋“œ ๋ถ„ํฌ๋˜์–ด ๋ฐฐํฌ๋˜๋Š”๋ฐ, ๋ชจ๋“  Pod๋Š” ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ์˜ ๋™์ผํ•œ ์„ธ๊ทธ๋จผํŠธ์— ์žˆ๋‹ค.
  • ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ๋ฅผ Kubernetes์—์„œ Container๊ฐ„ ํ†ต์‹ ์„ ํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋Š” CNI(Contaniner Network Interface)๋กœ ํ‘œ์ค€ํ™”๋˜์–ด ์žˆ๋‹ค.
  • ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์กด์žฌํ•œ๋‹ค.
    • ์œ„๋ธŒ๋„ท(Weave Net): VXLAN
    • ์นผ๋ฆฌ์ฝ”(calico): BGP
    • ํ”Œ๋ž€๋„ฌ(flannel)

๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ๋‚ด DNS

  • ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์˜ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” Service์—๋Š” DNS๋ช…์ด ๋ถ™๋Š”๋‹ค.
  • ์ด DNS ์ด๋ฆ„์€ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ๋‚ด์˜ DNS๋กœ IP ์ฃผ์†Œ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฆ‰, Pod๋ฅผ Service์˜ ๋’ค์— ์œ„์—ํ•˜์—ฌ, Pod์— DNS๋ช…์œผ๋กœ ์•ก์„ธ์Šค ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • Pod์˜ IP ์ฃผ์†Œ๋Š” ๋™์ ์œผ๋กœ ํ”๋“ค๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์— Service ๊ฒฝ๋กœ์˜ ์•ก์„ธ์Šค๊ฐ€ ๊ธฐ๋ณธ์ด๋‹ค.

์ž์›์˜ ๋…ผ๋ฆฌ์  ๋ถ„ํ• (๊ทธ๋ฃนํ™”)

  • Namespace๋ผ๋Š” ๋ฆฌ์†Œ์Šค๋กœ, Pod๋‚˜ Service๋“ฑ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ทธ๋ฃนํ•‘ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • Namespace๋งˆ๋‹ค ์•ก์„ธ์Šค๋ฅผ ๊ฒฉ๋ฆฌํ•˜๊ฑฐ๋‚˜ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—, ๊ด€๋ฆฌ ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์ƒ์‚ฌ ๊ฐ์‹œ ๋ฐ ์˜คํ†  ํž๋ง(Auto Healing)

  • ์ปจํ…Œ์ด๋„ˆ์˜ ์ƒ์‚ฌ ๊ฐ์‹œ๋ฅผ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜์—ฌ ๊ฒฐ๊ณผ๋กœ ์ƒ์‚ฌ๋ฅผ ํ™•์ธํ•œ๋‹ค.
    • HTTP ํด๋ง
    • TCP ํ•‘
    • ๋ชจ๋“  ๋ช…๋ น
  • ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ •์ง€๋˜์—ˆ๋‹ค๊ณ  ํŒ๋‹จ๋˜๋ฉด, Kubernetes๊ฐ€ ์žฌ๊ธฐ๋™ํ•ด ์ค€๋‹ค.

๊ทธ๋ฐ–์—

  • Pod ๋ณต์ œ
  • Pod ๋กค๋ง ์—…๋ฐ์ดํŠธ
  • ์›์ƒท ์ž‘์—… (Job)
  • ์ •๊ธฐ ์‹คํ–‰ ํƒœ์Šคํฌ(CronJob)
  • Pod๋‹น ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋‹น ๋ฆฌ์†Œ์Šค(CPU, ๋ฉ”๋ชจ๋ฆฌ) ์ œํ•œ
  • ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ ์•ก์„ธ์Šค ์ •์ฑ…(NetworkPolicy)

์ฐธ๊ณ 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฌธ์„œ | Kubernetes
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ, ํ™•์žฅ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์—”์ง„์ด๋‹ค. ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋Š” Cloud Native Computing Foundation์—์„œ ์ฃผ๊ด€ํ•œ๋‹ค.
[๋”ฐ๋ฐฐ์ฟ ] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‹œ๋ฆฌ์ฆˆ - YouTube
[๋”ฐ๋ฐฐ์ฟ ] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‹œ๋ฆฌ์ฆˆ - YouTube
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค #1 - ์†Œ๊ฐœ | ์กฐ๋Œ€ํ˜‘์˜ ๋ธ”๋กœ๊ทธ
Kubernetes #1 - ์†Œ๊ฐœ ์กฐ๋Œ€ํ˜‘ ๋ฐฐ๊ฒฝ๋„์ปค์™€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์•Œ๊ฒŒ ๋œ๊ฑด ์ˆ˜๋…„์ „์ธ๋ฐ, ๊ทผ๋ž˜์— ๋“ค์–ด์„œ ๋‹ค์‹œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ๋ณด๊ธฐ ์‹œ์ž‘ํ•˜์˜€๋‹ค.์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜์˜ ํ™˜๊ฒฝ์€ ๋ฐฐํฌ์— ์žฅ์ ์ด ์žˆ๊ณ  ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค ์•„ํ‚คํ…์ณ ๊ตฌ์กฐ์— ์ž˜ ๋งž์•„๋“ค์–ด๊ฐ€๋Š” ๋“ฏ ์‹ถ์ง€๋งŒ, ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์•ฝ๊ฐ„ ๋น ๋ฅด๋‹ค๋Š” ์žฅ์ ์€ ์žˆ์ง€๋งŒ, ๊ฐ€์ƒ ๋จธ์‹ ์œผ๋กœ๋„ ์ถฉ๋ถ„ํžˆ ํŒจํ‚ค์ง•์ด ๊ฐ€๋Šฅํ•˜๊ณ , ๋กœ์ปฌ์˜ ๊ฐœ๋ฐœํ™˜๊ฒฝ์„ ๋™๊ธฐํ™” ์‹œํ‚ค๋Š” ์žฅ์ ์€ vagrant ๋กœ๋„ ์ถฉ๋ถ„ํ•˜๋‹ค๋Š” ์ƒ๊ฐ์„ ๊ฐ€์ง€๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ์ •์ ์œผ๋กœ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์šด์šฉํ•˜๊ธฐ ์œ„ํ•œ ์ปจํ…Œ์ด๋„ˆ ๊ด€๋ฆฌ ํ™˜๊ฒฝ์ด ๊ทธ๋‹ค์ง€ ์„ฑ์ˆ™ํ•˜์ง€ ๋ชปํ–ˆ์—ˆ๋‹ค. Mesosphere, Swarm, Kubernetes ๋“ฑ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์ด ๋‚˜์˜ค๊ธฐ๋Š” ํ•˜์˜€์ง€๋งŒ ๊ธฐ๋Šฅ์ ์œผ๋กœ ๋ถ€์กฑํ•œ ๋ถ€๋ถ„๋„ ๋งŽ์•˜๊ณ , ๋”ฑํžˆ ์–ด๋–ค ํ”Œ๋žซํผ์ด ๋Œ€์„ธ๋ผ๊ณ  ์ •..

์ด์ฐฌํฌ (MarkiiimarK)
Never Stop Learning.