ํด๋Ÿฌ์Šคํ„ฐ ์ž๋™ ํ™•์žฅ


์ด ํŽ˜์ด์ง€์—์„œ๋Š” ํ‘œ์ค€ Google Kubernetes Engine(GKE) ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ž๋™ ํ™•์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ์ž๋™ ํ™•์žฅ ์ฒ˜๋ฆฌ์˜ ์ž‘๋™ ๋ฐฉ์‹์„ ์•Œ์•„๋ณด๋ ค๋ฉด ํด๋Ÿฌ์Šคํ„ฐ ์ž๋™ ํ™•์žฅ ์ฒ˜๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Autopilot ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋…ธ๋“œ ํ’€์ด ๋…ธ๋“œ ์ž๋™ ํ”„๋กœ๋น„์ €๋‹์„ ํ†ตํ•ด ์ž๋™์œผ๋กœ ํ”„๋กœ๋น„์ €๋‹๋˜๊ณ  ์›Œํฌ๋กœ๋“œ ์š”๊ตฌ์‚ฌํ•ญ์ด ์ถฉ์กฑ๋˜๋„๋ก ์ž๋™์œผ๋กœ ํ™•์žฅ๋˜๋ฏ€๋กœ ๋…ธ๋“œ ํ”„๋กœ๋น„์ €๋‹์ด๋‚˜ ๋…ธ๋“œ ํ’€ ๊ด€๋ฆฌ์— ์‹ ๊ฒฝ์„ ์“ฐ์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ์ž๋™ ํ™•์žฅ ์ฒ˜๋ฆฌ ์‚ฌ์šฉ

๋‹ค์Œ ์„น์…˜์—์„œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ž๋™ ํ™•์žฅ ์ฒ˜๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ

Google Cloud CLI ๋˜๋Š” Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud

์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด --enable-autoscaling ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  --min-nodes ๋ฐ --max-nodes๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

gcloud container clusters create CLUSTER_NAME \
    --enable-autoscaling \
    --num-nodes NUM_NODES \
    --min-nodes MIN_NODES \
    --max-nodes MAX_NODES \
    --location=CONTROL_PLANE_LOCATION

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • CLUSTER_NAME: ๋งŒ๋“ค ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด๋ฆ„
  • NUM_NODES: ๊ฐ ์œ„์น˜์—์„œ ๋งŒ๋“ค ๋…ธ๋“œ ์ˆ˜
  • MIN_NODES: ์˜์—ญ๋‹น ์ง€์ •๋œ ๋…ธ๋“œ ํ’€์—์„œ ์ž๋™์œผ๋กœ ํ™•์žฅ๋˜๋Š” ์ตœ์†Œ ๋…ธ๋“œ ์ˆ˜. GKE ๋ฒ„์ „ 1.24 ์ด์ƒ์—์„œ ์ „์ฒด ๋…ธ๋“œ ํ’€์˜ ์ตœ์†Œ ๋…ธ๋“œ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ ค๋ฉด --total-min-nodes๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. --total-min-nodes ๋ฐ --total-max-nodes ํ”Œ๋ž˜๊ทธ๋ฅผ --min-nodes ๋ฐ --max-nodes ํ”Œ๋ž˜๊ทธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • MAX_NODES: ์˜์—ญ๋‹น ์ง€์ •๋œ ๋…ธ๋“œ ํ’€์—์„œ ์ž๋™์œผ๋กœ ํ™•์žฅ๋˜๋Š” ์ตœ๋Œ€ ๋…ธ๋“œ ์ˆ˜. GKE ๋ฒ„์ „ 1.24 ์ด์ƒ์—์„œ ์ „์ฒด ๋…ธ๋“œ ํ’€์˜ ์ตœ๋Œ€ ๋…ธ๋“œ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ ค๋ฉด --total-max-nodes๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. --total-min-nodes ๋ฐ --total-max-nodes ํ”Œ๋ž˜๊ทธ๋ฅผ --min-nodes ๋ฐ --max-nodes ํ”Œ๋ž˜๊ทธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • CONTROL_PLANE_LOCATION: ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์— ๋Œ€ํ•œ Compute Engine ์œ„์น˜. ๋ฆฌ์ „ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ๋ฆฌ์ „ ๋˜๋Š” ์˜์—ญ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ์˜์—ญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ: ๋…ธ๋“œ ์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋˜๊ณ  ์ตœ์†Œ ๋ฐ ์ตœ๋Œ€ ๋…ธ๋“œ๊ฐ€ ์ง€์ •๋œ ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ

