๋…ธ๋“œ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต ๊ตฌ์„ฑ


ํ”Œ๋žซํผ ๊ด€๋ฆฌ์ž๋Š” ๋…ธ๋“œ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต์„ ๊ตฌ์„ฑํ•˜์—ฌ GKE๊ฐ€ Google Kubernetes Engine(GKE) ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋…ธ๋“œ๋ฅผ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋…ธ๋“œ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋…ธ๋“œ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋‹ค์Œ ํƒœ์Šคํฌ๋ฅผ ์ˆ˜ํ–‰ํ–ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  • Google Kubernetes Engine API๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • Google Kubernetes Engine API ์‚ฌ์šฉ ์„ค์ •
  • ์ด ํƒœ์Šคํฌ์— Google Cloud CLI๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด gcloud CLI๋ฅผ ์„ค์น˜ํ•œ ํ›„ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์— gcloud CLI๋ฅผ ์„ค์น˜ํ•œ ๊ฒฝ์šฐ gcloud components update๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ตœ์‹  ๋ฒ„์ „์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

๋…ธ๋“œ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต ๊ตฌ์„ฑ

ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋…ธ๋“œ๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ ์ง€์›๋˜๋Š” ๋…ธ๋“œ ํ’€ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต, ์ด๋ฆ„ํ•˜์—ฌ ์ผ์‹œ ๊ธ‰์ฆ ๋˜๋Š” ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๊ณ  ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต์„ ์‚ฌ์šฉํ•˜๋ฉด ํด๋Ÿฌ์Šคํ„ฐ ํ™˜๊ฒฝ์˜ ๋‹ˆ์ฆˆ์— ๋”ฐ๋ผ ๋…ธ๋“œ ํ’€ ์—…๊ทธ๋ ˆ์ด๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ตฌ์„ฑ

์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด GKE ์—…๊ทธ๋ ˆ์ด๋“œ ๋…ธ๋“œ ์ˆ˜๋ฅผ ํ•œ ๋ฒˆ์— ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ณ  ์—…๊ทธ๋ ˆ์ด๋“œ๋กœ ์ธํ•œ ์›Œํฌ๋กœ๋“œ ์ค‘๋‹จ ๊ธฐ๊ฐ„์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

max-surge-upgrade ๋ฐ max-unavailable-upgrade ํ”Œ๋ž˜๊ทธ๋Š” ๊ฐ ๋…ธ๋“œ ํ’€์— ์ •์˜๋ฉ๋‹ˆ๋‹ค. ์˜ฌ๋ฐ”๋ฅธ ํŒŒ๋ผ๋ฏธํ„ฐ ์„ ํƒ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ตฌ์„ฑ ์ตœ์ ํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ด ์„ค์ •์€ ํด๋Ÿฌ์Šคํ„ฐ ๋˜๋Š” ๋…ธ๋“œ ํ’€์„ ๋งŒ๋“ค๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋ž˜ ๋ช…๋ น์–ด์— ์‚ฌ์šฉ๋˜๋Š” ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • CLUSTER_NAME: ๋…ธ๋“œ ํ’€์˜ ํด๋Ÿฌ์Šคํ„ฐ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • COMPUTE_ZONE: ํด๋Ÿฌ์Šคํ„ฐ์˜ ์˜์—ญ์ž…๋‹ˆ๋‹ค.
  • NODE_POOL_NAME: ๋…ธ๋“œ ํ’€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • NUMBER_NODES: ๊ฐ ํด๋Ÿฌ์Šคํ„ฐ ์˜์—ญ์˜ ๋…ธ๋“œ ํ’€์— ์žˆ๋Š” ๋…ธ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • SURGE_NODES: ๋…ธ๋“œ ํ’€์˜ ๊ฐ ์—…๊ทธ๋ ˆ์ด๋“œ์—์„œ ์ƒ์„ฑ๋  ์ถ”๊ฐ€(์ผ์‹œ ๊ธ‰์ฆ) ๋…ธ๋“œ์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • UNAVAILABLE_NODES: ๋…ธ๋“œ ํ’€์˜ ๊ฐ ์—…๊ทธ๋ ˆ์ด๋“œ์—์„œ ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š” ๋…ธ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค.

ํŠน์ • ์ผ์‹œ ๊ธ‰์ฆ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ

์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ์— ๋Œ€ํ•œ ํŠน์ • ์„ค์ •์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด max-surge-upgrade ๋ฐ max-unavailable-upgrade ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud container clusters create CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์‚ฌ์šฉ ์ค‘์ง€๋œ ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ

