์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ

Apigee Hybrid๋Š” ์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Kubernetes์—์„œ ์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Pod ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒˆ ์ธ์Šคํ„ด์Šค๋กœ ์ ์ง„์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ๋‹ค์šดํƒ€์ž„ ์—†์ด ๋ฐฐํฌ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ๋ฅผ ์ง€์›ํ•˜๋Š” ๊ตฌ์„ฑ์š”์†Œ

์žฌ์ •์˜ ํŒŒ์ผ์—์„œ ๋‹ค์Œ ๊ตฌ์„ฑ์š”์†Œ์˜ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ์— ๋Œ€ํ•œ ์†์„ฑ ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋ฉด revision ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์˜ํ–ฅ์„ ๋ฐ›๋Š” pod์— ์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ ค๊ณ  ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์‹ ํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • runtime
  • mart
  • udca
  • metrics
  • synchronizer

๋‹ค์Œ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ revision์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • nodeSelector.*
  • envs.*
  • imagePullSecrets.*
  • gcpProjectID(์ง€์› ์ค‘๋‹จ๋จ)
  • k8sClusterName(์ง€์› ์ค‘๋‹จ๋จ)
  • gcp.*
  • k8sCluster.*
  • contractProvider
  • org

์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•

์˜ˆ๋ฅผ ๋“ค์–ด ํ˜„์žฌ runtime ๋ฉ”๋ชจ๋ฆฌ๋ฅผ 1Gi์—์„œ 5Gi๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ตฌ์„ฑ์—์„œ revision์€ blue๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

...
revision: blue
...
runtime:
  replicaCountMin: 2
  replicaCountMax: 20
  resources:
    cpu: 1000m
    memory: 1Gi
...

์ƒˆ ๊ตฌ์„ฑ์—์„œ๋Š” revision์€ green์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋ฉฐ, ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์ ์šฉ๋  ๋•Œ ์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค๋Š” ์‹ ํ˜ธ๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. revision์œผ๋กœ ์„ค์ •ํ•œ ๊ฐ’์€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์ „ ๊ฐ’์—์„œ ๋‹ค๋ฅธ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ์›ํ•˜๋Š” ๋ฌธ์ž์—ด์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

...
revision: green
...
runtime:
  replicaCountMin: 2
  replicaCountMax: 20
  resources:
    cpu: 1000m
    memory: 5Gi
...

๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•  ๋•Œ -c ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • pod๋งŒ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

apigeectl apply -f my-overrides.yaml -c runtime

๋˜๋Š” -c๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ์žˆ๋Š” ๋ชจ๋“  pod๊ฐ€ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.