๋‹ค์Œ ๋ช…๋ น์–ด๋Š” ๋ฆฌ์ „์˜ 3๊ฐœ ์˜์—ญ์— ๊ฐ๊ฐ 30๊ฐœ์”ฉ ์ด 90๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ์ง€์ •๋œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋…ธ๋“œ ์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ ๋กœ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋…ธ๋“œ ์ˆ˜๋ฅผ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ ์ž๋™ ํ™•์žฅ ์ฒ˜๋ฆฌ๋Š” ๊ธฐ๋ณธ ๋…ธ๋“œ ํ’€ ํฌ๊ธฐ๋ฅผ ๋…ธ๋“œ 15๊ฐœ๋กœ ์ค„์ด๊ฑฐ๋‚˜ ๋…ธ๋“œ ํ’€์„ ์˜์—ญ๋‹น ์ตœ๋Œ€ 50๊ฐœ์˜ ๋…ธ๋“œ๋กœ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud container clusters create my-cluster --enable-autoscaling \
    --num-nodes=30 \
    --min-nodes=15 --max-nodes=50 \
    --location=us-central

์˜ˆ์‹œ: ๋…ธ๋“œ ์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋˜๊ณ  ์ด ๋…ธ๋“œ ์ˆ˜๊ฐ€ ์ง€์ •๋œ ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ

๋‹ค์Œ ๋ช…๋ น์–ด๋Š” ๋ฆฌ์ „์˜ 3๊ฐœ ์˜์—ญ์— ๊ฐ๊ฐ 10๊ฐœ์”ฉ ์ด 30๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ์ง€์ •๋œ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋…ธ๋“œ ์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ ๋กœ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋…ธ๋“œ ์ˆ˜๋ฅผ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์‹œ์—์„œ๋Š” ์˜์—ญ ๊ฐ„ ๋ถ„์‚ฐ์— ๊ด€๊ณ„์—†์ด ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด ํฌ๊ธฐ๊ฐ€ 10~60๊ฐœ ์‚ฌ์ด์˜ ๋…ธ๋“œ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud container clusters create my-cluster --enable-autoscaling \
    --num-nodes 10 \
    --location us-central1 \
    --total-min-nodes 10  --total-max-nodes 60

์ฝ˜์†”

๊ธฐ๋ณธ ๋…ธ๋“œ ํ’€์— ์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋œ ์ƒˆ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ๋งŒ๋“ค๊ธฐ๋กœ ์ด๋™

  2. ์›ํ•˜๋Š” ๋Œ€๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  3. ํƒ์ƒ‰์ฐฝ์˜ ๋…ธ๋“œ ํ’€์—์„œ default-pool์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ์ž๋™ ํ™•์žฅ ์‚ฌ์šฉ ์„ค์ • ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  5. ์ตœ์†Œ ๋…ธ๋“œ ์ˆ˜์™€ ์ตœ๋Œ€ ๋…ธ๋“œ ์ˆ˜ ํ•„๋“œ์˜ ๊ฐ’์„ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  6. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋…ธ๋“œ ํ’€ ์ถ”๊ฐ€

gcloud CLI ๋˜๋Š” Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋œ ๋…ธ๋“œ ํ’€์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud

์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋…ธ๋“œ ํ’€์„ ๊ธฐ์กด ํด๋Ÿฌ์Šคํ„ฐ์— ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

