2. Controller - gomamon/k8s_study GitHub Wiki

Controller

ํŒŒ๋“œ๋“ค์„ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• 

์˜ค๋žซ๋‹์•ˆ ์‹คํ–‰๋˜์–ด์•ผํ•˜๋Š” ํŒŒ๋“œ๋“ค์„ ๊ด€๋ฆฌํ• ๋•Œ๋Š” ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ, ๋ ˆํ”Œ๋ฆฌ์นด์„ธํŠธ, ๋””ํ”Œ๋กœ์ด๋จผํŠธ ๋“ฑ์„ ์‚ฌ์šฉํ•œ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด๋…ธ๋“œ์— ๊ฐ™์€ ํŒŒ๋“œ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ๋Š” ๋ฐ๋ชฌ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

stateless์•ฑ์„ ์‹คํ–‰ํ•˜๋Š”๋ฐ statefull์•ฑ์„ ์•ฑ์„ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋„๋ก ๋งŒ๋“œ๋Š” statefull set

1ํšŒ์„ฑ์ž‘์—…์„ ํ• ๋•Œ ์‚ฌ์šฉ โ†’ job

์ฃผ๊ธฐ์ ์ธ ๋ฐฐ์น˜ ์ž‘์—… โ†’ cronjob

Replication Controller

  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ”„๋กœ์ ํŠธ์˜ ์ดˆ๊ธฐ๋ถ€ํ„ฐ ์žˆ์—ˆ๋˜ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์ปจํŠธ๋กค๋Ÿฌ
  • ์ง€์ •ํ•œ ์ˆซ์ž๋งŒํผ์˜ ํŒŒ๋“œ๊ฐ€ ํ•ญ์ƒ ํด๋Ÿฌ์Šคํ„ฐ์•ˆ์—์„œ ์‹คํ–‰๋˜๋„๋ก ๊ด€๋ฆฌํ•œ๋‹ค. ํŒŒ๋“œ 2๊ฐœ๋ฅผ ๋ช…์‹œํ•ด๋‘” ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์žˆ๋‹ค๋ฉด ์žฅ์• ๋‚˜ ๋‹ค๋ฅธ ์ด์œ ๋กœ ํŒŒ๋“œ ๊ฐœ์ˆ˜๊ฐ€ 2๊ฐœ๋ณด๋‹ค ์ ์„ ๋•Œ ๋‹ค์‹œ ์ƒˆ๋กœ์šด ํŒŒ๋“œ๋ฅผ ์‹คํ–‰ํ•ด์„œ ํŒŒ๋“œ ๊ฐœ์ˆ˜๋ฅผ 2๊ฐœ๋กœ ๋งž์ถ˜๋‹ค.
  • ๋ ˆ์ด๋ธ”์„ ์„ ํƒํ•  ๋•Œ selector์€ equality-based

โ‡’ ์š”์ฆ˜์€ ๋ ˆํ”Œ๋ฆฌ์นด์„ธํŠธ๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉ

Replicaset

  • ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ปจํŠธ๋กค๋Ÿฌ + set-based์˜ selector
  • selector ์—๋Š” in, notin, exists์ง€์›
  • kubectl์—์„œ rolling-update์‚ฌ์šฉ ๋ถˆ๊ฐ€, ํ•ด๋‹น ์˜ต์…˜์ด ํ•„์š”ํ• ๋–„๋Š” deployment ์‚ฌ์šฉ