์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์—†๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด max-surge-upgrade ํ”Œ๋ž˜๊ทธ ๊ฐ’์„ 0์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

gcloud container clusters create CLUSTER_NAME \
    --max-surge-upgrade=0 --max-unavailable-upgrade=1

ํŠน์ • ์ผ์‹œ ๊ธ‰์ฆ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋…ธ๋“œ ํ’€ ๋งŒ๋“ค๊ธฐ

๊ธฐ์กด ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ์— ๋Œ€ํ•œ ํŠน์ • ์„ค์ •์œผ๋กœ ๋…ธ๋“œ ํ’€์„ ๋งŒ๋“ค๋ ค๋ฉด max-surge-upgrade ๋ฐ max-unavailable-upgrade ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud container node-pools create NODE_POOL_NAME \
    --num-nodes=NUMBER_NODES --cluster=CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

๊ธฐ์กด ๋…ธ๋“œ ํ’€์˜ ์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ ์„ค์ • ๋ณ€๊ฒฝ

๊ธฐ์กด ๋…ธ๋“œ ํ’€์˜ ์—…๊ทธ๋ ˆ์ด๋“œ ์„ค์ •์„ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด max-surge-upgrade ๋ฐ max-unavailable-upgrade ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. max-surge-upgrade๋ฅผ 0๋ณด๋‹ค ํฐ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜๋ฉด GKE๊ฐ€ ์ผ์‹œ ๊ธ‰์ฆ ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. max-surge-upgrade๋ฅผ 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด GKE๊ฐ€ ์ผ์‹œ ๊ธ‰์ฆ ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --max-surge-upgrade=SURGE_NODES --max-unavailable-upgrade=UNAVAILABLE_NODES

๋…ธ๋“œ ํ’€์—์„œ ์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธ

๋…ธ๋“œ ํ’€์—์„œ ์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๋ ค๋ฉด gcloud๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

gcloud container node-pools describe NODE_POOL_NAME \
    --cluster=CLUSTER_NAME

๋…ธ๋“œ ํ’€์—์„œ ์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋œ ๊ฒฝ์šฐ ๋‚˜์—ด๋œ ์ „๋žต์€ SURGE์ž…๋‹ˆ๋‹ค.

๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ตฌ์„ฑ