gcloud container node-pools create POOL_NAME \
    --cluster=CLUSTER_NAME \
    --enable-autoscaling \
    --min-nodes=MIN_NODES \
    --max-nodes=MAX_NODES \
    --location=CONTROL_PLANE_LOCATION

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • POOL_NAME: ์›ํ•˜๋Š” ๋…ธ๋“œ ํ’€์˜ ์ด๋ฆ„
  • CLUSTER_NAME: ๋…ธ๋“œ ํ’€์ด ์ƒ์„ฑ๋˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด๋ฆ„
  • MIN_NODES: ์˜์—ญ๋‹น ์ง€์ •๋œ ๋…ธ๋“œ ํ’€์—์„œ ์ž๋™์œผ๋กœ ํ™•์žฅ๋˜๋Š” ์ตœ์†Œ ๋…ธ๋“œ ์ˆ˜. GKE ๋ฒ„์ „ 1.24 ์ด์ƒ์—์„œ ์ „์ฒด ๋…ธ๋“œ ํ’€์˜ ์ตœ์†Œ ๋…ธ๋“œ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ ค๋ฉด --total-min-nodes๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. --total-min-nodes ๋ฐ --total-max-nodes ํ”Œ๋ž˜๊ทธ๋ฅผ --min-nodes ๋ฐ --max-nodes ํ”Œ๋ž˜๊ทธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • MAX_NODES: ์˜์—ญ๋‹น ์ง€์ •๋œ ๋…ธ๋“œ ํ’€์—์„œ ์ž๋™์œผ๋กœ ํ™•์žฅ๋˜๋Š” ์ตœ๋Œ€ ๋…ธ๋“œ ์ˆ˜. GKE ๋ฒ„์ „ 1.24 ์ด์ƒ์—์„œ ์ „์ฒด ๋…ธ๋“œ ํ’€์˜ ์ตœ๋Œ€ ๋…ธ๋“œ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ ค๋ฉด --total-max-nodes๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. --total-min-nodes ๋ฐ --total-max-nodes ํ”Œ๋ž˜๊ทธ๋ฅผ --min-nodes ๋ฐ --max-nodes ํ”Œ๋ž˜๊ทธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • CONTROL_PLANE_LOCATION: ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์— ๋Œ€ํ•œ Compute Engine ์œ„์น˜. ๋ฆฌ์ „ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ๋ฆฌ์ „ ๋˜๋Š” ์˜์—ญ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ์˜์—ญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์‹œ: ๋…ธ๋“œ ์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋œ ๋…ธ๋“œ ํ’€ ์ถ”๊ฐ€

๋‹ค์Œ ๋ช…๋ น์–ด๋Š” ๋…ธ๋“œ ํ’€์„ ์ตœ๋Œ€ 5๊ฐœ ๋…ธ๋“œ์™€ ์ตœ์†Œ 1๊ฐœ ๋…ธ๋“œ๋กœ ํ™•์žฅํ•˜๋Š” ๋…ธ๋“œ ์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋…ธ๋“œ ํ’€์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

gcloud container node-pools create my-node-pool \
    --cluster my-cluster \
    --enable-autoscaling \
    --min-nodes 1 --max-nodes 5 \
    --location us-central1-c

์ฝ˜์†”

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

  1. Google Cloud ์ฝ˜์†”์—์„œ Google Kubernetes Engine ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Google Kubernetes Engine์œผ๋กœ ์ด๋™

  2. ํด๋Ÿฌ์Šคํ„ฐ ๋ชฉ๋ก์—์„œ ์ˆ˜์ •ํ•˜๋ ค๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ๋…ธ๋“œ ํ’€ ์ถ”๊ฐ€๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋…ธ๋“œ ํ’€์„ ์›ํ•˜๋Š” ๋Œ€๋กœ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  5. ํฌ๊ธฐ์—์„œ ์ž๋™ ํ™•์žฅ ์‚ฌ์šฉ ์„ค์ • ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  6. ์ตœ์†Œ ๋…ธ๋“œ ์ˆ˜์™€ ์ตœ๋Œ€ ๋…ธ๋“œ ์ˆ˜ ํ•„๋“œ์˜ ๊ฐ’์„ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  7. ๋งŒ๋“ค๊ธฐ๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ๋…ธ๋“œ ํ’€์˜ ์ž๋™ ํ™•์žฅ ์‚ฌ์šฉ ์„ค์ •

gcloud CLI ๋˜๋Š” Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋…ธ๋“œ ํ’€์˜ ์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud

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

