๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป ๊ฐœ๋ฐœ์ž ์ด์•ผ๊ธฐ/โœ๏ธ ์ •๋ฆฌ๋…ธํŠธ

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค, ๊ธฐ๋ณธ๊ฐœ๋… ๊ณผ ์šฉ์–ด์ •๋ฆฌ

by ์ •์„ ํ•œ 2023. 1. 31.
728x90
๋ฐ˜์‘ํ˜•

Container Orchestration : ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ ๊ด€๋ฆฌ

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

Container

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

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค (k8s, Kubernetes, ํ๋ธŒ, kube)

์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌ, ๊ด€๋ฆฌ, ํ™•์žฅํ•  ๋•Œ ์ˆ˜๋ฐ˜๋˜๋Š” ๋‹ค์ˆ˜์˜ ์ˆ˜๋™ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™” ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ”Œ๋žซํผ.

  • CI/CD : Build Auomation Server
  • Push : Update Images Pushed to Repository(Docker Registry)
    • Create Container Image
    • Push Container Image
    • Docker : OS ์ˆ˜์ค€์˜ ๊ฐ€์ƒํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ์ˆ .
      ์ปจํ…Œ์ด๋„ˆ๋“ค์ด ํ•˜๋‚˜์˜ ๋ฆฌ๋ˆ…์Šค ์ธ์Šคํ„ด์Šค๋‚ด์— ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด. (๊ธฐ์กด์˜ ๊ฐ€์ƒ๋จธ์‹  ๋Œ€๋น„ ๊ฒฝ๋Ÿ‰ํ™”๋˜์–ด ์˜ค๋ฒ„ํ—ค๋“œ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.)
    • Image : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰์— ํ•„์š”ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์ง‘ํ•ฉ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ €์žฅ๋œ ์ปจํ…Œ์ด๋„ˆ ์ธ์Šคํ„ด์Šค
      ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ €์žฅ, ๋กœ์ปฌ ์‹œ์Šคํ…œ์œผ๋กœ ํ˜ธ์ถœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง• ๋ฐฉ๋ฒ•์œผ๋กœ ์ด๋ฏธ์ง€ ๋‚ด์— ํฌํ•จ๋˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์—๋Š” ๋™์ž‘ํ•ด์•ผ ํ•  ์‹คํ–‰ ํŒŒ์ผ, ๋นŒ๋“œํ•œ ๊ฐœ๋ฐœ์ž ๋“ฑ์˜ ์—ฌ๋Ÿฌ ์ •๋ณด๋ฅผ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค.
  • Deploy : Update Image Pulled by cluster for Deployment
  • Pipeline : Deployment Update Triggered by build Pipeline

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์šฉ์–ด

Clusterํด๋Ÿฌ์Šคํ„ฐ, ๋…ธ๋“œ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋จธ์‹ ๋“ค์˜ ์ง‘ํ•ฉ.
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ๊ด€๋ฆฌํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆํ™” ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ธฐ๋™.
ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ์›Œ์ปค๋…ธ๋“œ์™€ 1๊ฐœ ์ด์ƒ์˜ ๋งˆ์Šคํ„ฐ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑ
Deployment๋ณต์ œ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ด€๋ฆฌํ•˜๋Š” API๊ฐ์ฒด.
kube-proxyํด๋Ÿฌ์Šคํ„ฐ ๋‚ด ๊ฐ ๋…ธ๋“œ์—์„œ ์‹คํ–‰๋˜๋Š” ๋„คํŠธ์›Œํฌ ํ”„๋ก์‹œ
Node๋…ธ๋“œ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ์›Œ์ปค๋จธ์‹ .
ํด๋Ÿฌ์Šคํ„ฐ์— ์†ํ•˜๋Š” VM์ด๊ฑฐ๋‚˜ ๋ฌผ๋ฆฌ ๋จธ์‹ .
๋…ธ๋“œ๋Š” Pod๋ฅผ ๊ตฌ๋™ํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋น„์Šค๋ฅผ ๊ฐ€์ง€๋ฉฐ ๋งˆ์Šคํ„ฐ ์ปดํฌ๋„ŒํŠธ์— ์˜ํ•ด ๊ด€๋ฆฌ.
์„œ๋น„์Šค : Docker, Kubelet, Kube-proxy
Pod์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ์ตœ์†Œ๋‹จ์œ„ ๊ฐ์ฒด. ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์—์„œ ๋™์ž‘ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ์ง‘ํ•ฉ.
ServicePod์ง‘ํ•ฉ๊ณผ ๊ฐ™์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•ด ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ธฐ์ˆ ํ•˜๋Š” API๊ฐ์ฒด.
ํฌํŠธ์™€ ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ๊ธฐ์ˆ . ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ์•ก์„ธ์Šค ํฌ์ธํŠธ๋Š” ๋‚ด๋ถ€์ผ์ˆ˜๋„ ์žˆ๊ณ  ์™ธ๋ถ€์ผ ์ˆ˜๋„ ์žˆ๋‹ค.

 

728x90
๋ฐ˜์‘ํ˜•