๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐ŸŽ› Others.../- infra [linux, aws, docker, k8s]

[์ฟ ๋ฒ„๋„คํ‹ฐ์Šค] k8s์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ - ์˜ค๋ธŒ์ ํŠธ์™€ ํด๋Ÿฌ์Šคํ„ฐ (Control Plain๊ณผ Node) ๋ชฉ์ ์— ๋”ฐ๋ฅธ ํด๋Ÿฌ์Šคํ„ฐ ์„ค์น˜

by Wonit 2021. 5. 12.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ๋Š” ์ค‘์š”ํ•œ 2๊ฐ€์ง€ ๊ฐœ๋…์ด ์กด์žฌํ•œ๋‹ค.

  1. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ
  2. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์˜ค๋ธŒ์ ํŠธ ํ˜•ํƒœ๋กœ ์ง€์ •ํ•œ๋‹ค.


๊ทธ๋ฆฌ๊ณ  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ํ•ด๋‹น ์˜ค๋ธŒ์ ํŠธ ๋ฆฌ์†Œ์Šค๋“ค์„ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ, ๋ณดํ†ต ์šฐ๋ฆฌ๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด kubectl์„ ์ด์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ

์ผ๋ฐ˜์ ์œผ๋กœ ์•„๋‹ˆ ๋ชจ๋“  ์ƒํ™ฉ์—์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๋ชจ๋“  ๋ฆฌ์†Œ์Šค๋ฅผ ์˜ค๋ธŒ์ ํŠธ ํ˜•ํƒœ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์˜ค๋ธŒ์ ํŠธ์˜ ์ƒํƒœ๋ฅผ ์กฐ์ž‘ํ•˜๊ณ  ์œ ์ง€ํ•˜๋Š” ๋จธ์‹ ์ด๋ฉฐ ์˜ค๋ธŒ์ ํŠธ๋Š” k8s ์—์„œ ์˜์†์„ฑ์„ ๊ฐ€์ง€๋Š” ๊ฐ์ฒด์ด๋‹ค.

 

์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ด์šฉํ•ด์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ •๋ณด๋“ค์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ์–ด๋–ค ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ž‘ ์ค‘์ธ์ง€
  2. ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์–ด๋– ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€
  3. ํ•ด๋‹น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์–ด๋–ป๊ฒŒ ๋ฐฐํฌ๋˜๊ณ  ์—…๋ฐ์ดํŠธ๋˜๋ฉฐ ์Šค์ผ€์ผ๋งํ•  ์ˆ˜ ์žˆ๋Š”์ง€

๊ฒฐ๊ตญ ์šฐ๋ฆฌ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๊ด€๋ฆฌ ํ•œ๋‹ค๋Š” ๊ฒƒ์œผ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๊ณ  ์šฐ๋ฆฌ๋Š” ์ด ์˜ค๋ธŒ์ ํŠธ๋“ค์„ ์ž˜ ๊ด€๋ฆฌํ•ด์•ผ ๋˜๋Š” ์ž„๋ฌด๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์กฐ์ž‘ํ•˜๋Š” ๋ฐฉ๋ฒ•

์•ž์–ด ์šฐ๋ฆฌ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ž˜ ๊ด€๋ฆฌํ•ด์•ผ ํ•œ๋‹ค ๋ผ๊ณ  ํ–ˆ๋‹ค.

 

์ด ๋ง์€ ์ฆ‰, ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑ, ์‚ญ์ œ, ์ˆ˜์ •์„ ์œ„ํ•ด์„œ ์ง€์†์ ์œผ๋กœ ์ƒํƒœ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ณ  ์กฐ์ž‘ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์†Œ๋ฆฌ์ธ๋ฐ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API๋ฅผ ์กฐ์ž‘ํ•ด์•ผ ํ•˜๋Š”๋ฐ, ๋Œ€ํ‘œ์ ์œผ๋กœ kubectl ์„ ์ด์šฉํ•˜๊ณค ํ•œ๋‹ค.

 

kubectl

์•ž์„œ ์ด์•ผ๊ธฐ ํ•˜์˜€๋“ฏ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์šฐ๋ฆฌ๋Š” kubectl ์„ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค

 

์ •ํ™•ํžˆ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API๋ฅผ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด์„œ kubectl ์„ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, kubectl ์€ ๋ฌด์—‡์ผ๊นŒ?

 

kubectl์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•œ ์ปค๋งจ๋“œ๋ผ์ธ ๋„๊ตฌ์ด๋‹ค.

 