gcloud container clusters update CLUSTER_NAME \
    --enable-autoscaling \
    --node-pool=POOL_NAME \
    --min-nodes=MIN_NODES \
    --max-nodes=MAX_NODES \
    --location=CONTROL_PLANE_LOCATION

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • CLUSTER_NAME: ์—…๋ฐ์ดํŠธํ•  ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด๋ฆ„
  • POOL_NAME: ์›ํ•˜๋Š” ๋…ธ๋“œ ํ’€์˜ ์ด๋ฆ„. ๋…ธ๋“œ ํ’€์ด ํ•˜๋‚˜๋ฟ์ด๋ฉด default-pool์„ ๊ฐ’์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • MIN_NODES: ์˜์—ญ๋‹น ์ง€์ •๋œ ๋…ธ๋“œ ํ’€์—์„œ ์ž๋™์œผ๋กœ ํ™•์žฅ๋˜๋Š” ์ตœ์†Œ ๋…ธ๋“œ ์ˆ˜. GKE ๋ฒ„์ „ 1.24 ์ด์ƒ์—์„œ ์ „์ฒด ๋…ธ๋“œ ํ’€์˜ ์ตœ์†Œ ๋…ธ๋“œ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ ค๋ฉด --total-min-nodes๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. --total-min-nodes ๋ฐ --total-max-nodes ํ”Œ๋ž˜๊ทธ๋ฅผ --min-nodes ๋ฐ --max-nodes ํ”Œ๋ž˜๊ทธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • MAX_NODES: ์˜์—ญ๋‹น ์ง€์ •๋œ ๋…ธ๋“œ ํ’€์—์„œ ์ž๋™์œผ๋กœ ํ™•์žฅ๋˜๋Š” ์ตœ๋Œ€ ๋…ธ๋“œ ์ˆ˜. GKE ๋ฒ„์ „ 1.24 ์ด์ƒ์—์„œ ์ „์ฒด ๋…ธ๋“œ ํ’€์˜ ์ตœ๋Œ€ ๋…ธ๋“œ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋ ค๋ฉด --total-max-nodes๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. --total-min-nodes ๋ฐ --total-max-nodes ํ”Œ๋ž˜๊ทธ๋ฅผ --min-nodes ๋ฐ --max-nodes ํ”Œ๋ž˜๊ทธ์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  • CONTROL_PLANE_LOCATION: ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์— ๋Œ€ํ•œ Compute Engine ์œ„์น˜. ๋ฆฌ์ „ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ๋ฆฌ์ „ ๋˜๋Š” ์˜์—ญ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ์˜์—ญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

๊ธฐ์กด ๋…ธ๋“œ ํ’€์— ์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ Google Kubernetes Engine ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Google Kubernetes Engine์œผ๋กœ ์ด๋™

  2. ํด๋Ÿฌ์Šคํ„ฐ ๋ชฉ๋ก์—์„œ ์ˆ˜์ •ํ•˜๋ ค๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ๋…ธ๋“œ ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋…ธ๋“œ ํ’€ ์•„๋ž˜์—์„œ ์ˆ˜์ •ํ•  ๋…ธ๋“œ ํ’€์˜ ์ด๋ฆ„์„ ํด๋ฆญํ•œ ๋‹ค์Œ ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ํฌ๊ธฐ์—์„œ ์ž๋™ ํ™•์žฅ ์‚ฌ์šฉ ์„ค์ • ์ฒดํฌ๋ฐ•์Šค๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  6. ์ตœ์†Œ ๋…ธ๋“œ ์ˆ˜์™€ ์ตœ๋Œ€ ๋…ธ๋“œ ์ˆ˜ ํ•„๋“œ์˜ ๊ฐ’์„ ์›ํ•˜๋Š” ๋Œ€๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  7. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด ๋…ธ๋“œ ํ’€์˜ ์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ Google Cloud CLI ๋˜๋Š” Google Cloud ์ฝ˜์†”๋กœ ์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉ ์ค‘์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

gcloud

ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋…ธ๋“œ ํ’€์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

gcloud container node-pools describe NODE_POOL_NAME --cluster=CLUSTER_NAME |grep autoscaling -A 1

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • POOL_NAME: ์„ ํƒํ•œ ์ƒˆ ๋…ธ๋“œ ํ’€์˜ ์ด๋ฆ„
  • CLUSTER_NAME: ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด๋ฆ„

์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋œ ๊ฒฝ์šฐ ์ถœ๋ ฅ์ด ๋‹ค์Œ๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค.

autoscaling:
  enabled: true

์ฝ˜์†”

  1. Google Cloud ์ฝ˜์†”์—์„œ Google Kubernetes Engine ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Google Kubernetes Engine์œผ๋กœ ์ด๋™

  2. ํด๋Ÿฌ์Šคํ„ฐ ๋ชฉ๋ก์—์„œ ํ™•์ธํ•  ํด๋Ÿฌ์Šคํ„ฐ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ๋…ธ๋“œ ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋…ธ๋“œ ํ’€์—์„œ ๋…ธ๋“œ ํ’€ Autoscalling ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ์˜ˆ์•ฝ์˜ ์ตœ์ ํ™”์— ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋‘๋Š” ๋…ธ๋“œ ํ’€ ๋งŒ๋“ค๊ธฐ