๋ธ”๋ฃจ/๊ทธ๋ฆฐ ๋…ธ๋“œ ํ’€ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • BATCH_NODE_COUNT ๋˜๋Š” BATCH_PERCENT: GKE๊ฐ€ ํ•œ ๋ฒˆ์— ๋“œ๋ ˆ์ด๋‹ํ•˜๋Š” ๋…ธ๋“œ์˜ ๋ฐฐ์น˜ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํฌ๋“œ๊ฐ€ ๋…ธ๋“œ์—์„œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ BATCH_NODE_COUNT=1์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ค์ • ์ค‘ ํ•˜๋‚˜๊ฐ€ 0์œผ๋กœ ์„ค์ •๋˜๋ฉด GKE๋Š” ์ด ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋…ธ๋“œ ํ’€ ์ ์‘ ๋‹จ๊ณ„๋กœ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • BATCH_SOAK_DURATION: ๋“œ๋ ˆ์ด๋‹ํ•˜๋Š” ๋…ธ๋“œ์˜ ๊ฐ ๋ฐฐ์น˜ ์‚ฌ์ด์˜ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.
  • NODE_POOL_SOAK_DURATION: ์ƒˆ ๋…ธ๋“œ ๊ตฌ์„ฑ์—์„œ ์›Œํฌ๋กœ๋“œ๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์ ์‘ ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ ๋‹จ๊ณ„์˜ ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ ๋‹จ๊ณ„๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ์„น์…˜์— ๋‚˜์—ด๋œ ๋ช…๋ น์—๋Š” ๋‹ค์Œ ๋ณ€์ˆ˜๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • CLUSTER_NAME: ๋…ธ๋“œ ํ’€์˜ ํด๋Ÿฌ์Šคํ„ฐ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • NODE_POOL_NAME: ๋…ธ๋“œ ํ’€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.
  • NUMBER_NODES: ๊ฐ ํด๋Ÿฌ์Šคํ„ฐ ์˜์—ญ์˜ ๋…ธ๋“œ ํ’€์— ์žˆ๋Š” ๋…ธ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • BATCH_NODE_COUNT: ๋ธ”๋ฃจ ํ’€ ๋“œ๋ ˆ์ด๋‹ ๋‹จ๊ณ„ ์ค‘ ์ผ๊ด„ ์ฒ˜๋ฆฌ์—์„œ ๋“œ๋ ˆ์ด๋‹ํ•  ๋ธ”๋ฃจ ๋…ธ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค. 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ธ”๋ฃจ ํ’€ ๋“œ๋ ˆ์ด๋‹ ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.
  • BATCH_PERCENT: ๋ธ”๋ฃจ ํ’€ ๋“œ๋ ˆ์ด๋‹ ๋‹จ๊ณ„ ์ค‘์— ์ผ๊ด„๋กœ ๋“œ๋ ˆ์ด๋‹ํ•  ๋ธ”๋ฃจ ๋…ธ๋“œ์˜ ๋น„์œจ๋กœ, 0์—์„œ 1 ์‚ฌ์ด์˜ ์‹ญ์ง„์ˆ˜๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋ฐฑ๋ถ„์œจ์ด ๋…ธ๋“œ์˜ ์ •์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ฉด GKE๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ๋…ธ๋“œ๋ถ€ํ„ฐ ์ตœ์†Ÿ๊ฐ’ ๋…ธ๋“œ 1๊ฐœ๋กœ ๋‚ด๋ฆผํ•ฉ๋‹ˆ๋‹ค. 0์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋ธ”๋ฃจ ํ’€ ๋“œ๋ ˆ์ด๋‹ ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.
  • BATCH_SOAK_DURATION: ๊ฐ ์ผ๊ด„ ๋“œ๋ ˆ์ด๋‹ ์ดํ›„ ๋Œ€๊ธฐํ•  ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 0์ž…๋‹ˆ๋‹ค.
  • NODE_POOL_SOAK_DURATION: ๋ชจ๋“  ์ผ๊ด„ ์ฒ˜๋ฆฌ์˜ ๋“œ๋ ˆ์ด๋‹์„ ์™„๋ฃŒํ•œ ํ›„ ๋Œ€๊ธฐํ•  ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 3,600์ดˆ์ž…๋‹ˆ๋‹ค.

๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต์œผ๋กœ ๋…ธ๋“œ ํ’€ ๋งŒ๋“ค๊ธฐ

๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋…ธ๋“œ ํ’€ ๋งŒ๋“ค๊ธฐ

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

gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade

์ ˆ๋Œ€ ๋…ธ๋“œ ์ˆ˜ ๋ฐฐ์น˜ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ๋กœ ๋…ธ๋“œ ํ’€ ๋งŒ๋“ค๊ธฐ

์ปค์Šคํ…€ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ ์„ค์ •์œผ๋กœ ๋…ธ๋“œ ํ’€์„ ๋งŒ๋“ค๋ ค๋ฉด ๋…ธ๋“œ ํ’€ ๋งŒ๋“ค๊ธฐ ๋ช…๋ น์–ด์™€ ํ•จ๊ป˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

  • BATCH_NODE_COUNT = 2
  • BATCH_SOAK_DURATION = 10์ดˆ
  • NODE_POOL_SOAK_DURATION = 600์ดˆ
gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
    --node-pool-soak-duration=600s

๋ฐฑ๋ถ„์œจ ๊ธฐ๋ฐ˜ ๋ฐฐ์น˜ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ๋กœ ๋…ธ๋“œ ํ’€ ๋งŒ๋“ค๊ธฐ

์ด ๋ช…๋ น์–ด๋Š” ์ผ๊ด„ ๋“œ๋ ˆ์ด๋‹ ๋ฐฑ๋ถ„์œจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋งž์ถค์„ค์ •๋œ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ๊ตฌ์„ฑ์œผ๋กœ ๋…ธ๋“œ ํ’€์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  • BATCH_PERCENTAGE = ๋…ธ๋“œ ํ’€ ํฌ๊ธฐ์˜ 25%
  • BATCH_SOAK_DURATION = 10์ดˆ
  • NODE_POOL_SOAK_DURATION = 1800์ดˆ
gcloud container node-pools create NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
    --node-pool-soak-duration=1800s

๊ธฐ์กด ๋…ธ๋“œ ํ’€ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต ์—…๋ฐ์ดํŠธ

๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ ๊ธฐ๋ณธ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋…ธ๋“œ ํ’€ ์—…๋ฐ์ดํŠธ

๊ธฐ์กด ๋…ธ๋“œ ํ’€์„ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade

์ ˆ๋Œ€ ๋…ธ๋“œ ์ˆ˜ ๋ฐฐ์น˜ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ๋กœ ๋…ธ๋“œ ํ’€ ์—…๋ฐ์ดํŠธ

๊ธฐ์กด ๋…ธ๋“œ ํ’€์„ ์ปค์Šคํ…€ ์„ค์ •์œผ๋กœ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋ ค๋ฉด ๋…ธ๋“œ ํ’€ ๋งŒ๋“ค๊ธฐ ๋ช…๋ น์–ด์™€ ํ•จ๊ป˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ช…๋ น์–ด๋Š” ์ผ๊ด„ ๋“œ๋ ˆ์ด๋‹์˜ ์ ˆ๋Œ€ ๋…ธ๋“œ ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋งž์ถค์„ค์ •๋œ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ๊ตฌ์„ฑ์„ ์‚ฌ์šฉํ•˜๋„๋ก ๋…ธ๋“œ ํ’€์„ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

  • BATCH_NODE_COUNT = 2
  • BATCH_SOAK_DURATION = 10์ดˆ
  • NODE_POOL_SOAK_DURATION = 600์ดˆ
gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-node-count=2,batch-soak-duration=10s \
    --node-pool-soak-duration=600s

๋ฐฑ๋ถ„์œจ ๊ธฐ๋ฐ˜ ๋ฐฐ์น˜ ํฌ๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ๋กœ ๋…ธ๋“œ ํ’€ ์—…๋ฐ์ดํŠธ

์ด ๋ช…๋ น์–ด๋Š” ์ผ๊ด„ ๋“œ๋ ˆ์ด๋‹ ๋ฐฑ๋ถ„์œจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋งž์ถค์„ค์ •๋œ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ๊ตฌ์„ฑ์œผ๋กœ ๋…ธ๋“œ ํ’€์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

  • BATCH_PERCENTAGE = ๋…ธ๋“œ ํ’€ ํฌ๊ธฐ์˜ 25%
  • BATCH_SOAK_DURATION = 10์ดˆ
  • NODE_POOL_SOAK_DURATION = 1800์ดˆ
gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-blue-green-upgrade \
    --standard-rollout-policy=batch-percent=0.25,batch-soak-duration=10s \
    --node-pool-soak-duration=1800s

์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ๋กœ ๋‹ค์‹œ ์ „ํ™˜

์„ค์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ์˜ ๋™์ž‘์„ ๋ณ€๊ฒฝํ•˜๊ณ  ๋ช…๋ น์–ด๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋Œ€์‹  ์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ๋กœ ๋‹ค์‹œ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

gcloud container node-pools update NODE_POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-surge-upgrade

๋…ธ๋“œ ํ’€์˜ ์—…๊ทธ๋ ˆ์ด๋“œ ์„ค์ • ๊ฒ€์‚ฌ

๋…ธ๋“œ ํ’€์˜ ํ˜„์žฌ ์—…๊ทธ๋ ˆ์ด๋“œ ์„ค์ •์„ ๊ฒ€์‚ฌํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋…ธ๋“œ ํ’€์„ ์„ค๋ช…ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

gcloud container node-pools describe NODE_POOL_NAME \
    --cluster=CLUSTER_NAME

๋‹ค์Œ ์Šค๋‹ˆํŽซ์€ ๋ช…๋ น์–ด์˜ ์ถœ๋ ฅ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. strategy ํ•„๋“œ๋Š” ์‚ฌ์šฉ ์ค‘์ธ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. SURGE๋Š” ์ผ์‹œ ๊ธ‰์ฆ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ด๊ณ  BLUE_GREEN์€ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ ์ „๋žต์ด ์‚ฌ์šฉ ์„ค์ •๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

upgradeSettings:
  blueGreenSettings:
    nodePoolSoakDuration: 1800s
    standardRolloutPolicy:
      batchNodeCount: 1
      batchSoakDuration: 10s
  strategy: BLUE_GREEN

์ด ๋ช…๋ น์–ด๋Š” ์ง„ํ–‰ ์ค‘์ธ ๋ธ”๋ฃจ/๊ทธ๋ฆฐ ์—…๊ทธ๋ ˆ์ด๋“œ์˜ ํ˜„์žฌ ๋‹จ๊ณ„๋„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๋…ธ๋“œ ํ’€์˜ ์—…๊ทธ๋ ˆ์ด๋“œ ์„ค์ • ํ™•์ธ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ

๋‹ค์Œ ๋‹จ๊ณ„