์šฐ๋ฆฌ๋Š” kubectl ์„ ์ด์šฉํ•ด์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ˆ˜์ •ํ•˜๋ฉฐ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

kubectl ๋ช…๋ น ๊ตฌ๋ฌธ

 

kubectl ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•ํƒœ๋กœ ๋ช…๋ น์„ ์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

kubectl [command] [TYPE] [NAME] [flags]
  • command
    • ํ•˜๋‚˜ ์ด์ƒ์˜ ๋ฆฌ์†Œ์Šค์—์„œ ์ˆ˜ํ–‰ํ•˜๋ ค๋Š” ๋™์ž‘์„ ์ง€์ •
    • apply, create, get, describe, delete
  • TYPE
    • ๋ฆฌ์†Œ์Šค ํƒ€์ž…์„ ์ง€์ •
    • ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ˆ˜ํ˜•, ๋ณต์ˆ˜ํ˜• ํ˜น์€ ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ
    • pods, pod, services, service, svc ๋“ฑ
  • NAME
    • ๋ฆฌ์†Œ์Šค ์ด๋ฆ„์„ ์ง€์ •ํ•œ๋‹ค.
  • flags
    • ์„ ํƒ์ ์œผ๋กœ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ง€์ •ํ•˜๋Š”๋ฐ, -s ์˜ต์…˜์ด๋‚˜ -o ์˜ต์…˜๊ณผ ๊ฐ™์ด ์˜ต์…˜ ๊ฐ’์„ ์ค„ ๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค.

 

๋งŒ์•ฝ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๋ฉด kubectl apply ... ํ˜•ํƒœ๋กœ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

 

ํ•ด๋‹น ๊ธ€์—์„œ ์ด์•ผ๊ธฐ ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์€ kubectl์˜ ๋ช…๋ น์–ด๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ•ด๋‹น ๋ธ”๋กœ๊ทธ์˜ kubernetes ์นดํ…Œ๊ณ ๋ฆฌ์˜ kubectl ๋ช…๋ น์–ด ์„น์…˜์—์„œ ํ™•์ธํ•ด์ฃผ์„ธ์š”

 

์šฐ๋ฆฌ๋Š” ์œ„์™€ ๊ฐ™์ด ๋ช…๋ น์–ด๋กœ kubectl ์„ ์ด์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„ ์šฐ๋ฆฌ๊ฐ€ ๊ตฌ์„ฑํ•˜๋ ค๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์กฐ๋Š” ๋งค์šฐ ๋ฐฉ๋Œ€ํ•˜๋‹ค.

 

์„œ๋น„์Šค๊ฐ€ 3๊ฐœ ์ด์ƒ์—์„œ ๋งŽ๊ฒŒ๋Š” 1์ฒœ, 1๋งŒ ๊นŒ์ง€๋„ ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์ด๋“ค์„ ๊ฐ๊ฐ ๋ช…๋ น์–ด๋กœ ์กฐ์ž‘ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋งค์šฐ ๊ณ ํ†ต์Šค๋Ÿฌ์šธ ๊ฒƒ์ด๋‹ค.

 

๋ณดํ†ต yml ํŒŒ์ผ์„ ์ด์šฉํ•ด์„œ ์„ค์ •ํ•œ๋‹ค.

 

๊ทธ๋ž˜์„œ ๋Œ€๋ถ€๋ถ„์˜ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ yml์„ ์ž˜ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ž˜ ํ•˜๋Š” ๊ธธ! ์ด๋ผ๊ณ  ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ

 

์ด์ œ ๋Œ€๋ง์˜ ํด๋Ÿฌ์Šคํ„ฐ์ด๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ํ•ต์‹ฌ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํ•œ ๋งˆ๋””๋กœ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ •์˜ํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์„ ๊ฒƒ์ด๋‹ค.

 

์ปจํ…Œ์ด๋„ˆํ™” ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(dockerized)์„ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๋…ธ๋“œ ๋จธ์‹ 

 

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

 