๋…ธ๋“œ ํ’€์„ ๋งŒ๋“ค ๋•Œ --location_policy=ANY ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ ์ž๋™ ํ™•์žฅ ์ฒ˜๋ฆฌ์— ์‚ฌ์šฉ๋˜์ง€ ์•Š์€ ์˜ˆ์•ฝ์˜ ์‚ฌ์šฉ๋ฅ ์— ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋‘๋„๋ก ์ง€์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud container node-pools create POOL_NAME \
    --cluster=CLUSTER_NAME \
    --location_policy=ANY

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • POOL_NAME: ์„ ํƒํ•œ ์ƒˆ ๋…ธ๋“œ ํ’€์˜ ์ด๋ฆ„
  • CLUSTER_NAME: ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด๋ฆ„

๊ธฐ์กด ๋…ธ๋“œ ํ’€์˜ ์ž๋™ ํ™•์žฅ ์‚ฌ์šฉ ์ค‘์ง€

gcloud CLI ๋˜๋Š” Google Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ์กด ๋…ธ๋“œ ํ’€์˜ ์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

gcloud

ํŠน์ • ๋…ธ๋“œ ํ’€์˜ ์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๋ ค๋ฉด --no-enable-autoscaling ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

gcloud container clusters update CLUSTER_NAME \
    --no-enable-autoscaling \
    --node-pool=POOL_NAME \
    --location=CONTROL_PLANE_LOCATION

๋‹ค์Œ์„ ๋ฐ”๊ฟ‰๋‹ˆ๋‹ค.

  • CLUSTER_NAME: ์—…๋ฐ์ดํŠธํ•  ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด๋ฆ„
  • POOL_NAME: ์›ํ•˜๋Š” ๋…ธ๋“œ ํ’€์˜ ์ด๋ฆ„
  • CONTROL_PLANE_LOCATION: ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์— ๋Œ€ํ•œ Compute Engine ์œ„์น˜. ๋ฆฌ์ „ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ๋ฆฌ์ „ ๋˜๋Š” ์˜์—ญ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ์˜์—ญ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ํฌ๊ธฐ๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ํ˜„์žฌ ๊ธฐ๋ณธ ๋…ธ๋“œ ํ’€ ํฌ๊ธฐ๋กœ ๊ณ ์ •๋˜์–ด ์žˆ์œผ๋ฉฐ ์ˆ˜๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ฝ˜์†”

ํŠน์ • ๋…ธ๋“œ ํ’€์˜ ์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์•ˆ๋‚ด๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

  1. Google Cloud ์ฝ˜์†”์—์„œ Google Kubernetes Engine ํŽ˜์ด์ง€๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

    Google Kubernetes Engine์œผ๋กœ ์ด๋™

  2. ํด๋Ÿฌ์Šคํ„ฐ ๋ชฉ๋ก์—์„œ ์ˆ˜์ •ํ•˜๋ ค๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ด๋ฆ„์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  3. ๋…ธ๋“œ ํƒญ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  4. ๋…ธ๋“œ ํ’€ ์•„๋ž˜์—์„œ ์ˆ˜์ •ํ•  ๋…ธ๋“œ ํ’€์˜ ์ด๋ฆ„์„ ํด๋ฆญํ•œ ๋‹ค์Œ ์ˆ˜์ •์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  5. ํฌ๊ธฐ์—์„œ ์ž๋™ ํ™•์žฅ ์‚ฌ์šฉ ์„ค์ • ์ฒดํฌ๋ฐ•์Šค์˜ ์„ ํƒ์„ ์ทจ์†Œํ•ฉ๋‹ˆ๋‹ค.

  6. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๋…ธ๋“œ ํ’€ ํฌ๊ธฐ ์กฐ์ •

