DevOps/Kubernetes

[Kubernetes] 1. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ธฐ์ดˆ ๊ฐœ๋…

ddonghyeo 2023. 9. 23. 18:59

1. Kubernetes

 

2014๋…„์— ๊นƒํ—ˆ๋ธŒ์— ์˜คํ”ˆ ์†Œ์Šค๋กœ ์ฒ˜์Œ ๋ฐœํ‘œ๋œ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ํ”Œ๋žซํผ์ด๋‹ค.

 

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

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋กœ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€์ธ๋ฐ, ๊ทธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ–ˆ๋‹ค๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์–ด๋””๋“  ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

2. ๋…ธ๋“œ node

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋‚ด์˜ ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ์ž๋Š” ๊ฐ ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ, ์ด ์„œ๋ฒ„๋ฅผ ๋…ธ๋“œ(node)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

 

ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์— ๋…ธ๋“œ๋“ค์„ ์ถ”๊ฐ€, ์ œ์™ธ, ๋กค๋ง ์—…๋ฐ์ดํŠธ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ ์ ˆํžˆ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋กค๋ง ์—…๋ฐ์ดํŠธ Rolling Update
ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์— ๋…ธ๋“œ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ธฐ์ˆ 

 

YAMLํŒŒ์ผ์— ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์„ ์ž‘์„ฑํ•˜์—ฌ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API์— ์ „๋‹ฌํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ด YAMLํŒŒ์ผ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๊ฒŒ ๋œ๋‹ค.

 

์—ฌ๊ธฐ์„œ ์ด YAMLํŒŒ์ผ์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋งค๋‹ˆํŽ˜์ŠคํŠธ(Application manifest)๋ผ๊ณ  ํ•œ๋‹ค.

 

์–ด๋–ค ๋…ธ๋“œ๊ฐ€ ๊ณ ์žฅ์ด ๋‚˜๊ฑฐ๋‚˜, ์ด์ƒ์„ ์ผ์œผํ‚จ๋‹ค๋ฉด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋‚ด์—์„œ ์ž๋™์œผ๋กœ ์žฌ์‹œ์ž‘ํ•˜๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ถ€ํ•˜๊ฐ€ ๋†’์•„์ง€๋ฉด ์ž๋™์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ถ”๊ฐ€๋กœ ์‹คํ–‰ํ•˜๊ฒŒ๋œ๋‹ค.

 

๋„์ปค ์ด๋ฏธ์ง€์™€ YAMLํŒŒ์ผ์„ ํ†ตํ•ด ์ž๊ธฐ์ˆ˜๋ณตํ˜•(self-healing)์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ™˜๊ฒฝ์ด ๊ตฌ์ถ•๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

 

 

3. ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

 

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—๋Š” ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ•จ๊ป˜ ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

 

๊ทธ ์•ˆ์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ์ •๋ณด, APIํ‚ค, DB ๋น„๋ฐ€๋ฒˆํ˜ธ ๋“ฑ Secret์„ ์ €์žฅํ•ด๋‘˜ ์ˆ˜ ์žˆ๋‹ค. (๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ๋„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ์ด๋‹ค.)

 

๋˜ํ•œ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ์ถ”๊ฐ€์ ์ธ ์Šคํ† ๋ฆฌ์ง€๋„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์™ธ๋ถ€์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์—ฌ ๊ณ ๊ฐ€์šฉ์„ฑ์„ ํ™•๋ณดํ•˜๊ฒŒ ๋œ๋‹ค.

 

 

4. ๋ถ„์‚ฐ์ฒด๊ณ„

 

๋‚˜๋Š” ์ตœ๊ทผ ์„œ๋น„์Šค๋ฅผ MSA(Micro Service Architecture)๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑํ•˜๋ ค๋Š” ์‹œ๋„๋ฅผ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ์ ํ•ฉํ•œ ํˆด์ด๋‹ค.

 

์™œ๋ƒํ•˜๋ฉด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์ปจํ…Œ์ด๋„ˆ๋งˆ๋‹ค ์–ด๋–ค ์•ฑ์ธ์ง€ ๋”ฐ์ง€์ง€ ์•Š๊ณ , ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๊ฐ ์ปจํ…Œ์ด๋„ˆ๋งˆ๋‹ค ๋™์ผํ•œ API๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ๊ตฌ์„ฑํ•œ๋‹ค๋ฉด ๋ชจ๋‘ ํ•˜๋‚˜์˜ ํด๋Ÿฌ์Šคํ„ฐ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

5. ํŒŒ๋“œ Pod

 

ํŒŒ๋“œ(Pod)๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ๋‹ค๋ฃจ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์œ„์ด๋‹ค.

 

์ด ํŒŒ๋“œ๋Š” ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ฆฌ์†Œ์Šค์ด๊ณ , ์ด ํŒŒ๋“œ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๊ฒƒ์ด ๋””ํ”Œ๋กœ์ด๋จผํŠธ(deployment)์ด๋‹ค.

 

๊ฐ ํŒŒ๋“œ๋งˆ๋‹ค ๊ฐ€์ƒ IP์ฃผ์†Œ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ด ๋•Œ๋ฌธ์— ๊ฐ ํŒŒ๋“œ๋ผ๋ฆฌ ํ†ต์‹ ์„ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

 

ํŒŒ๋“œ์—๋Š” ํ•œ ๊ฐœ ์ด์ƒ์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹คํ–‰๋  ์ˆ˜ ์žˆ๋‹ค.

 

 


 

๊ฐœ๋… ์ •๋ฆฌ๋Š” ์ด์ •๋„๋กœ ํ•˜๋Š”๊ฑธ๋กœ ํ•˜๊ณ , ์ดํ›„๋กœ ์‹ค์Šต์„ ํ†ตํ•ด ๊ฐœ๋…์„ ์ตํ˜€๋ณด์ž :)

 

์ฐธ๊ณ 
Learn Kubernetes in a Month of Lunches: Stoneman, Elton