๋ฐ”๋กœ ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ์ž˜ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜์„ ์œ„ํ•ด์„œ ์ด๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชฉ์ ๊ณผ ์šฐ๋ฆฌ๊ฐ€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ชฉ์ ๊ณผ ๋™์ผํ•˜๋‹ค. ์ด ๋ง์€ ์ฆ‰ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ํ•ต์‹ฌ์ด๋ผ๋Š” ์†Œ๋ฆฌ์™€ ๊ฐ™์œผ๋ฉฐ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‹คํ–‰ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ฐ”๋กœ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ๋ง์ด๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์ปจํ…Œ์ด๋„ˆ๋“ค์„ ์•ž์„œ ์•Œ์•„๋ณธ ์˜ค๋ธŒ์ ํŠธ ํ˜•ํƒœ๋กœ ์ถ”์ƒํ™”ํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด์—์„œ ์‚ฌ์šฉํ•˜๋Š”๋ฐ, kubectl ์„ ์ด์šฉํ•ด์„œ ํ•ด๋‹น ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์กฐ์ž‘ํ•˜๊ณ  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ด์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ํด๋Ÿฌ์Šคํ„ฐ ์ž์› 2๊ฐ€์ง€

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—๋Š” 2๊ฐ€์ง€ ํ•ต์‹ฌ ์ž์›์ด ํด๋Ÿฌ์Šคํ„ฐ์— ์กด์žฌํ•œ๋‹ค.

 

  1. ์ปจ๋“œ๋กค ํ”Œ๋ ˆ์ธ
  2. ๋…ธ๋“œ

์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ : ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์กฐ์œจํ•˜๋ผ

์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ด€๋ฆฌ๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค.

 

๋ณดํ†ต ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์Šค์ผ€์ค„๋ง ํ•˜๊ฑฐ๋‚˜ ํ•ญ์ƒ์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ์Šค์ผ€์ผ๋ง์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์ผ์„ ํ•œ๋‹ค.

 

์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์€ Kubernetes API ๋ฅผ ์ œ๊ณตํ•˜๋Š”๋ฐ, ์•ž์„œ ๋ณด์•˜๋˜ kubectl ์ด ์ด์šฉํ•˜๋Š” API์™€ ๋™์ผํ•˜๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API๋Š” ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์ด ์ œ๊ณตํ•˜๋Š” HTTP API ์„œ๋ฒ„์ด๋‹ค.


์šฐ๋ฆฌ๋Š” ํ•ด๋‹น API๋ฅผ kubectl๋กœ ์ด์šฉํ•˜๋ฉด์„œ CLI๋ฅผ ํ†ตํ•ด์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.


ํ˜น์€ REST API ํ˜ธ์ถœ์„ ์ด์šฉํ•ด์„œ ์ง์ ‘ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅํ•œ๋ฐ, ์ด๋Š” ์ถ”ํ›„์— ์•Œ์•„๋ณด์ž.

 

๋…ธ๋“œ : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ๋™์„ ๋‹ด๋‹นํ•˜๋ผ

๋…ธ๋“œ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด ์›Œ์ปค (worker) ๋จธ์‹ ์œผ๋กœ ๋™์ž‘ํ•˜๋Š” VM์ด๋‹ค.

๊ฐ„๋‹จํ•˜๊ฒŒ Container Runtime ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

๊ฒฐ๊ตญ ๋…ธ๋“œ๋Š” ์‹ค์งˆ์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋™์ž‘์‹œํ‚ค๋Š” ์ฃผ์ฒด๊ฐ€ ๋˜๊ณ , ์šฐ๋ฆฌ๋Š” ๋…ธ๋“œ๋ฅผ ์ž˜ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

๋…ธ๋“œ์˜ 2๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ

๋…ธ๋“œ์—๋Š” 2๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

  1. kubelet
  2. Container Runtime

kubelet์€ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ๊ณผ ํ†ต์‹ ํ•˜๋Š” ์—์ด์ „ํŠธ๋กœ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์ด ์ œ๊ณตํ•˜๋Š” API๋ฅผ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

 

์šด์˜์„ ์œ„ํ•ด์„œ๋Š” ์ตœ์†Œ 3๋Œ€์˜ ๋…ธ๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

 

ํด๋Ÿฌ์Šคํ„ฐ ์„ค์น˜ํ•˜๊ธฐ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์„ค์น˜ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์‚ฌ์‹ค์ƒ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์„ค์น˜ํ•œ๋‹ค๋Š” ๋ง๊ณผ ๋™์ผํ•œ๋ฐ, 2๊ฐ€์ง€ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ์„œ ์„ค์น˜ํ•ด์•ผ ํ•˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

์šฐ์„  ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ ์šด์˜ ํ™˜๊ฒฝ์„ ๋ถ„๋ฆฌํ•ด์„œ ์ƒ๊ฐํ•ด๋ณด๊ฒ ๋‹ค.

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๋งŽ์€ ์ผ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๊ณ  ๊ทธ ๋งŒํผ ๋ฌด๊ฒ๊ฒŒ ๋Œ์•„๊ฐ„๋‹ค.

 

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

 