์ž๋™ ํ™•์žฅ์ด ์‚ฌ์šฉ ์„ค์ •๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ํด๋Ÿฌ์Šคํ„ฐ ์ž๋™ ํ™•์žฅ ์ฒ˜๋ฆฌ๊ฐ€ ์ตœ์†Œ ํฌ๊ธฐ(--min-nodes) ๋ฐ ์ตœ๋Œ€ ํฌ๊ธฐ(--max-nodes) ๊ฐ’ ๋˜๋Š” ์ตœ์†Œ ์ด ํฌ๊ธฐ(--total-min-nodes) ๋ฐ ์ตœ๋Œ€ ์ด ํฌ๊ธฐ(--total-max-nodes)๋กœ ์ง€์ •๋œ ๊ฒฝ๊ณ„ ๋‚ด์—์„œ ๋…ธ๋“œ ํ’€์˜ ํฌ๊ธฐ๋ฅผ ์ž๋™์œผ๋กœ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”Œ๋ž˜๊ทธ๋“ค์€ ์ƒํ˜ธ ๋ฐฐํƒ€์ ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜์—ฌ ๋…ธ๋“œ ํ’€์˜ ํฌ๊ธฐ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉ ์„ค์ •ํ•œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋…ธ๋“œ ํ’€ ํฌ๊ธฐ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์กฐ์ ˆํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  1. ๋…ธ๋“œ ํ’€์˜ ์ž๋™ ํ™•์žฅ์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ˆ˜๋™์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ ํฌ๊ธฐ๋ฅผ ์กฐ์ ˆํ•ฉ๋‹ˆ๋‹ค.
  3. ์ž๋™ ํ™•์žฅ์„ ๋‹ค์‹œ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ณ  ์ตœ์†Œ ๋ฐ ์ตœ๋Œ€ ๋…ธ๋“œ ํ’€ ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์„ ํƒํ•œ ๋…ธ๋“œ์—์„œ ํฌ๋“œ ์˜ˆ์•ฝ ๋ฐฉ์ง€

์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋”ฐ๋ผ startup ๋˜๋Š” status taint๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ํƒํ•œ ๋…ธ๋“œ์—์„œ ํฌ๋“œ ์˜ˆ์•ฝ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ๋ฒ„์ „ 1.28 ์ด์ƒ์˜ GKE์—์„œ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ taint

๋…ธ๋“œ์—์„œ ํฌ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์™„๋ฃŒํ•ด์•ผ ํ•˜๋Š” ์ž‘์—…์ด ์žˆ์œผ๋ฉด startup taint๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋…ธ๋“œ์˜ ๋“œ๋ผ์ด๋ฒ„ ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ํฌ๋“œ๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ ์ž๋™ ํ™•์žฅ ์ฒ˜๋ฆฌ๋Š” startup taint๋กœ taint๋œ ๋…ธ๋“œ๋ฅผ ์ค€๋น„๋˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ์ทจ๊ธ‰ํ•˜์ง€๋งŒ, ๊ณง ํ™•์žฅ๋  ๊ฒƒ์œผ๋กœ ๊ฐ€์ •ํ•˜์—ฌ ํ™•์žฅ ๋กœ์ง์—์„œ ์ด๋ฅผ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ taint๋Š” ํ”„๋ฆฌํ”ฝ์Šค๊ฐ€ startup-taint.cluster-autoscaler.kubernetes.io/์ธ ๋ชจ๋“  taint๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค.

์ƒํƒœ taint

GKE๊ฐ€ ์ง€์ •๋œ ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๋“œ๋ฅผ ์‹คํ–‰ํ•ด์„œ๋Š” ์•ˆ ๋˜๋Š” ๊ฒฝ์šฐ์—๋Š” status taint๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

ํด๋Ÿฌ์Šคํ„ฐ ์ž๋™ ํ™•์žฅ ์ฒ˜๋ฆฌ๋Š” status taint๊ฐ€ ์žˆ๋Š” ๋…ธ๋“œ๋ฅผ ์ค€๋น„๋œ ๊ฒƒ์œผ๋กœ ์ทจ๊ธ‰ํ•˜์ง€๋งŒ ํ™•์žฅ ๋…ผ๋ฆฌ ์ค‘ ์ด๋ฅผ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. taint ๋…ธ๋“œ๊ฐ€ ์ค€๋น„๋˜์–ด ์žˆ๋”๋ผ๋„ ํฌ๋“œ๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํฌ๋“œ์— ๋” ๋งŽ์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ GKE๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ™•์žฅํ•˜๊ณ  taint ๋…ธ๋“œ๋ฅผ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ƒํƒœ taint๋Š” ํ”„๋ฆฌํ”ฝ์Šค๊ฐ€ status-taint.cluster-autoscaler.kubernetes.io/์ธ ๋ชจ๋“  taint๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค.

๋ฌด์‹œ taint

๋ฌด์‹œ taint๋Š” ํ”„๋ฆฌํ”ฝ์Šค๊ฐ€ ignore-taint.cluster-autoscaler.kubernetes.io/์ธ ๋ชจ๋“  taint๋กœ ์ •์˜๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ ํ•ด๊ฒฐ

๋ฌธ์ œ ํ•ด๊ฒฐ ๋„์›€๋ง์€ ๋‹ค์Œ ํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

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