๊ฐœ๋ฐœ ํ™˜๊ฒฝ

๊ฐœ๋ฐœ ํ™˜๊ฒฝ์—์„œ๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ 2๊ฐ€์ง€๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

  1. Docker for Mac/Windows -> ์„ค์น˜ ๋ฐ”๋กœ๊ฐ€๊ธฐ (๊ณต์‹ ๋ฌธ์„œ)
  2. Minikube -> ์„ค์น˜ ๋ฐ”๋กœ๊ฐ€๊ธฐ (๊ณต์‹ ๋ฌธ์„œ)

๋„์ปค๋ฅผ ์œ„ํ•œ ํ™˜๊ฒฝ์ธ Docker for Mac ์„ ์„ค์น˜ํ•˜๋ฉด ์ž๋™์ ์œผ๋กœ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, docker for mac ์˜ preference ์—์„œ enable ์‹œ์ผœ์ฃผ๋ฉด ๋œ๋‹ค.

 

 

๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์œ„ํ•œ ํด๋Ÿฌ์Šคํ„ฐ๋Š” 1๊ฐœ์˜ ๋…ธ๋“œ์—์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜์–ด ๊ทธ ๋งŒํผ ๊ฐ€๋ณ๊ฒŒ ๋Œ์•„๊ฐ„๋‹ค.


ํ•˜์ง€๋งŒ ์ผ๋ถ€ ๊ธฐ๋Šฅ๋“ค์ด ์ œํ•œ๋  ์ˆ˜ ์žˆ์–ด ๋” ๋†’์€ ์ˆ˜์ค€์˜ ํ•™์Šต๊ณผ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์—์„œ ์ด์•ผ๊ธฐ ํ•  ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

์šด์˜ ํ™˜๊ฒฝ

์šด์˜ ํ™˜๊ฒฝ์—์„œ๋„ 2๊ฐ€์ง€ ๋ถ„๋ฅ˜๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  1. ์ž์ฒด ์ž์›์„ ์ด์šฉํ•ด์„œ ์šด์˜ํ•˜๋Š” ์˜จํ”„๋ ˆ๋ฏธ์Šค(On-Premise) ํ™˜๊ฒฝ
  2. ํด๋ผ์šฐ๋“œ ์ž์›์„ ์ด์šฉํ•˜๋Š” ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ํ™˜๊ฒฝ

์˜จํ”„๋ ˆ๋ฏธ์Šค(On-Premise) ํ™˜๊ฒฝ

์ž์ฒด ์ž์›์„ ์ด์šฉํ•˜๋Š” ์˜จํ”„๋ ˆ๋ฏธ์Šค์—์„œ๋Š” ์ธํ”„๋ผ์— ๋Œ€ํ•œ ์ตœ์ ํ™”์™€ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ง์ ‘ ์กฐ์ž‘ํ•  ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ๊ทธ ๋งŒํผ ๋†’์€ ์ˆ˜์ค€์˜ ์„œ๋ฒ„ ์ธํ”„๋ผ์˜ ์ง€์‹์ด ํ•„์š”ํ•˜๋‹ค.


ํ•™์Šต ๋ชฉ์ ์—์„œ๋Š” ์กฐ๊ธˆ ๋งž์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

 

๋Œ€ํ‘œ์ ์œผ๋กœ๋Š” kubespray, kubeadm ๋“ฑ์ด ์กด์žฌํ•œ๋‹ค.

 

ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ ํ™˜๊ฒฝ

์š”์ฆ˜ ๋งŽ์€ ํšŒ์‚ฌ๋“ค์ด SaaS ํ˜•ํƒœ์˜ ์„œ๋น„์Šค๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๊ณ  ์‚ฌ์šฉ ์ค‘์— ์žˆ๋‹ค.

 

ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ง์ ‘ ๊ตฌ์„ฑํ•˜๋Š”๋ฐ ๋งŽ์ธ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•˜๊ณ  ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„์˜ˆ Amazon ์—์„œ๋Š” EKS๋ผ๋Š” Saas ํ˜•ํƒœ์˜ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋ผ์šฐ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

 

 

๋Œ€ํ‘œ์ ์œผ๋กœ๋Š” EKS์™€ Google์˜ GKE๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

๋Œ“๊ธ€