๊ตฌ์„ฑ ์†์„ฑ ์ฐธ์กฐ

์ด ์„น์…˜์—๋Š” Apigee Hybrid ๋ฐฐํฌ์˜ ๋Ÿฐํƒ€์ž„ ์˜์—ญ์„ ๋งž์ถค์„ค์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๊ตฌ์„ฑ ์†์„ฑ์ด ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€ ํ•„ํ„ฐ๋ง

์ด ํŽ˜์ด์ง€์— ํ‘œ์‹œ๋œ ์†์„ฑ์„ ํ•„ํ„ฐ๋งํ•˜๋ ค๋ฉด ๊ธฐ๋ณธ(๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์†์„ฑ) ๋˜๋Š” ๊ณ ๊ธ‰(๋ณ€๊ฒฝ์ด ๊ฑฐ์˜ ํ•„์š”ํ•˜์ง€ ์•Š์€ ์†์„ฑ)์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

ํ‘œ์‹œ   ์ด ํŽ˜์ด์ง€์˜ ๊ตฌ์„ฑ ์†์„ฑ

์ตœ์ƒ์œ„ ์†์„ฑ

๋‹ค์Œ ํ‘œ์—์„œ๋Š” overrides.yaml ํŒŒ์ผ์˜ ์ตœ์ƒ์œ„ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„ ์†์„ฑ์€ ๋‹ค๋ฅธ ๊ฐ์ฒด์— ์†ํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์กฐ์ง ๋˜๋Š” ํ™˜๊ฒฝ ์ˆ˜์ค€์—์„œ ์ ์šฉ๋˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
axHashSalt ๊ณ ๊ธ‰

๋„์ž…๋œ ๋ฒ„์ „: 1.3.0

๊ธฐ๋ณธ๊ฐ’: iloveapis123

์„ ํƒ์‚ฌํ•ญ

์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ Apigee ๋ถ„์„์œผ๋กœ ๋ณด๋‚ด๊ธฐ ์ „์— ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ๋‚œ๋…ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํ•ด์‹œ ๊ณ„์‚ฐ ์‹œ ์‚ฌ์šฉ๋œ ์†”ํŠธ๋ฅผ ํฌํ•จํ•˜๋Š” Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์†”ํŠธ ๊ฐ’์„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด iloveapis123์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์†”ํŠธ ๊ฐ’์„ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ณด์•ˆ ๋น„๋ฐ€์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํด๋Ÿฌ์Šคํ„ฐ์— ๋™์ผํ•œ ์†”ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ ๊ฐ„์— ์ผ๊ด€๋œ ํ•ด์‹ฑ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Apigee๋Š” ๋Ÿฐํƒ€์ž„ ์˜์—ญ์—์„œ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๊ธฐ ์ „์— ์›๋ž˜ ๊ฐ’์„ SHA512๋กœ ํ•ด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ: ๋ถ„์„์„ ์œ„ํ•œ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ ๋‚œ๋…ํ™”

contractProvider ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: https://apigee.googleapis.com

์„ค์น˜ ์‹œ ๋ชจ๋“  API์˜ API ๊ฒฝ๋กœ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„ค์น˜์—์„œ ๋‹ค์Œ ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ ์ƒ์ฃผ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

contractProvider: https://CONTROL_PLANE_LOCATION-apigee.googleapis.com

์—ฌ๊ธฐ์„œ CONTROL_PLANE_LOCATION์€ ํ”„๋ก์‹œ ๋ฒˆ๋“ค๊ณผ ๊ฐ™์€ ์ œ์–ด ์˜์—ญ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜๋Š” ์œ„์น˜์ž…๋‹ˆ๋‹ค. ๋ชฉ๋ก์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ Apigee API ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ ๋ฆฌ์ „์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

contractProvider: https://us-apigee.googleapis.com
gcpProjectID ๊ณ ๊ธ‰ Deprecated: v1.2.0 ์ด์ƒ์—์„œ๋Š” gcp.projectID๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: none

ํ•„์ˆ˜

Google Cloud ํ”„๋กœ์ ํŠธ์˜ ID์ž…๋‹ˆ๋‹ค. k8sClusterName(์ง€์› ์ค‘๋‹จ๋จ) ๋ฐ gcpRegion(์ง€์› ์ค‘๋‹จ๋จ)์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  apigee-logger์™€ apigee-metrics๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘ธ์‹œํ•  ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

gcpRegion ๊ณ ๊ธ‰ Deprecated: v1.2.0 ์ด์ƒ์—์„œ๋Š” gcp.region๋ฅผ ๋Œ€์‹  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: us-central1

ํ•„์ˆ˜

Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด Google Cloud ๋ฆฌ์ „ ๋˜๋Š” ์˜์—ญ์ž…๋‹ˆ๋‹ค. gcpProjectID(์ง€์› ์ค‘๋‹จ๋จ) ๋ฐ k8sClusterName(์ง€์› ์ค‘๋‹จ๋จ)์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  apigee-logger์™€ apigee-metrics๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘ธ์‹œํ•  ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

hub ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: None

๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ์—์„œ ๋ชจ๋“  Apigee ๊ตฌ์„ฑ์š”์†Œ์˜ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋น„๊ณต๊ฐœ ์ด๋ฏธ์ง€ ์ปจํ…Œ์ด๋„ˆ ์ €์žฅ์†Œ์˜ URL์ž…๋‹ˆ๋‹ค.

hub๋Š” ๋ชจ๋“  Apigee Hybrid ๊ตฌ์„ฑ์š”์†Œ์˜ ๊ธฐ๋ณธ ๊ฒฝ๋กœ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ ๊ตฌ์„ฑ์š”์†Œ์˜ ๊ฐœ๋ณ„ image.url ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๋Œ€์‹  hub๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ์˜ ์ €์žฅ์†Œ URL์„ ์„ค์ •ํ•˜์„ธ์š”. ํŠน์ • ๊ตฌ์„ฑ์š”์†Œ์— ๋ณ„๋„์˜ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๊ฐœ๋ณ„ URL์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ฐ ๊ฐœ๋ณ„ ๊ตฌ์„ฑ์š”์†Œ์˜ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ๋Š” hub ๊ฐ’์— ๊ตฌ์„ฑ์š”์†Œ์˜ ์ด๋ฏธ์ง€ ์ด๋ฆ„๊ณผ ํƒœ๊ทธ๋ฅผ ๋”ํ•œ ๊ฐ’์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด hub private-docker-host.example.com ๊ฐ’์ด๋ฉด ๊ฐœ๋ณ„ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ์ž๋™์œผ๋กœ ์ด๋ฏธ์ง€ ๊ฒฝ๋กœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

hub: private-docker-host.example.com

๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

## an example of internal component vs 3rd party
containers:
- name: apigee-udca
  image: private-docker-host.example.com/apigee-udca:1.13.3
  imagePullPolicy: IfNotPresent

containers:
- name: apigee-ingressgateway
  image: private-docker-host.example.com/apigee-asm-ingress:1.18.7-asm.4-distroless
  imagePullPolicy: IfNotPresent

๋‹ค๋ฅธ ๊ตฌ์„ฑ์š”์†Œ๋„ ๋น„์Šทํ•œ ํŒจํ„ด์„ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ํ™•์ธํ•˜์„ธ์š”.

Apigee Hybrid๋กœ ๋น„๊ณต๊ฐœ ์ด๋ฏธ์ง€ ์ €์žฅ์†Œ ์‚ฌ์šฉ

๋‹ค์Œ ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐœ๋ณ„์ ์œผ๋กœ ๊ตฌ์„ฑ์š”์†Œ์˜ ์ด๋ฏธ์ง€ URL์„ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

imagePullSecrets.name ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

docker-registry ์œ ํ˜•์œผ๋กœ ๊ตฌ์„ฑ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€ ์ด๋ฆ„์ด๋ฉฐ ๋น„๊ณต๊ฐœ ์ €์žฅ์†Œ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

instanceID ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.3.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

์ด ์„ค์น˜์— ๋Œ€ํ•œ ๊ณ ์œ  ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค.

์ด ์ธ์Šคํ„ด์Šค๋ฅผ ์‹๋ณ„ํ•˜๋Š” ๊ณ ์œ ํ•œ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ๋ฌธ์ž์™€ ์ˆซ์ž ์กฐํ•ฉ์„ ์ตœ๋Œ€ 63์ž(์˜๋ฌธ ๊ธฐ์ค€)๊นŒ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

k8sClusterName ๊ณ ๊ธ‰ Deprecated: v1.2.0 ์ด์ƒ์—์„œ๋Š” k8sCluster.name ๋ฐ k8sCluster.region์„ ๋Œ€์‹  ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹คํ–‰๋˜๋Š” Kubernetes(K8S) ํ”„๋กœํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. gcpProjectID(์ง€์› ์ค‘๋‹จ๋จ) ๋ฐ gcpRegion(์ง€์› ์ค‘๋‹จ๋จ)์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  apigee-logger์™€ apigee-metrics๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘ธ์‹œํ•  ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

kmsEncryptionKey ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: defaults.org.kmsEncryptionKey

์„ ํƒ์‚ฌํ•ญ. kmsEncryptionKey, kmsEncryptionPath, kmsEncryptionSecret ์ค‘ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.

Apigee KMS ๋ฐ์ดํ„ฐ์˜ ์•”ํ˜ธํ™” ํ‚ค์— ๋Œ€ํ•œ ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

kmsEncryptionPath ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์„ ํƒ์‚ฌํ•ญ. kmsEncryptionKey, kmsEncryptionPath, kmsEncryptionSecret ์ค‘ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.

base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ํ‚ค๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

kmsEncryptionSecret.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์„ ํƒ์‚ฌํ•ญ. kmsEncryptionKey, kmsEncryptionPath, kmsEncryptionSecret ์ค‘ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.

base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ํ‚ค๊ฐ€ ํฌํ•จ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ํ‚ค์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

kmsEncryptionSecret.name ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์„ ํƒ์‚ฌํ•ญ. kmsEncryptionKey, kmsEncryptionPath, kmsEncryptionSecret ์ค‘ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•˜์„ธ์š”.

base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ํ‚ค๊ฐ€ ํฌํ•จ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

kvmEncryptionKey ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: defaults.org.kmsEncryptionKey

์„ ํƒ์‚ฌํ•ญ. kvmEncryptionKey, kvmEncryptionPath, kvmEncryptionSecret ์ค‘ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Apigee KVM ๋ฐ์ดํ„ฐ์˜ ์•”ํ˜ธํ™” ํ‚ค์— ๋Œ€ํ•œ ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

kvmEncryptionPath ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์„ ํƒ์‚ฌํ•ญ. kvmEncryptionKey, kvmEncryptionPath, kvmEncryptionSecret ์ค‘ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ํ‚ค๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

kvmEncryptionSecret.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์„ ํƒ์‚ฌํ•ญ. kvmEncryptionKey, kvmEncryptionPath, kvmEncryptionSecret ์ค‘ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ํ‚ค๊ฐ€ ํฌํ•จ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ํ‚ค์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

kvmEncryptionSecret.name ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์„ ํƒ์‚ฌํ•ญ. kvmEncryptionKey, kvmEncryptionPath, kvmEncryptionSecret ์ค‘ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ํ‚ค๊ฐ€ ํฌํ•จ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

multiOrgCluster ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: false

๋‹ค์ค‘ ์กฐ์ง ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ์ด ์†์„ฑ์„ ํ†ตํ•ด ์กฐ์ง์˜ ์ธก์ •ํ•ญ๋ชฉ์„ gcp.projectID ์†์„ฑ์— ๋‚˜์—ด๋œ ํ”„๋กœ์ ํŠธ๋กœ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์กฐ์ง ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ฐ ์กฐ์ง์— ๋Œ€ํ•œ ์žฌ์ •์˜ ํŒŒ์ผ์—์„œ ์ด ์„ค์ •์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํด๋Ÿฌ์Šคํ„ฐ์— ์—ฌ๋Ÿฌ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์กฐ์ง ์ถ”๊ฐ€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

namespace ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: apigee

Apigee ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ์„ค์น˜๋  Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.

org ๊ธฐ๋ณธ

๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„ค์น˜ ์ค‘์— Apigee๊ฐ€ ํ”„๋กœ๋น„์ €๋‹ํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ง€์› ์กฐ์ง์ž…๋‹ˆ๋‹ค. ์กฐ์ง์€ Apigee์˜ ์ตœ์ƒ์œ„ ์ปจํ…Œ์ด๋„ˆ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋ชจ๋“  API ํ”„๋ก์‹œ ๋ฐ ๊ด€๋ จ ๋ฆฌ์†Œ์Šค๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๊ฐ’์ด ๋น„์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ์กฐ์ง ์ด๋ฆ„์„ ๋งŒ๋“  ํ›„์— ์กฐ์ง ์ด๋ฆ„์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

orgScopedUDCA ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: true

์กฐ์ง ์ˆ˜์ค€์—์„œ ๋ฒ”์šฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์—์ด์ „ํŠธ ์„œ๋น„์Šค(UDCA)๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜์—ฌ ๋ถ„์„, ์ˆ˜์ต ์ฐฝ์ถœ, ๋””๋ฒ„๊ทธ(trace)๋ฅผ ์ถ”์ถœํ•˜๊ณ  ์ œ์–ด ์˜์—ญ์— ์žˆ๋Š” ํ†ตํ•ฉ ๋ถ„์„ ํ”Œ๋žซํผ(UAP)์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

์กฐ์ง ๋ฒ”์œ„ UDCA๋Š” ๋ชจ๋“  Apigee ํ™˜๊ฒฝ์— ๋Œ€ํ•ด ๋‹จ์ผ Google ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณ„์ •์—๋Š” Apigee ์• ๋„๋ฆฌํ‹ฑ์Šค ์—์ด์ „ํŠธ(roles/apigee.analyticsAgent) ์—ญํ• ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

udca.serviceAccountPath ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๊ฑฐ๋‚˜ overrides.yaml ๊ตฌ์„ฑ ํŒŒ์ผ์˜ udca.serviceAccountRef ์†์„ฑ์œผ๋กœ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ํ‚ค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ๋งˆ๋‹ค ๋ณ„๋„์˜ UDCA ์—์ด์ „ํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด orgScopedUDCA: false๋ฅผ ์„ค์ •ํ•œ ๋‹ค์Œ envs[].serviceAccountPaths.udca ๋ฐenvs[].serviceAccountSecretRefs.udca์˜ ๊ฐ’์„ ์„ค์ •ํ•˜์„ธ์š”.

์ฐธ์กฐ: udca

revision ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: "1133"(๋งˆ์นจํ‘œ๊ฐ€ ์—†๋Š” Apigee Hybrid ๋ฒ„์ „. ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฒ„์ „ 1.12.0์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์€ "1120"์ž…๋‹ˆ๋‹ค.)

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

๊ธฐ๋ณธ Kubernetes PodTemplateSpec ๋ณ€๊ฒฝ์œผ๋กœ ์ด์–ด์ง€๋Š” ํŠน์ • YAML ์žฌ์ •์˜๋ฅผ ์—…๋ฐ์ดํŠธํ•  ๋•Œ ๊ณ ๊ฐ์˜ override.yaml์—์„œ๋„ revision ์žฌ์ •์˜ ์†์„ฑ๋„ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ๋ณธ Kubernetes ApigeeDeployment(AD) ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ์ด์ „ ๋ฒ„์ „์—์„œ ์ƒˆ ๋ฒ„์ „์œผ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์†Œ๋ฌธ์ž ํ…์ŠคํŠธ ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: blue, a, 1.0.0).

revision ์†์„ฑ์ด ๋ณ€๊ฒฝ๋˜๊ณ  ์ ์šฉ๋˜๋ฉด ๋ชจ๋“  ๊ตฌ์„ฑ ์š”์†Œ์— ์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด revision์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ˆœ์ฐจ์  ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

serviceAccountSecretProviderClass ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: None

Vault์— ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์กฐ์ง๋ณ„ ๋ณด์•ˆ ๋น„๋ฐ€ ์ œ๊ณต์—…์ฒด ํด๋ž˜์Šค(SecretProviderClass)์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

์ฐธ์กฐ: Hashicorp Vault์— ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ์ €์žฅ

validateOrg ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: true

Apigee ์กฐ์ง๊ณผ Google Cloud ํ”„๋กœ์ ํŠธ ๊ฐ„ ์—ฐ๊ฒฐ์„ ์—„๊ฒฉํ•˜๊ฒŒ ๊ฒ€์ฆํ•˜๊ณ  ํ™˜๊ฒฝ ๊ทธ๋ฃน์˜ ์กด์žฌ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

org๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

validateServiceAccounts ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: true

์„œ๋น„์Šค ๊ณ„์ • ๊ถŒํ•œ์„ ์—„๊ฒฉํ•˜๊ฒŒ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. Cloud Resource Manager API ๋ฉ”์„œ๋“œ testIamPermissions๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๊ณต๋œ ์„œ๋น„์Šค ๊ณ„์ •์— ํ•„์š”ํ•œ ๊ถŒํ•œ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. Apigee ์กฐ์ง์˜ ์„œ๋น„์Šค ๊ณ„์ •์ธ ๊ฒฝ์šฐ ํ”„๋กœ์ ํŠธ ID ํ™•์ธ์€ ์กฐ์ง์— ๋งคํ•‘๋œ ID์ž…๋‹ˆ๋‹ค. ์ธก์ •ํ•ญ๋ชฉ ๋ฐ Logger์˜ ๊ฒฝ์šฐ ํ™•์ธ๋œ ํ”„๋กœ์ ํŠธ๋Š” gcpProjectID overrides.yaml ๊ตฌ์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

gcpProjectID๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

ao

Apigee Operators(AO)๋Š” ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ๋ฐฐํฌํ•˜๊ณ  ์œ ์ง€ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ํ•˜์œ„ ์ˆ˜์ค€ Kubernetes ๋ฐ Istio ๋ฆฌ์†Œ์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ปจํŠธ๋กค๋Ÿฌ๋Š” ๋ฉ”์‹œ์ง€ ํ”„๋กœ์„ธ์„œ๋ฅผ ์ถœ์‹œํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” Apigee ์—ฐ์‚ฐ์ž ao ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
ao.args.disableIstioConfigInAPIServer ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: true

Apigee๊ฐ€ ๊ณ ๊ฐ ์„ค์น˜ Cloud Service Mesh์— ๋” ์ด์ƒ ๊ตฌ์„ฑ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Hybrid ์„ค์น˜์˜ ๊ฒฝ์šฐ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • Cloud Service Mesh๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Hybrid ์„ค์น˜์˜ ๊ฒฝ์šฐ false๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(Apigee Hybrid ๋ฒ„์ „ 1.8 ์ดํ•˜).
ao.args.disableManagedClusterRoles ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: true

true(๊ธฐ๋ณธ๊ฐ’)์ผ ๊ฒฝ์šฐ Apigee Hybrid๊ฐ€ Kubernetes ClusterRole ๋ฐ ClursterRoleBinding์„ ์ง์ ‘ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์˜ฌ๋ฐ”๋ฅธ ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ao.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ao.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

ao.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

ao.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 250m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

ao.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 256Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

ao.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 250m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

ao.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 256Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

ao.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ao.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ao.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ao.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ao.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

apigeeIngressGateway

Apigee Hybrid์šฉ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. apigeeIngressGateway ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค์— ๊ณตํ†ต ๊ตฌ์„ฑ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ณ„ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ณ ์œ ํ•˜๊ฒŒ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ingressGateways๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

apigee-org ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ apigeeIngressGateway ์†์„ฑ์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” apigeeIngressGateway ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
apigeeIngressGateway.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

apigeeIngressGateway.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 1.18.7-asm.4-distroless

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

apigeeIngressGateway.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

apigeeIngressGateway.nodeSelector.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ์„œ๋น„์Šค ์ „์šฉ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ํ‚ค์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

apigeeIngressGateway.nodeSelector.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: None

์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ์„œ๋น„์Šค์˜ ์ „์šฉ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๊ณ  nodeSelector.apigeeData ์„ค์ •์„ ์žฌ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„ ํƒ์  ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ๊ฐ’์ž…๋‹ˆ๋‹ค.

nodeSelector๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

apigeeIngressGateway.replicaCountMax ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 4

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ์—์„œ ์ž๋™ ํ™•์žฅ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์— ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ํฌ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค.

apigeeIngressGateway.replicaCountMin ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 2

์ž๋™ ํ™•์žฅ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์˜ ์ตœ์†Œ ํฌ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค.

apigeeIngressGateway.targetCPUUtilizationPercentage ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.5, 1.11.2, 1.12.1

๊ธฐ๋ณธ๊ฐ’: 75

ReplicaSet์—์„œ ํฌ๋“œ ์ˆ˜๋ฅผ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•œ CPU ์‚ฌ์šฉ๋Ÿ‰์˜ ๊ธฐ์ค€์ ์ด๋ฉฐ, ์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ CPU ๋ฆฌ์†Œ์Šค์˜ ๋ฐฑ๋ถ„์œจ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

CPU ์‚ฌ์šฉ๋Ÿ‰์ด ์ด ๊ฐ’์„ ์ดˆ๊ณผํ•˜๋ฉด ํ•˜์ด๋ธŒ๋ฆฌ๋“œ๋Š” ReplicaSet์˜ ํฌ๋“œ ์ˆ˜๋ฅผ ์ตœ๋Œ€ apigeeIngressGateway.replicaCountMax๊นŒ์ง€ ์ ์ง„์ ์œผ๋กœ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค.

Kubernetes์—์„œ์˜ ํ™•์žฅ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Kubernetes ๋ฌธ์„œ์˜ ์ˆ˜ํ‰ํ˜• ํฌ๋“œ ์ž๋™ ํ™•์žฅ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

apigeeIngressGateway.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

apigeeIngressGateway.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

apigeeIngressGateway.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

apigeeIngressGateway.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

apigeeIngressGateway.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra

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

์ž์„ธํ•œ ๋‚ด์šฉ์€ StorageClass ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” cassandra ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
cassandra.annotations ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.5.0

๊ธฐ๋ณธ๊ฐ’: None

ํฌ๋“œ๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„ ํƒ์ ์ธ ํ‚ค-๊ฐ’ ๋งต์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ์ฃผ์„์„ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.auth.admin.password ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: iloveapis123

ํ•„์ˆ˜

Cassandra ๊ด€๋ฆฌ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๋Š” Cassandra ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๋ชจ๋“  ๊ด€๋ฆฌ ํ™œ๋™(์˜ˆ: ๋ฐฑ์—… ๋ฐ ๋ณต์›)์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

cassandra.auth.ddl.password ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: iloveapis123

ํ•„์ˆ˜

Cassandra ๋ฐ์ดํ„ฐ ์ •์˜ ์–ธ์–ด(DDL) ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. ์ด๋Š” MART์—์„œ ํ‚ค ๊ณต๊ฐ„ ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œ์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์ •์˜ ์ž‘์—…์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

cassandra.auth.default.password ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: iloveapis123

ํ•„์ˆ˜

์ธ์ฆ์ด ์‚ฌ์šฉ ์„ค์ •๋˜์—ˆ์„ ๋•Œ ์ƒ์„ฑ๋œ ๊ธฐ๋ณธ Cassandra ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. Cassandra ์ธ์ฆ์„ ๊ตฌ์„ฑํ•  ๋•Œ ์ด ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์žฌ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Cassandra์šฉ TLS ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.auth.dml.password ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: iloveapis123

ํ•„์ˆ˜

Cassandra DML ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. DML ์‚ฌ์šฉ์ž๋Š” ํด๋ผ์ด์–ธํŠธ ํ†ต์‹ ์ด Cassandra์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ฐ๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

cassandra.auth.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.auth.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

cassandra.auth.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

cassandra.auth.jmx.password ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: iloveapis123

ํ•„์ˆ˜

Cassandra JMX ์ž‘์—… ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. Cassandra JMX ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ธ์ฆํ•˜๊ณ  ํ†ต์‹ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

cassandra.auth.jmx.username ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: jmxuser

ํ•„์ˆ˜

Cassandra JMX ์ž‘์—… ์‚ฌ์šฉ์ž์˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. Cassandra JMX ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ธ์ฆํ•˜๊ณ  ํ†ต์‹ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

cassandra.auth.jolokia.password ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: iloveapis123

ํ•„์ˆ˜

Cassandra Jolokia JMX ์ž‘์—… ์‚ฌ์šฉ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. Cassandra JMX API๋กœ ์ธ์ฆํ•˜๊ณ  ํ†ต์‹ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

cassandra.auth.jolokia.username ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: apigee

ํ•„์ˆ˜

Cassandra Jolokia JMX ์ž‘์—… ์‚ฌ์šฉ์ž์˜ ์‚ฌ์šฉ์ž ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. Cassandra JMX API๋กœ ์ธ์ฆํ•˜๊ณ  ํ†ต์‹ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

cassandra.auth.secret ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.3.3

๊ธฐ๋ณธ๊ฐ’: None

Cassandra ์‚ฌ์šฉ์ž ๋ฐ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํฌํ•จ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์— ์ €์žฅ๋œ ํŒŒ์ผ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋ณด์•ˆ ๋น„๋ฐ€ ๋งŒ๋“ค๊ธฐ์˜ ์•ˆ๋‚ด์— ๋”ฐ๋ผ ๋ณด์•ˆ ๋น„๋ฐ€์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ์กฐ:

cassandra.auth.secretProviderClass ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.3

๊ธฐ๋ณธ๊ฐ’: None

Cassandra ๋ณด์•ˆ ๋น„๋ฐ€ ์Šคํ† ๋ฆฌ์ง€ ์ •์ฑ…์ž…๋‹ˆ๋‹ค. ์„ค์ •๋œ ๊ฒฝ์šฐ Hashicorp Vault์™€ ๊ฐ™์€ ์™ธ๋ถ€ ๋ณด์•ˆ ๋น„๋ฐ€ ์ œ๊ณต์—…์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” SecretProviderClass์™€ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •๋˜์ง€ ์•Š์œผ๋ฉด Apigee Hybrid๋Š” ๋‹ค์Œ์— ์ €์žฅ๋œ ์‚ฌ์šฉ์ž ์ด๋ฆ„๊ณผ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋˜๋Š” ๋‹ค์Œ์— ์ €์žฅ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ •์ฑ… ๋งŒ๋“ค๊ธฐ์— ๋Œ€ํ•œ ์•ˆ๋‚ด๋Š” Hashicorp Vault์— Cassandra ๋ณด์•ˆ ๋น„๋ฐ€ ์ €์žฅ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.backup.cloudProvider ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: GCP

๋ฐฑ์—… ์ œ๊ณต์—…์ฒด์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ๊ฐ’์€ GCP, HYBRID, CSI์ž…๋‹ˆ๋‹ค. ๊ฐ’์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  • GCP: Google Cloud Storage์— ๋ฐฑ์—… ์•„์นด์ด๋ธŒ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • HYBRID: ์›๊ฒฉ SSH ์„œ๋ฒ„์— ๋ฐฑ์—… ๋ณด๊ด€ ํŒŒ์ผ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  • CSI: (๊ถŒ์žฅ) ๋ฐฑ์—…์— Kubernetes CSI ๋ณผ๋ฅจ ์Šค๋ƒ…์ƒท์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. Google Cloud, AWS, Azure์™€ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์˜ CSI ๋ฐฑ์—… ๋ฐ ๋ณต์›์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ CSI ๋ฐฑ์—… ๋ฐ ๋ณต์›์„ ์ฐธ์กฐํ•˜์„ธ์š”.
cassandra.backup.dbStorageBucket ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

๋ฐฑ์—…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ๊ณ  cassandra.backup.cloudProvider๊ฐ€ GCP๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—… ๋ณด๊ด€์ฒ˜๋ฆฌ ํŒŒ์ผ์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ๊ธฐ์กด Google Cloud Storage ๋ฒ„ํ‚ท์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋ฒ„ํ‚ท์„ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

cassandra.backup.enabled ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: false

๋ฐ์ดํ„ฐ ๋ฐฑ์—…์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด true๋กœ ์„ค์ •ํ•˜์„ธ์š”.

Cassandra ๋ฐฑ์—… ๋ฐ ๋ณต๊ตฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.backup.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.backup.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

cassandra.backup.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

cassandra.backup.keyfile ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.3.0

๊ธฐ๋ณธ๊ฐ’: None

๋ฐฑ์—…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ๊ณ  cassandra.backup.cloudProvider๊ฐ€ HYBRID๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ SSH ๋น„๊ณต๊ฐœ ํ‚ค ํŒŒ์ผ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

cassandra.backup.schedule ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 0 2 * * *

๋ฐฑ์—… ํฌ๋ก  ์ž‘์—…์˜ ์ผ์ •์ž…๋‹ˆ๋‹ค.

Cassandra ๋ฐฑ์—… ๋ฐ ๋ณต๊ตฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.backup.server ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.3.0

๊ธฐ๋ณธ๊ฐ’: None

๋ฐฑ์—…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ๊ณ  cassandra.backup.cloudProvider๊ฐ€ HYBRID๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์›๊ฒฉ SSH ๋ฐฑ์—… ์„œ๋ฒ„์˜ IP ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

cassandra.backup.serviceAccountPath ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด ๊ด€๋ฆฌ์ž(roles/storage.objectAdmin) ์—ญํ• ์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. ์ด Google ์„œ๋น„์Šค ๊ณ„์ •์€ ์ง€์ •๋œ cassandra.backup.dbStorageBucket์— ๋ฐฑ์—… ๋ณด๊ด€ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ๊ณ  cassandra.backup.cloudProvider๊ฐ€ GCP๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ Apigee Hybrid๊ฐ€ Google Cloud Storage ๋ฒ„ํ‚ท์— ์•ก์„ธ์Šคํ•˜์—ฌ ๋ฐฑ์—… ๋ณด๊ด€ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

cassandra.backup.serviceAccountRef ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด ๊ด€๋ฆฌ์ž(roles/storage.objectAdmin) ์—ญํ• ์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ธฐ์กด Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด Google ์„œ๋น„์Šค ๊ณ„์ •์€ ์ง€์ •๋œ cassandra.backup.dbStorageBucket์— ๋ฐฑ์—… ๋ณด๊ด€ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ๊ณ  cassandra.backup.cloudProvider๊ฐ€ GCP๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ Apigee Hybrid๊ฐ€ Google Cloud Storage ๋ฒ„ํ‚ท์— ์•ก์„ธ์Šคํ•˜์—ฌ ๋ฐฑ์—… ๋ณด๊ด€ ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

cassandra.backup.storageDirectory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.3.0

๊ธฐ๋ณธ๊ฐ’: None

๋ฐฑ์—…์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ๊ณ  cassandra.backup.cloudProvider๊ฐ€ HYBRID๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

apigee ์‚ฌ์šฉ์ž์˜ ํ™ˆ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๋Œ€ํ•œ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋‚˜ ์ƒ๋Œ€ ๊ฒฝ๋กœ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐฑ์—… SSH ์„œ๋ฒ„์˜ ๋ฐฑ์—… ๋””๋ ‰ํ„ฐ๋ฆฌ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

cassandra.clusterName ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: apigeecluster

Cassandra ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

cassandra.datacenter ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: dc-1

Cassandra ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

cassandra.dnsPolicy ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.1

๊ธฐ๋ณธ๊ฐ’: None

hostNetwork๋ฅผ true๋กœ ์„ค์ •ํ•˜๋ฉด DNS ์ •์ฑ…์ด ClusterFirstWithHostNet๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

cassandra.externalSeedHost ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

Cassandra ํด๋Ÿฌ์Šคํ„ฐ ๋…ธ๋“œ์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋˜๋Š” IP์ž…๋‹ˆ๋‹ค. ์„ค์ •๋˜์ง€ ์•Š์œผ๋ฉด Kubernetes ๋กœ์ปฌ ์„œ๋น„์Šค๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

cassandra.heapNewSize ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 100M

์ตœ์‹  ๊ฐ์ฒด์— ํ• ๋‹น๋œ JVM ์‹œ์Šคํ…œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค(๋ฉ”๊ฐ€๋ฐ”์ดํŠธ ๋‹จ์œ„).

cassandra.hostNetwork ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.1

๊ธฐ๋ณธ๊ฐ’: false

Kubernetes hostNetwork ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. Apigee๋Š” ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ์„ค์น˜์—์„œ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๋“œ ๋„คํŠธ์›Œํฌ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ํด๋Ÿฌ์Šคํ„ฐ ๊ฐ„ ์—ฐ๊ฒฐ์ด ์—†๋Š” ๊ฒฝ์šฐ(ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ "์„ฌ(island) ๋„คํŠธ์›Œํฌ ๋ชจ๋“œ"๋กœ ์‹คํ–‰ ์ค‘) ํฌ๋“œ ๊ฐ„์— ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” VMware ๋˜๋Š” ๋ฒ ์–ด๋ฉ”ํƒˆ์šฉ Google Distributed Cloud, AWS์šฉ GKE, AKS, EKS, OpenShift ๋“ฑ GKE๊ฐ€ ์•„๋‹Œ ์„ค์น˜์˜ ๊ธฐ๋ณธ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค.

GKE ์„ค์น˜์—์„œ์™€ ๊ฐ™์ด ์„œ๋กœ ๋‹ค๋ฅธ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ํฌ๋“œ ๊ฐ„ ์—ฐ๊ฒฐ์ด ์žˆ๋Š” ๋‹จ์ผ ๋ฆฌ์ „ ์„ค์น˜ ๋ฐ ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ์„ค์น˜์— ๋Œ€ํ•ด cassandra.hostNetwork๋ฅผ false๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ํด๋Ÿฌ์Šคํ„ฐ์˜ ํฌ๋“œ ๊ฐ„ ํ†ต์‹ ์ด ์—†๋Š” ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ์„ค์น˜์˜ ๊ฒฝ์šฐ cassandra.hostNetwork๋ฅผ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.(์˜ˆ: VMware ๋˜๋Š” ๋ฒ ์–ด๋ฉ”ํƒˆ์šฉ Google Distributed Cloud, AWS์šฉ GKE, AKS, EKS, OpenShift ์„ค์น˜). ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ๋ฐฐํฌ: ๊ธฐ๋ณธ ์š”๊ฑด์„ ์ฐธ์กฐํ•˜์„ธ์š”.

true์ด๋ฉด DNS ์ •์ฑ…์ด ClusterFirstWithHostNet์œผ๋กœ ์ž๋™ ์„ค์ •๋ฉ๋‹ˆ๋‹ค.

cassandra.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

cassandra.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

cassandra.maxHeapSize ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 512M

Cassandra ์ž‘์—…์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” JVM ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ƒํ•œ๊ฐ’์ž…๋‹ˆ๋‹ค(๋ฉ”๊ฐ€๋ฐ”์ดํŠธ ๋‹จ์œ„).

cassandra.multiRegionSeedHost ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

๊ธฐ์กด ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒˆ ๋ฆฌ์ „์œผ๋กœ ํ™•์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์กด Cassandra ํด๋Ÿฌ์Šคํ„ฐ์˜ IP ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ์‹œ๋“œ ํ˜ธ์ŠคํŠธ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.nodeSelector.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

cassandra ๋ฐ์ดํ„ฐ ์„œ๋น„์Šค์˜ ์ „์šฉ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ํ‚ค์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.nodeSelector.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

cassandra ๋ฐ์ดํ„ฐ ์„œ๋น„์Šค์˜ ์ „์šฉ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๊ณ  nodeSelector.apigeeData ์„ค์ •์„ ์žฌ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„ ํƒ์  ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ๊ฐ’์ž…๋‹ˆ๋‹ค.

nodeSelector๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.port ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 9042

Casandra์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํฌํŠธ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.

cassandra.rack ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: ra-1

Cassandra ๋…ธ๋“œ์˜ ๋ž™์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

cassandra.readinessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 2

Kubernetes๊ฐ€ ํฌ๋“œ๋ฅผ unready๋กœ ํ‘œ์‹œํ•˜๊ธฐ ์ „์— ์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹คํŒจํ–ˆ์Œ์„ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

cassandra.readinessProbe.initialDelaySeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 0

์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์–ด ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

cassandra.readinessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 10

์ค€๋น„ ํ”„๋กœ๋ธŒ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

cassandra.readinessProbe.successThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹คํŒจ ํ›„ ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผ๋˜๋ ค๋ฉด ์ตœ์†Œ์˜ ์—ฐ์†์ ์ธ ์„ฑ๊ณต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

cassandra.readinessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 5

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

cassandra.replicaCount ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

Cassandra๋Š” ๋ณต์ œ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ StatefulSet๋กœ ์‚ฌ์šฉ๋˜๋Š” Cassandra ๋…ธ๋“œ ์ˆ˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

cassandra.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

cassandra.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

cassandra.restore.cloudProvider ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: GCP

๋ณต์› ์ œ๊ณต์—…์ฒด์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ๊ฐ’์€ GCP, HYBRID, CSI์ž…๋‹ˆ๋‹ค. ๊ฐ’์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

  • GCP: Google Cloud Storage์— ์ €์žฅ๋œ ๋ฐฑ์—…์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.
  • HYBRID: ์›๊ฒฉ SSH ์„œ๋ฒ„์— ์ €์žฅ๋œ ๋ฐฑ์—…์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค.
  • CSI: (๊ถŒ์žฅ) ๋ณต์›์— Kubernetes CSI ๋ณผ๋ฅจ ์Šค๋ƒ…์ƒท์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. Google Cloud, AWS, Azure์™€ ๊ฐ™์€ ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ์˜ CSI ๋ฐฑ์—… ๋ฐ ๋ณต์›์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ CSI ๋ฐฑ์—… ๋ฐ ๋ณต์›์„ ์ฐธ์กฐํ•˜์„ธ์š”.
cassandra.restore.dbStorageBucket ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

๋ณต์›์ด ์‚ฌ์šฉ ์„ค์ •๋˜๊ณ  cassandra.restore.cloudProvider๊ฐ€ GCP๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ณต์›์— ์‚ฌ์šฉํ•  ๋ฐฑ์—… ๋ณด๊ด€ ํŒŒ์ผ์„ ์ €์žฅํ•˜๋Š” Google Cloud Storage ๋ฒ„ํ‚ท์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

cassandra.restore.enabled ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: false

๋ฐ์ดํ„ฐ ๋ณต์›์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด true๋กœ ์„ค์ •ํ•˜์„ธ์š”.

Cassandra ๋ฐฑ์—… ๋ฐ ๋ณต๊ตฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.restore.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.restore.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

cassandra.restore.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

cassandra.restore.serviceAccountPath ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด ๊ด€๋ฆฌ์ž(roles/storage.objectAdmin) ์—ญํ• ์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. ์ด Google ์„œ๋น„์Šค ๊ณ„์ •์€ ์ง€์ •๋œ cassandra.restore.dbStorageBucket์—์„œ ๋ฐฑ์—… ๋ณด๊ด€ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ณต์›์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ๊ณ  cassandra.restore.cloudProvider๊ฐ€ GCP๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ Apigee Hybrid๊ฐ€ Google Cloud Storage ๋ฒ„ํ‚ท์— ์•ก์„ธ์Šคํ•˜์—ฌ ๋ณต์›์„ ์œ„ํ•œ ๋ฐฑ์—… ๋ณด๊ด€ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

cassandra.restore.serviceAccountRef ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์Šคํ† ๋ฆฌ์ง€ ๊ฐ์ฒด ๊ด€๋ฆฌ์ž(roles/storage.objectAdmin) ์—ญํ• ์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ์ฝ˜ํ…์ธ ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ธฐ์กด Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์ด Google ์„œ๋น„์Šค ๊ณ„์ •์€ ์ง€์ •๋œ cassandra.restore.dbStorageBucket์—์„œ ๋ฐฑ์—… ๋ณด๊ด€ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ณต์›์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ๊ณ  cassandra.restore.cloudProvider๊ฐ€ GCP๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ Apigee Hybrid๊ฐ€ Google Cloud Storage ๋ฒ„ํ‚ท์— ์•ก์„ธ์Šคํ•˜์—ฌ ๋ณต์›์„ ์œ„ํ•œ ๋ฐฑ์—… ๋ณด๊ด€ ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

cassandra.restore.snapshotTimestamp ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

๋ณต์›์ด ์‚ฌ์šฉ ์„ค์ •๋œ ๊ฒฝ์šฐ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

๋ณต์›ํ•ด์•ผ ํ•˜๋Š” ๋ฐฑ์—…์˜ ํƒ€์ž„์Šคํƒฌํ”„์ž…๋‹ˆ๋‹ค.

cassandra.sslCertPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์‹œ์Šคํ…œ์˜ TLS ์ธ์ฆ์„œ ํŒŒ์ผ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

cassandra.sslKeyPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์‹œ์Šคํ…œ์˜ TLS ๋น„๊ณต๊ฐœ ํ‚ค ํŒŒ์ผ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

cassandra.sslRootCAPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

๋ฃจํŠธ CA(์ธ์ฆ ๊ธฐ๊ด€)์— ๋Œ€ํ•œ ์ธ์ฆ์„œ ์ฒด์ธ์ž…๋‹ˆ๋‹ค.

cassandra.storage.capacity ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 10Gi

storage.storageclass๊ฐ€ ์ง€์ •๋œ ๊ฒฝ์šฐ ํ•„์ˆ˜

ํ•„์š”ํ•œ ๋””์Šคํฌ ํฌ๊ธฐ๋ฅผ ๋ฉ”๋น„๋ฐ”์ดํŠธ(Mi) ๋˜๋Š” ๊ธฐ๋น„๋ฐ”์ดํŠธ(Gi)๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

cassandra.storage.storageclass ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์‚ฌ์šฉ ์ค‘์ธ ์˜จํ”„๋ ˜ ์Šคํ† ๋ฆฌ์ง€์˜ ํด๋ž˜์Šค๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

cassandra.storage.storageSize ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 10Gi

storage.storageclass๊ฐ€ ์ง€์ •๋œ ๊ฒฝ์šฐ ํ•„์ˆ˜

ํ•„์š”ํ•œ ๋””์Šคํฌ ํฌ๊ธฐ๋ฅผ ๋ฉ”๋น„๋ฐ”์ดํŠธ(Mi) ๋˜๋Š” ๊ธฐ๋น„๋ฐ”์ดํŠธ(Gi)๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

cassandra.terminationGracePeriodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 300

ํฌ๋“œ ์‚ญ์ œ๊ฐ€ ์š”์ฒญ๋˜๋Š” ์‹œ์ ๊ณผ ํฌ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ์‹œ์  ์‚ฌ์ด์˜ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ชจ๋“  ์‚ฌ์ „ ์ค‘์ง€ ํ›„ํฌ๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

cassandra.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

cassandra.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

certManager

Apigee๋Š” ์ธ์ฆ์„œ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ๋ฅผ ์œ„ํ•ด cert-manager๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” certManager ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
certManager.namespace ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.9.0

๊ธฐ๋ณธ๊ฐ’: cert-manager

cert-manager์˜ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค.

์ปค์Šคํ…€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ cert-manager ์‹คํ–‰์„ ์ฐธ์กฐํ•˜์„ธ์š”.

connectAgent

Apigee Connect๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ธํ„ฐ๋„ท์— MART ์—”๋“œํฌ์ธํŠธ๋ฅผ ๋…ธ์ถœํ•  ํ•„์š” ์—†์ด Apigee Hybrid ๊ด€๋ฆฌ ์˜์—ญ์„ ๋Ÿฐํƒ€์ž„ ์˜์—ญ์˜ MART ์„œ๋น„์Šค์— ์•ˆ์ „ํ•˜๊ฒŒ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” connectAgent ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
connectAgent.annotations ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.5.0

๊ธฐ๋ณธ๊ฐ’: None

ํฌ๋“œ๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„ ํƒ์ ์ธ ํ‚ค-๊ฐ’ ๋งต์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ์ฃผ์„์„ ์ฐธ์กฐํ•˜์„ธ์š”.

connectAgent.gsa ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: None

Helm๋งŒ ํ•ด๋‹น: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•  ๋•Œ connectAgent์—์„œ ํ•ด๋‹น Kubernetes ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•  Google IAM ์„œ๋น„์Šค ๊ณ„์ •(GSA)์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. gcp.workloadIdentity.enabled๋ฅผ true๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

GSA ์ด๋ฉ”์ผ ์ฃผ์†Œ์˜ ํ˜•์‹์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

apigee-mart@my-hybrid-project.iam.gserviceaccount.com

GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์‚ฌ์šฉ ์„ค์ • ๋˜๋Š” AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

connectAgent.logLevel ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: INFO

๋กœ๊ทธ ๋ณด๊ณ ์˜ ์ˆ˜์ค€์ž…๋‹ˆ๋‹ค. ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • INFO: ๊ฒฝ๊ณ , ์˜ค๋ฅ˜, ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€ ์™ธ์˜ ์ •๋ณด๊ฐ€ ๋‹ด๊ธด ๋ฉ”์‹œ์ง€์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น…์— ๊ฐ€์žฅ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • WARNING: ์˜ค๋ฅ˜ ๋ฐ ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜ ์™ธ์— ์‹ฌ๊ฐํ•˜์ง€ ์•Š์€ ๊ฒฝ๊ณ ์ž…๋‹ˆ๋‹ค.
  • ERROR: ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜ ์™ธ์— ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š๋Š” ๋‚ด๋ถ€ ์˜ค๋ฅ˜ ๋ฐ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค.
  • FATAL: Apigee Connect์˜ ๋น„์ •์ƒ ์ข…๋ฃŒ๋ฅผ ์ดˆ๋ž˜ํ•˜๋Š” ๋ณต๊ตฌํ•  ์ˆ˜ ์—†๋Š” ์˜ค๋ฅ˜ ๋ฐ ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค.
connectAgent.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

connectAgent.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

connectAgent.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

connectAgent.replicaCountMax ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 5

์ž๋™ ํ™•์žฅ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค.

connectAgent.replicaCountMin ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 1

์ž๋™ ํ™•์žฅ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜ ๋‹จ๊ณ„์—์„œ๋Š” replicaCountMin์„ 1๋กœ ๋Š˜๋ ค์„œ ์•ˆ์ •์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์œ„ํ•œ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ ์ˆ˜๋ฅผ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

connectAgent.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 512m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

connectAgent.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 512Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

connectAgent.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 100m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

connectAgent.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 30Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

connectAgent.server ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: apigeeconnect.googleapis.com:443

์ด ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์„œ๋ฒ„ ๋ฐ ํฌํŠธ์˜ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

connectAgent.serviceAccountPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.1

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

apigee-mart ์„œ๋น„์Šค ๊ณ„์ •์˜ Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ์„ค์น˜์—์„œ connectAgent.serviceAccountPath ๊ฐ’์€ mart.serviceAccountPath ๊ฐ’๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

connectAgent.serviceAccountRef ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ์„ค์น˜์—์„œ connectAgent.serviceAccountRef ๊ฐ’์€ mart.serviceAccountRef ๊ฐ’๊ณผ ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

connectAgent.targetCPUUtilizationPercentage ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 75

ํฌ๋“œ์—์„œ Apigee Connect ์—์ด์ „ํŠธ์— ๋Œ€ํ•œ ๋Œ€์ƒ CPU ์‚ฌ์šฉ๋ฅ ์ž…๋‹ˆ๋‹ค. ์ด ํ•„๋“œ์˜ ๊ฐ’์€ CPU ์‚ฌ์šฉ๋ฅ ์ด ์ด ๊ฐ’(์ตœ๋Œ€ replicaCountMax)์— ๋„๋‹ฌํ•  ๋•Œ Apigee Connect๊ฐ€ ์ž๋™ ํ™•์žฅ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

connectAgent.terminationGracePeriodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 600

ํฌ๋“œ ์‚ญ์ œ๊ฐ€ ์š”์ฒญ๋˜๋Š” ์‹œ์ ๊ณผ ํฌ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ์‹œ์  ์‚ฌ์ด์˜ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ชจ๋“  ์‚ฌ์ „ ์ค‘์ง€ ํ›„ํฌ๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

connectAgent.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

connectAgent.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

connectAgent.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

connectAgent.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

connectAgent.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

defaults

Apigee Hybrid ์„ค์น˜์˜ ๊ธฐ๋ณธ ์•”ํ˜ธํ™” ํ‚ค์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” defaults ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
defaults.org.kmsEncryptionKey ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: aWxvdmVhcGlzMTIzNDU2Nw==

KMS์˜ ์กฐ์ง์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์•”ํ˜ธํ™” ํ‚ค์ž…๋‹ˆ๋‹ค.

defaults.org.kvmEncryptionKey ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: aWxvdmVhcGlzMTIzNDU2Nw==

KVM์˜ ์กฐ์ง์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์•”ํ˜ธํ™” ํ‚ค์ž…๋‹ˆ๋‹ค.

defaults.env.kmsEncryptionKey ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: aWxvdmVhcGlzMTIzNDU2Nw==

KMS์˜ ํ™˜๊ฒฝ(env)์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์•”ํ˜ธํ™” ํ‚ค์ž…๋‹ˆ๋‹ค.

defaults.env.kvmEncryptionKey ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: aWxvdmVhcGlzMTIzNDU2Nw==

KVM์˜ ํ™˜๊ฒฝ(env)์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์•”ํ˜ธํ™” ํ‚ค์ž…๋‹ˆ๋‹ค.

defaults.env.cacheEncryptionKey ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: aWxvdmVhcGlzMTIzNDU2Nw==

ํ™˜๊ฒฝ(env)์˜ ๊ธฐ๋ณธ ์บ์‹œ ์•”ํ˜ธํ™” ํ‚ค์ž…๋‹ˆ๋‹ค.

diagnostic

์ง„๋‹จ ์ˆ˜์ง‘๊ธฐ ๋„๊ตฌ์˜ ์„ค์ •์ž…๋‹ˆ๋‹ค.

์ง„๋‹จ ์ˆ˜์ง‘๊ธฐ ์‚ฌ์šฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” diagnostic ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
diagnostic.bucket ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

์ง„๋‹จ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  Google Cloud Storage ๋ฒ„ํ‚ท์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

์Šคํ† ๋ฆฌ์ง€ ๋ฒ„ํ‚ท ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

diagnostic.container ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

๋ฐ์ดํ„ฐ๋ฅผ ์บก์ฒ˜ํ•  ํฌ๋“œ ์œ ํ˜•์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ’์€ ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • "apigee-cassandra"๋Š” Cassandra ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค. istio-cassandra ํฌ๋“œ๋Š” apigee ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • "apigee-mart-server"๋Š” MART์˜ ์ •๋ณด๋ฅผ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค. apigee-mart-server ํฌ๋“œ๋Š” apigee ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • "apigee-runtime"๋Š” ๋ฉ”์‹œ์ง€ ํ”„๋กœ์„ธ์„œ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค. apigee-runtime ํฌ๋“œ๋Š” apigee ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • "apigee-synchronizer"๋Š” ๋™๊ธฐํ™” ๋‹ด๋‹น์ž ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค. apigee-synchronizer ํฌ๋“œ๋Š” apigee ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • "apigee-udca"๋Š” UDCA ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค. apigee-udca ํฌ๋“œ๋Š” apigee ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • "apigee-watcher"๋Š” ๊ฐ์‹œ์ž ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค. apigee-watcher ํฌ๋“œ๋Š” apigee ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
  • "istio-proxy"๋Š” Istio ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค. istio-proxy ํฌ๋“œ๋Š” istio-system ๋„ค์ž„์ŠคํŽ˜์ด์Šค์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
diagnostic.loggingDetails.logDuration ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

์ง„๋‹จ ์ˆ˜์ง‘ ์ž‘์—…์ด 'LOGGING'์ธ ๊ฒฝ์šฐ ํ•„์ˆ˜(operation: "LOGGING"์œผ๋กœ ์„ค์ •)

์ˆ˜์ง‘๋œ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ์˜ ๊ธฐ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ)์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ๊ฐ’์€ 30000์ž…๋‹ˆ๋‹ค.

diagnostic.operation ์ฐธ์กฐ

diagnostic.loggingDetails.loggerNames[] ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

์ง„๋‹จ ์ˆ˜์ง‘ ์ž‘์—…์ด 'LOGGING'์ธ ๊ฒฝ์šฐ ํ•„์ˆ˜(operation: "LOGGING"์œผ๋กœ ์„ค์ •)

๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•  ๋กœ๊ฑฐ์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. Apigee Hybrid ๋ฒ„์ „ 1.6.0์˜ ๊ฒฝ์šฐ ALL๋งŒ ์ง€์›๋˜์–ด, ๋ชจ๋“  ๋กœ๊ฑฐ๊ฐ€ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

diagnostic:
 loggingDetails:
   loggerNames:
   - ALL
diagnostic.loggingDetails.logLevel ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

์ง„๋‹จ ์ˆ˜์ง‘ ์ž‘์—…์ด 'LOGGING'์ธ ๊ฒฝ์šฐ ํ•„์ˆ˜(operation: "LOGGING"์œผ๋กœ ์„ค์ •)

์ˆ˜์ง‘ํ•  ๋กœ๊น… ๋ฐ์ดํ„ฐ์˜ ์„ธ๋ถ„์„ฑ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. Apigee Hybrid 1.6์—์„œ๋Š” FINE๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

diagnostic.namespace ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ ์ค‘์ธ ํฌ๋“œ๊ฐ€ ์žˆ๋Š” Kubernetes ๋„ค์ž„์ŠคํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋Š” diagnostic.container๋กœ ์ง€์ •ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ์— ์˜ฌ๋ฐ”๋ฅธ ๊ฒƒ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

apigee:

  • apigee-runtime
  • apigee-synchronizer
  • apigee-udca
  • apigee-watcher
  • apigee-cassandra
  • apigee-mart-server

istio-system:

  • istio-proxy
diagnostic.operation ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

๋ชจ๋“  ํ†ต๊ณ„ ๋˜๋Š” ๋กœ๊ทธ๋งŒ ์ˆ˜์ง‘ํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

diagnostic.podNames[] ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” Kubernetes ํฌ๋“œ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

diagnostic:
 podNames:
 - apigee-runtime-eng-hybrid-example-3b2ebf3-150-8vfoj-2wcjn
 - apigee-runtime-eng-hybrid-example-3b2ebf3-150-8vfoj-6xzn2
diagnostic.serviceAccountPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

์Šคํ† ๋ฆฌ์ง€ ๊ด€๋ฆฌ์ž ์—ญํ• (roles/storage.admin)์ด ์žˆ๋Š” ์„œ๋น„์Šค ๊ณ„์ •์— ๋Œ€ํ•œ ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ(.json)์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ Apigee ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„ค์น˜์—์„œ๋Š” apigee-cassandra ์„œ๋น„์Šค ๊ณ„์ •์ž…๋‹ˆ๋‹ค.

์„œ๋น„์Šค ๊ณ„์ • ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

diagnostic.tcpDumpDetails.maxMsgs ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

diagnostic.tcpDumpDetails๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ diagnostic.tcpDumpDetails.maxMsgs ๋˜๋Š” diagnostic.tcpDumpDetails.timeoutInSeconds ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

์ˆ˜์ง‘ํ•  tcpDump ๋ฉ”์‹œ์ง€์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. Apigee์—์„œ๋Š” ์ตœ๋Œ“๊ฐ’์„ 1000๋ณด๋‹ค ํฌ์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

diagnostic.tcpDumpDetails.timeoutInSeconds ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

diagnostic.tcpDumpDetails๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ diagnostic.tcpDumpDetails.maxMsgs ๋˜๋Š” diagnostic.tcpDumpDetails.timeoutInSeconds ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

tcpDump๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์‹œ๊ฐ„(์ดˆ)์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

diagnostic.threadDumpDetails.delayInSeconds ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

diagnostic.threadDumpDetails๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ diagnostic.threadDumpDetails.delayInSeconds ๋ฐ diagnostic.threadDumpDetails.iterations ๋ชจ๋‘ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ ์Šค๋ ˆ๋“œ ๋คํ”„๋ฅผ ์ˆ˜์ง‘ํ•  ๋•Œ์˜ ์ง€์—ฐ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

diagnostic.threadDumpDetails.iterations ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

diagnostic.threadDumpDetails๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ diagnostic.threadDumpDetails.delayInSeconds ๋ฐ diagnostic.threadDumpDetails.iterations ๋ชจ๋‘ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ˆ˜์ง‘ํ•  jstack ์Šค๋ ˆ๋“œ ๋คํ”„ ๋ฐ˜๋ณต ์ˆ˜์ž…๋‹ˆ๋‹ค.

envs

API ํ”„๋ก์‹œ๋ฅผ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ ๋ฐฐ์—ด์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํ™˜๊ฒฝ์€ API ํ”„๋ก์‹œ ์‹คํ–‰์„ ์œ„ํ•œ ๊ฒฉ๋ฆฌ๋œ ์ปจํ…์ŠคํŠธ ๋˜๋Š” ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ง€์› ์กฐ์ง์—๋Š” ํ™˜๊ฒฝ์ด ํ•˜๋‚˜ ์ด์ƒ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ™˜๊ฒฝ ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” envs ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
envs[].cacheEncryptionKey ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

cacheEncryptionKey, cacheEncryptionPath ๋˜๋Š” cacheEncryptionSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ํ‚ค์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

envs[].cacheEncryptionPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

cacheEncryptionKey, cacheEncryptionPath ๋˜๋Š” cacheEncryptionSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ํ‚ค๊ฐ€ ํฌํ•จ๋œ ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

envs[].cacheEncryptionSecret.key ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

cacheEncryptionKey, cacheEncryptionPath ๋˜๋Š” cacheEncryptionSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ํ‚ค๊ฐ€ ํฌํ•จ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ํ‚ค์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

envs[].cacheEncryptionSecret.name ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

cacheEncryptionKey, cacheEncryptionPath ๋˜๋Š” cacheEncryptionSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ํ‚ค๊ฐ€ ํฌํ•จ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

envs[].components.runtime.replicaCountMax ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.9.3

๊ธฐ๋ณธ๊ฐ’: 4

์ž๋™ ํ™•์žฅ์˜ ์ตœ๋Œ€ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ง€์ •๋œ ๊ฒฝ์šฐ runtime.replicaCountMax์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

envs[].components.runtime.replicaCountMin ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.9.3

๊ธฐ๋ณธ๊ฐ’: 1

์ž๋™ ํ™•์žฅ์˜ ์ตœ์†Œ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ง€์ •๋œ ๊ฒฝ์šฐ runtime.replicaCountMin์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

envs[].components.synchronizer.replicaCountMax ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.9.3

๊ธฐ๋ณธ๊ฐ’: 4

์ž๋™ ํ™•์žฅ์˜ ์ตœ๋Œ€ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ง€์ •๋œ ๊ฒฝ์šฐ synchronizer.replicaCountMax์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

envs[].components.synchronizer.replicaCountMin ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.9.3

๊ธฐ๋ณธ๊ฐ’: 1

์ž๋™ ํ™•์žฅ์˜ ์ตœ์†Œ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ง€์ •๋œ ๊ฒฝ์šฐ synchronizer.replicaCountMin์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

envs[].components.udca.replicaCountMax ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.9.3

๊ธฐ๋ณธ๊ฐ’: 4

์ž๋™ ํ™•์žฅ์˜ ์ตœ๋Œ€ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ง€์ •๋œ ๊ฒฝ์šฐ udca.replicaCountMax์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

envs[].components.udca.replicaCountMin ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.9.3

๊ธฐ๋ณธ๊ฐ’: 1

์ž๋™ ํ™•์žฅ์˜ ์ตœ์†Œ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ง€์ •๋œ ๊ฒฝ์šฐ udca.replicaCountMin์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

envs.gsa.runtime ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: None

Helm๋งŒ ํ•ด๋‹น: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•  ๋•Œ ํ•ด๋‹น Kubernetes ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•  ๋Ÿฐํƒ€์ž„ Google IAM ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์‚ฌ์šฉ ์„ค์ • ๋˜๋Š” AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

envs.gsa.synchronizer ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: None

Helm๋งŒ ํ•ด๋‹น: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•  ๋•Œ ํ•ด๋‹น Kubernetes ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•  ๋™๊ธฐํ™” ๋‹ด๋‹น์ž Google IAM ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์‚ฌ์šฉ ์„ค์ • ๋˜๋Š” AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

envs.gsa.udca ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: None

Helm๋งŒ ํ•ด๋‹น: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•  ๋•Œ env ๋ฒ”์œ„์˜ udca์—์„œ ํ•ด๋‹น Kubernetes ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•  udca Google IAM ์„œ๋น„์Šค ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค.

GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์‚ฌ์šฉ ์„ค์ • ๋˜๋Š” AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

envs[].hostAliases[] ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

Deprecated: ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฒ„์ „ 1.4๋ถ€ํ„ฐ ๋Ÿฐํƒ€์ž„ ์˜์—ญ์€ ๊ด€๋ฆฌ ์˜์—ญ์œผ๋กœ๋ถ€ํ„ฐ ์ด ์ •๋ณด๋ฅผ ๋ฐ›์Šต๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ๋ฐ ํ™˜๊ฒฝ ๊ทธ๋ฃน ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

envs[].httpProxy.host ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

HTTP ํ”„๋ก์‹œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋˜๋Š” IP ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

httpProxy ์†์„ฑ์„ scheme, host, port์˜ ์ˆœ์„œ๋กœ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

envs:
  - name: test
    httpProxy:
      scheme: HTTP
      host: 10.12.0.47
      port: 3128
      ...

์ฐธ๊ณ : API ํ”„๋ก์‹œ์˜ ์ „๋‹ฌ ํ”„๋ก์‹œ ๊ตฌ์„ฑ

envs[].httpProxy.port ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

HTTP ํ”„๋ก์‹œ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ํฌํŠธ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด ์†์„ฑ์„ ์ƒ๋žตํ•˜๋ฉด ๊ธฐ๋ณธ์ ์œผ๋กœ HTTP์—๋Š” ํฌํŠธ 80์„, HTTPS์—๋Š” ํฌํŠธ 443์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

envs[].httpProxy.scheme ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: HTTPS

HTTP ํ”„๋ก์‹œ์˜ ์œ ํ˜•์„ HTTP ๋˜๋Š” HTTPS๋กœ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ HTTPS๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

envs[].httpProxy.username ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

HTTP ํ”„๋ก์‹œ์— ๊ธฐ๋ณธ ์ธ์ฆ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

envs[].httpProxy.password ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

HTTP ํ”„๋ก์‹œ์— ๊ธฐ๋ณธ ์ธ์ฆ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

envs[].name ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

๋™๊ธฐํ™”ํ•  Apigee ํ™˜๊ฒฝ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

envs[].pollInterval ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์กฐ์ง ๋ฐ ํ™˜๊ฒฝ ๋™๊ธฐํ™” ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ํด๋งํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ„๊ฒฉ(์ดˆ)์ž…๋‹ˆ๋‹ค.

envs[].port ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

HTTPS ํŠธ๋ž˜ํ”ฝ์˜ TCP ํฌํŠธ ๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค.

envs[].serviceAccountPaths.runtime ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: None

๋กœ์ปฌ ์‹œ์Šคํ…œ์—์„œ Cloud Trace ์—์ด์ „ํŠธ ์—ญํ• (์ผ๋ฐ˜์ ์œผ๋กœ apigee-runtime ์„œ๋น„์Šค ๊ณ„์ •)์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค์˜ ํŒŒ์ผ ๊ฒฝ๋กœ ์„œ๋น„์Šค ๊ณ„์ •์˜ ๊ธฐ๋ณธ ์ด๋ฆ„๊ณผ ํ• ๋‹น๋œ ์—ญํ• ์˜ ์„œ๋น„์Šค ๊ณ„์ • ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

envs[].serviceAccountPaths.synchronizer ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0

๊ธฐ๋ณธ๊ฐ’: None

Apigee ๋™๊ธฐํ™” ๋‹ด๋‹น์ž ๊ด€๋ฆฌ์ž ์—ญํ• ์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค์˜ ๋กœ์ปฌ ์‹œ์Šคํ…œ ํŒŒ์ผ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

envs[].serviceAccountPaths.udca ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0

๊ธฐ๋ณธ๊ฐ’: None

Apigee ์• ๋„๋ฆฌํ‹ฑ์Šค ์—์ด์ „ํŠธ ์—ญํ• ์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค์˜ ๋กœ์ปฌ ์‹œ์Šคํ…œ ํŒŒ์ผ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

orgScopedUDCA๊ฐ€ false๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ์—๋งŒ ์ด ์†์„ฑ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

envs[].serviceAccountSecretProviderClass ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: None

Vault์— ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํ™˜๊ฒฝ๋ณ„ ๋ณด์•ˆ ๋น„๋ฐ€ ์ œ๊ณต์ž ํด๋ž˜์Šค(SecretProviderClass)์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

์ฐธ์กฐ: Hashicorp Vault์— ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ์ €์žฅ

envs[].serviceAccountSecretRefs.runtime ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. Cloud Trace ์—์ด์ „ํŠธ ์—ญํ• ์„ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ๋น„๋ฐ€์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

envs[].serviceAccountSecretRefs.synchronizer ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. Apigee ๋™๊ธฐํ™” ๋‹ด๋‹น์ž ๊ด€๋ฆฌ์ž ์—ญํ• ์„ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ๋น„๋ฐ€์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

envs[].serviceAccountSecretRefs.udca ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. Apigee Analytic Agent ์—ญํ• ์„ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ๋น„๋ฐ€์„ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

orgScopedUDCA๊ฐ€ false๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ์—๋งŒ ์ด ์†์„ฑ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

envs[].sslCertPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

sslCertPath/sslKeyPath ๋˜๋Š” sslSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์˜ TLS ์ธ์ฆ์„œ ํŒŒ์ผ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

envs[].sslKeyPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

sslCertPath/sslKeyPath ๋˜๋Š” sslSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์˜ TLS ๋น„๊ณต๊ฐœ ํ‚ค ํŒŒ์ผ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

envs[].sslSecret ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

sslCertPath/sslKeyPath ๋˜๋Š” sslSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

TLS ์ธ์ฆ์„œ์™€ ๋น„๊ณต๊ฐœ ํ‚ค๊ฐ€ ํฌํ•จ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์— ์ €์žฅ๋œ ํŒŒ์ผ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. TLS ์ธ์ฆ์„œ์™€ ํ‚ค ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ๋น„๋ฐ€์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ:

gcp

Google Cloud ํ”„๋กœ์ ํŠธ ID(๋ชจ๋“  ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„ค์น˜์— ํ•„์š”), ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ๋ฐ ์ œํœด๋œ ์›Œํฌ๋กœ๋“œ ID ๊ตฌ์„ฑ, apigee-logger ๋ฐ apigee-metrics๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” ๋ฆฌ์ „์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” gcp ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
gcp.federatedWorkloadIdentity.audience ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: None

GKE ์ด์™ธ ํ”Œ๋žซํผ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ๊ณต๊ธ‰์—…์ฒด์˜ ํ—ˆ์šฉ๋˜๋Š” ๋Œ€์ƒ์ž…๋‹ˆ๋‹ค.

AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

gcp.federatedWorkloadIdentity.credentialSourceFile ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: None

์„œ๋น„์Šค ๊ณ„์ •์˜ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด์— ์‚ฌ์šฉ๋˜๋Š” ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ์†Œ์Šค ํŒŒ์ผ์˜ ํŒŒ์ผ ์ด๋ฆ„๊ณผ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. create-cred-config ๋ช…๋ น์–ด๋กœ ์›Œํฌ๋กœ๋“œ ID ์ œํœด๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ credential-source-file์— ์ œ๊ณตํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

gcp.federatedWorkloadIdentity.enabled ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: false

GKE ์ด์™ธ ํ”Œ๋žซํผ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ gcp.workloadIdentity.enabled๊ฐ€ true๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ true๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

gcp.federatedWorkloadIdentity.tokenExpiration ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 3600

ํ† ํฐ์˜ ์ „์ฒด ๊ธฐ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

gcp.projectID ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

apigee-logger ๋ฐ apigee-metrics๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” Google Cloud ํ”„๋กœ์ ํŠธ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

gcp.projectIDRuntime ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

๋Ÿฐํƒ€์ž„ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ํ”„๋กœ์ ํŠธ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

projectIDRuntime ์†์„ฑ์€ ์„ ํƒ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋˜์ง€ ์•Š์„ ๊ฒฝ์šฐ projectID ๊ฐ’์ด Apigee ์กฐ์ง์˜ Google Cloud ํ”„๋กœ์ ํŠธ์™€ ๋Ÿฐํƒ€์ž„ K8S ํด๋Ÿฌ์Šคํ„ฐ์˜ ํ”„๋กœ์ ํŠธ ๋ชจ๋‘์— ์‚ฌ์šฉ๋˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

gcp.region ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: us-central1

ํ•„์ˆ˜

apigee-logger ๋ฐ apigee-metrics๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” Google Cloud ๋ฆฌ์ „์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

gcp.workloadIdentity.enabled ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’:false

Helm๋งŒ ํ•ด๋‹น: GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋Š” GKE ํด๋Ÿฌ์Šคํ„ฐ์˜ ์›Œํฌ๋กœ๋“œ๊ฐ€ Google Cloud ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•ด Identity and Access Management(IAM) ์„œ๋น„์Šค ๊ณ„์ •์„ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

๋™์ผํ•œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ gcp.federatedWorkloadIdentity.enabled๊ฐ€ true๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ true๋กœ ์„ค์ •ํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

enabled๊ฐ€ false(๊ธฐ๋ณธ๊ฐ’)์ด๋ฉด Apigee๊ฐ€ ๊ฐ Apigee ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•ด IAM ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณ„์ • ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

workloadIdentityEnabled๊ฐ€ true์ธ ๊ฒฝ์šฐ Apigee๋Š” Kubernetes ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ๊ฐ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•ด ์ ์ ˆํ•œ IAM ์„œ๋น„์Šค ๊ณ„์ •์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค. Kubernetes ์„œ๋น„์Šค ๊ณ„์ •์— ๋งคํ•‘ํ•  IAM ์„œ๋น„์Šค ๊ณ„์ •์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

gcp.workloadIdentity.gsa ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: None

Helm๋งŒ ํ•ด๋‹น: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•  ๋•Œ ํ•ด๋‹น Kubernetes ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•  ๋ชจ๋“  ๊ตฌ์„ฑ์š”์†Œ์˜ Google IAM ์„œ๋น„์Šค ๊ณ„์ •(GSA)์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. gcp.workloadIdentity.enabled๋ฅผ true๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

gcp.workloadIdentity.gsa๋Š” ๋ชจ๋“  ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ตฌ์„ฑ์š”์†Œ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. gcp.workloadIdentity.gsa ๊ฐ’์„ ์ง€์ •ํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐœ๋ณ„ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•ด GSA๋ฅผ ์ œ๊ณตํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ ๊ตฌ์„ฑ์š”์†Œ์— GSA๋ฅผ ์ œ๊ณตํ•˜๋ฉด ํ•ด๋‹น ๊ตฌ์„ฑ์š”์†Œ์˜ GSA๋Š” ํ•ด๋‹น ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•ด์„œ๋งŒ gcp.workloadIdentity.gsa๋ฅผ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

GSA ์ด๋ฉ”์ผ ์ฃผ์†Œ์˜ ํ˜•์‹์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

apigee-non-prod@my-hybrid-project.iam.gserviceaccount.com

Enabling Workload Identity on GKE๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

gcp.workloadIdentityEnabled ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’:false

apigeectl๋งŒ ํ•ด๋‹น: ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋Š” GKE ํด๋Ÿฌ์Šคํ„ฐ์˜ ์›Œํฌ๋กœ๋“œ๊ฐ€ Google Cloud ์„œ๋น„์Šค์— ์•ก์„ธ์Šคํ•˜๊ธฐ ์œ„ํ•ด Identity and Access Management(IAM) ์„œ๋น„์Šค ๊ณ„์ •์„ ๊ฐ€์žฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค.

workloadIdentityEnabled๊ฐ€ false(๊ธฐ๋ณธ๊ฐ’)์ด๋ฉด Apigee๊ฐ€ ๊ฐ Apigee ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•ด IAM ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค ๊ณ„์ • ์ •๋ณด๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

workloadIdentityEnabled๊ฐ€ true์ด๋ฉด Apigee๊ฐ€ IAM ์„œ๋น„์Šค ๊ณ„์ • ๋Œ€์‹  Kubernetes ์„œ๋น„์Šค ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜๊ณ  ๋‹ค์Œ ๊ตฌ์„ฑ ์†์„ฑ์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

httpProxy

httpProxy๋Š” HTTP ์ „๋‹ฌ ํ”„๋ก์‹œ ์„œ๋ฒ„์˜ ๊ตฌ์„ฑ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. overrides.yaml๋กœ ๊ตฌ์„ฑ๋œ ๊ฒฝ์šฐ Apigee Connect, Logger, MART, ์ธก์ •ํ•ญ๋ชฉ, ๋™๊ธฐํ™” ๋‹ด๋‹น์ž, UDCA ๊ตฌ์„ฑ์š”์†Œ์— ๋Œ€ํ•œ ๋ชจ๋“  ์ธํ„ฐ๋„ท ํ†ต์‹ ์ด ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.

connectAgent, logger, mart, metrics, synchronizer, udca๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” httpProxy ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
httpProxy.host ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.1

๊ธฐ๋ณธ๊ฐ’: None

HTTP ํ”„๋ก์‹œ์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

httpProxy.port ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.1

๊ธฐ๋ณธ๊ฐ’: None

HTTP ํ”„๋ก์‹œ์˜ ํฌํŠธ์ž…๋‹ˆ๋‹ค.

httpProxy.scheme ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.1

๊ธฐ๋ณธ๊ฐ’: HTTPS

ํ”„๋ก์‹œ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์Šคํ‚ค๋งˆ์ž…๋‹ˆ๋‹ค. ๊ฐ’์€ HTTP ๋˜๋Š” HTTPS์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ’์€ ๋Œ€๋ฌธ์ž์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

httpProxy.username ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.1

๊ธฐ๋ณธ๊ฐ’: None

HTTP ํ”„๋ก์‹œ์— ๊ธฐ๋ณธ ์ธ์ฆ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

httpProxy.password ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.1

๊ธฐ๋ณธ๊ฐ’: None

HTTP ํ”„๋ก์‹œ์— ๊ธฐ๋ณธ ์ธ์ฆ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด ์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ingressGateways

Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๊ฐ ๊ฐœ๋ณ„ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ingressGateways[].name๋ณ„๋กœ ๊ฐœ๋ณ„ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ณ„๋„๋กœ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ์ด๋Ÿฌํ•œ ์†์„ฑ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค์— ๊ณตํ†ต ๊ตฌ์„ฑ์„ ์ ์šฉํ•˜๋ ค๋ฉด apigeeIngressGateway๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

apigee-org ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ingressGateways ์†์„ฑ์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” ingressGateways ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
ingressGateways[].name ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์„œ๋น„์Šค๋Š” ์ด ์ด๋ฆ„์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒŒ์ดํŠธ์›จ์ด๋กœ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฆ„์€ ๋‹ค์Œ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ตœ๋Œ€ ๊ธธ์ด๋Š” 17์ž(์˜๋ฌธ ๊ธฐ์ค€)์ž…๋‹ˆ๋‹ค.
  • ์†Œ๋ฌธ์ž ์˜์ˆซ์ž ๋ฌธ์ž, '-' ๋˜๋Š” '.'๋งŒ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜์ˆซ์ž ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜์ˆซ์ž ๋ฌธ์ž๋กœ ๋๋‚˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ Kubernetes ๋ฌธ์„œ์˜ DNS ํ•˜์œ„ ๋„๋ฉ”์ธ ์ด๋ฆ„์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ingressGateways[].resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: 2000m

๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„(๋ฐ€๋ฆฌ์ฝ”์–ด)์ž…๋‹ˆ๋‹ค.

ingressGateways[].resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: 1Gi

๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„(๋ฉ”๋น„๋ฐ”์ดํŠธ)์ž…๋‹ˆ๋‹ค.

ingressGateways[].resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: 300m

๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘์—…์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

ingressGateways[].resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: 128Mi

๋ฆฌ์†Œ์Šค์˜ ์ผ๋ฐ˜ ์ž‘์—…์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

ingressGateways[].replicaCountMax ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: 10

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ์—์„œ ์ž๋™ ํ™•์žฅ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์— ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ํฌ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค.

ingressGateways[].replicaCountMin ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: 2

์ž๋™ ํ™•์žฅ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์˜ ์ตœ์†Œ ํฌ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค.

ingressGateways[].svcAnnotations ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: None

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

ingressGateways:
  svcAnnotations:
    networking.gke.io/load-balancer-type: "Internal"
ingressGateways[].svcLoadBalancerIP ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: None

๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ IP ์ฃผ์†Œ ์ง€์ •์„ ์ง€์›ํ•˜๋Š” ํ”Œ๋žซํผ์—์„œ ์ด IP ์ฃผ์†Œ๋กœ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ IP ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์—†๋Š” ํ”Œ๋žซํผ์—์„œ ์ด ์†์„ฑ์€ ๋ฌด์‹œ๋ฉ๋‹ˆ๋‹ค.

ingressGateways[].svcType ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.1

๊ธฐ๋ณธ๊ฐ’: LoadBalancer

์ธ๊ทธ๋ ˆ์Šค ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ k8s ์„œ๋น„์Šค ์œ ํ˜•์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ ์ƒ์„ฑ์„ ์ค‘์ง€ํ•˜๋ ค๋ฉด ๊ฐ’์„ ClusterIP๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ClusterIP
  • LoadBalancer
ingressGateways[].targetCPUUtilizationPercentage ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.5, 1.11.2, 1.12.1

๊ธฐ๋ณธ๊ฐ’: 75

ReplicaSet์—์„œ ํฌ๋“œ ์ˆ˜๋ฅผ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•œ CPU ์‚ฌ์šฉ๋Ÿ‰์˜ ๊ธฐ์ค€์ ์ด๋ฉฐ, ์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ CPU ๋ฆฌ์†Œ์Šค์˜ ๋ฐฑ๋ถ„์œจ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

CPU ์‚ฌ์šฉ๋Ÿ‰์ด ์ด ๊ฐ’์„ ์ดˆ๊ณผํ•˜๋ฉด ํ•˜์ด๋ธŒ๋ฆฌ๋“œ๋Š” ReplicaSet์˜ ํฌ๋“œ ์ˆ˜๋ฅผ ์ตœ๋Œ€ ingressGateways[].replicaCountMax๊นŒ์ง€ ์ ์ง„์ ์œผ๋กœ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค.

Kubernetes์—์„œ์˜ ํ™•์žฅ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Kubernetes ๋ฌธ์„œ์˜ ์ˆ˜ํ‰ํ˜• ํฌ๋“œ ์ž๋™ ํ™•์žฅ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ingressGateways[].tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ingressGateways[].tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ingressGateways[].tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ingressGateways[].tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ingressGateways[].tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

istiod

Apigee ์ธ๊ทธ๋ ˆ์Šค๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” istiod ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
istiod.accessLogFile ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: /dev/stdout

์ธ๊ทธ๋ ˆ์Šค ์•ก์„ธ์Šค ๋กœ๊ทธ์˜ ํŒŒ์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค(์˜ˆ: /dev/stdout).

์ด ๊ฐ’์„ ์ •์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ์•ก์„ธ์Šค ๋กœ๊น…์ด ์‚ฌ์šฉ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค.

istiod.accessLogFormat ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

์ธ๊ทธ๋ ˆ์Šค ์•ก์„ธ์Šค ๋กœ๊ทธ์˜ ํ˜•์‹์ž…๋‹ˆ๋‹ค.

์ด ๊ฐ’์„ ์ •์˜ํ•˜์ง€ ์•Š์œผ๋ฉด ํ”„๋ก์‹œ์˜ ๊ธฐ๋ณธ ์•ก์„ธ์Šค ๋กœ๊ทธ ํ˜•์‹์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์•ก์„ธ์Šค ๋กœ๊ทธ ํ˜•์‹:

'{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'

๋‹ค์Œ์€ ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด ์ค„๋ฐ”๊ฟˆ์ด ์ถ”๊ฐ€๋œ ๊ธฐ๋ณธ ์•ก์„ธ์Šค ๋กœ๊ทธ ํ˜•์‹์˜ ๋ณต์‚ฌ๋ณธ์ž…๋‹ˆ๋‹ค.

'{"start_time":"%START_TIME%",
  "remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%",
  "user_agent":"%REQ(USER-AGENT)%",
  "host":"%REQ(:AUTHORITY)%",
  "request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%",
  "request_time":"%DURATION%",
  "status":"%RESPONSE_CODE%",
  "status_details":"%RESPONSE_CODE_DETAILS%",
  "bytes_received":"%BYTES_RECEIVED%",
  "bytes_sent":"%BYTES_SENT%",
  "upstream_address":"%UPSTREAM_HOST%",
  "upstream_response_flags":"%RESPONSE_FLAGS%",
  "upstream_response_time":"%RESPONSE_DURATION%",
  "upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%",
  "upstream_cluster":"%UPSTREAM_CLUSTER%",
  "x_forwarded_for":"%REQ(X-FORWARDED-FOR)%",
  "request_method":"%REQ(:METHOD)%",
  "request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%",
  "request_protocol":"%PROTOCOL%",
  "tls_protocol":"%DOWNSTREAM_TLS_VERSION%",
  "request_id":"%REQ(X-REQUEST-ID)%",
  "sni_host":"%REQUESTED_SERVER_NAME%",
  "apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}'
istiod.forwardClientCertDetails ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.9.2

๊ธฐ๋ณธ๊ฐ’: SANITIZE_SET

Envoy ํ”„๋ก์‹œ(Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์šฉ)๊ฐ€ x-forwarded-client-cert(XFCC) HTTP ํ—ค๋”๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • SANITIZE_SET(๊ธฐ๋ณธ๊ฐ’) ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์ด mTLS์ด๋ฉด XFCC ํ—ค๋”๋ฅผ ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„œ ์ •๋ณด๋กœ ์žฌ์„ค์ •ํ•˜๊ณ  ๋‹ค์Œ ํ™‰์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.
  • FORWARD_ONLY ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์ด mTLS(์ƒํ˜ธ TLS)์ธ ๊ฒฝ์šฐ ์š”์ฒญ์˜ XFCC ํ—ค๋”๋งŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  • APPEND_FORWARD ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์ด mTLS์ธ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ ์ธ์ฆ์„œ ์ •๋ณด๋ฅผ ์š”์ฒญ์˜ XFCC ํ—ค๋”์— ์ถ”๊ฐ€ํ•˜์—ฌ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  • SANITIZE XFCC ํ—ค๋”๋ฅผ ์ „๋‹ฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ALWAYS_FORWARD_ONLY ํด๋ผ์ด์–ธํŠธ ์—ฐ๊ฒฐ์ด mTLS์ธ์ง€ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์š”์ฒญ์˜ XFCC ํ—ค๋”๋ฅผ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฐ’์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Enum extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.ForwardClientCertDetails์˜ Envoy ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ๋ฅผ ์„ค์น˜ํ•œ ํ›„ ์ด ์„ค์ •์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒฝ์šฐ apigeectl init๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ ์šฉํ•œ ๋‹ค์Œ Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ํฌ๋“œ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

istiod.healthCheckUserAgents ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’:

- "GoogleStackdriverMonitoring-UptimeChecks(https://cloud.google.com/monitoring)"
- "Edge Health Probe"

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ์—์„œ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ํ—ˆ์šฉ ๋ชฉ๋ก์„ ์žฌ์ •์˜ํ•˜์—ฌGoogle Cloud ์ด์™ธ์˜ ๋ถ€ํ•˜ ๋ถ„์‚ฐ๊ธฐ์—์„œ ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ์ƒํƒœ ์ ๊ฒ€ ์—”๋“œํฌ์ธํŠธ(/healthz/ingress ๋ฐ /healthz)๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

์ง€์ •๋œ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋ฅผ ์žฌ์ •์˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งž์ถค ์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ๋ฅผ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.

istiod:
  healthCheckUserAgents: 
  - "CUSTOM_USER_AGENT_1"
  - "CUSTOM_USER_AGENT_2"

์‚ฌ์šฉ์ž ์—์ด์ „ํŠธ ์š”๊ตฌ์‚ฌํ•ญ์„ ์‚ญ์ œํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

istiod:
  healthCheckUserAgents: []

istiod.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

istiod.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: 1.18.7-asm.4-distroless

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

istiod.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

istiod.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

istiod.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

istiod.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

istiod.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

istiod.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

k8sCluster

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋Ÿฐํƒ€์ž„์ด ์„ค์น˜๋œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” k8sCluster ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
k8sCluster.name ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋Ÿฐํƒ€์ž„์ด ์„ค์น˜๋œ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

k8sCluster.region ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ƒ์„ฑ๋œ Google Cloud ๋ฆฌ์ „์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

kubeRBACProxy

Apigee๊ฐ€ Kubernetes ์—ญํ•  ๊ธฐ๋ฐ˜ ์•ก์„ธ์Šค ์ œ์–ด๋ฅผ ์ฐพ์„ ์œ„์น˜๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” kubeRBACProxy ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
kubeRBACProxy.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

kubeRBACProxy.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: v0.14.2

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

kubeRBACProxy.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

kubeRBACProxy.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

kubeRBACProxy.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 128Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

kubeRBACProxy.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 5m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

kubeRBACProxy.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 64Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

logger

์šด์˜ ๋กœ๊ทธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰๋˜๋Š” ๋ชจ๋“  Apigee Hybrid ์„œ๋น„์Šค๊ฐ€ ์ด ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ Logging ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” logger ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
logger.annotations ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.5.0

๊ธฐ๋ณธ๊ฐ’: None

ํฌ๋“œ๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„ ํƒ์ ์ธ ํ‚ค-๊ฐ’ ๋งต์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ์ฃผ์„์„ ์ฐธ์กฐํ•˜์„ธ์š”.

logger.bufferChunkSize ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 256k

๋กœ๊ทธ ํŒŒ์ผ์„ ์ฝ๊ธฐ ์œ„ํ•œ ์ดˆ๊ธฐ ๋ฒ„ํผ ํฌ๊ธฐ์ž…๋‹ˆ๋‹ค.

logger.bufferMaxSize ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 104857600

๋ชจ๋‹ˆํ„ฐ๋ง ํŒŒ์ผ๋‹น ๋ฒ„ํผ ์‚ฌ์ด์ฆˆ์˜ ์ œํ•œ์ž…๋‹ˆ๋‹ค. ์ด ํ•œ๋„๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ํŒŒ์ผ์€ ๋ชจ๋‹ˆํ„ฐ๋ง ํŒŒ์ผ ๋ชฉ๋ก์—์„œ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

logger.bufferMemoryLimit ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 150MB

๋กœ๊ฑฐ๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค. ๋„๋‹ฌํ•œ ๊ฒฝ์šฐ ๋กœ๊ฑฐ๋Š” ๊ธฐ์กด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ํ”Œ๋Ÿฌ์‹œ๋  ๋•Œ๊นŒ์ง€ ์ž ์‹œ ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ ์ฝ๊ธฐ๋ฅผ ์ผ์‹œ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.

logger.enabled ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: false

ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋กœ๊น…์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. GKE๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” true๋กœ ์„ค์ •ํ•˜๊ณ  Google Cloud ๊ธฐ๋ฐ˜ GKE ๋˜๋Š” Google Distributed Cloudset์˜ ๊ฒฝ์šฐ์—๋Š” false๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

logger.envVars ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.5

๊ธฐ๋ณธ๊ฐ’: None

HTTP ํ”„๋ก์‹œ๋ฅผ ํ†ตํ•ด ๋ผ์šฐํŒ…๋˜์ง€ ์•Š๋Š” ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•ด URL์„ ์ง€์ •ํ•˜๋Š” NO_PROXY Fluent Bit ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NO_PROXY ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ ํ˜•์‹์œผ๋กœ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋ฌธ์ž์—ด๋กœ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

logger:
  ...
  envVars:
    NO_PROXY: '<comma-separated-values>'

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  envVars:
    NO_PROXY: 'kubernetes.default.svc,oauth2.googleapis.com,logging.googleapis.com'

HTTP ์ „๋‹ฌ ํ”„๋ก์‹œ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋œ ๊ฒฝ์šฐ ์„ ํƒ์ ์œผ๋กœ envVars: NO_PROXY๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Fluent Bit ๋ฌธ์„œ์˜ NO_PROXY๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

logger.flushInterval ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 1

๋‹ค์Œ ๋ฒ„ํผ ํ”Œ๋Ÿฌ์‹œ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์ „์— ๋Œ€๊ธฐํ•˜๋Š” ๊ฐ„๊ฒฉ(์ดˆ)์ž…๋‹ˆ๋‹ค.

logger.gsa ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: None

Helm๋งŒ ํ•ด๋‹น: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•  ๋•Œ ํ•ด๋‹น Kubernetes ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•  apigee-logger Google IAM ์„œ๋น„์Šค ๊ณ„์ •(GSA)์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. gcp.workloadIdentity.enabled๋ฅผ true๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

GSA ์ด๋ฉ”์ผ ์ฃผ์†Œ์˜ ํ˜•์‹์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

apigee-logger@my-hybrid-project.iam.gserviceaccount.com

GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์‚ฌ์šฉ ์„ค์ • ๋˜๋Š” AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

logger.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

logger.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1.9.9

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

logger.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

logger.livenessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 3

์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— Kubernetes๊ฐ€ ํ™œ์„ฑ ํ”„๋กœ๋ธŒ์˜ ์‹คํŒจ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

logger.livenessProbe.initialDelaySeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 0

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์–ด ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

logger.livenessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 60

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๋ฅผ ์‹คํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

logger.livenessProbe.successThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹คํŒจ ํ›„ ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผ๋˜๋ ค๋ฉด ์ตœ์†Œ ์—ฐ์†์ ์ธ ์„ฑ๊ณต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

logger.livenessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

logger.nodeSelector.key ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: apigee.com/apigee-logger-enabled

ํ•„์ˆ˜

logger ๋Ÿฐํƒ€์ž„ ์„œ๋น„์Šค์˜ ์ „์šฉ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ํ‚ค์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

logger.nodeSelector.value ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: true

ํ•„์ˆ˜

logger ๋Ÿฐํƒ€์ž„ ์„œ๋น„์Šค์˜ ์ „์šฉ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

logger.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 200m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

logger.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 500Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

logger.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 100m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

logger.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 250Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

logger.serviceAccountPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

๋กœ๊ทธ ์ž‘์„ฑ์ž ์—ญํ• ์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

logger.serviceAccountRef ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

logger.storageMaxChunks ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 128

๋ฉ”๋ชจ๋ฆฌ์— ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ์ฒญํฌ ์ˆ˜์ž…๋‹ˆ๋‹ค. ํ•œ๋„๋ฅผ ์ดˆ๊ณผํ•˜๋Š” ์ฒญํฌ๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.

logger.terminationGracePeriodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 30

ํฌ๋“œ ์‚ญ์ œ๊ฐ€ ์š”์ฒญ๋˜๋Š” ์‹œ์ ๊ณผ ํฌ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ์‹œ์  ์‚ฌ์ด์˜ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ชจ๋“  ์‚ฌ์ „ ์ค‘์ง€ ํ›„ํฌ๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

logger.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

logger.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

logger.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

logger.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

logger.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mart

KMS(API ํ‚ค ๋ฐ OAuth ํ† ํฐ), KVM, ํ• ๋‹น๋Ÿ‰, API ์ œํ’ˆ๊ณผ ๊ฐ™์€ ๋Ÿฐํƒ€์ž„ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์— ์•ก์„ธ์Šคํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ณต๊ฐœ Apigee API์˜ API ์ œ๊ณต์—…์ฒด ์—ญํ• ์„ ํ•˜๋Š” MART(๋Ÿฐํƒ€์ž„ ๋ฐ์ดํ„ฐ์šฉ Management API) ์„œ๋น„์Šค๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” mart ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
mart.annotations ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.5.0

๊ธฐ๋ณธ๊ฐ’: None

ํฌ๋“œ๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„ ํƒ์ ์ธ ํ‚ค-๊ฐ’ ๋งต์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ์ฃผ์„์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mart.gsa ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: None

Helm๋งŒ ํ•ด๋‹น: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•  ๋•Œ ํ•ด๋‹น Kubernetes ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•  apigee-mart Google IAM ์„œ๋น„์Šค ๊ณ„์ •(GSA)์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. gcp.workloadIdentity.enabled๋ฅผ true๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

GSA ์ด๋ฉ”์ผ ์ฃผ์†Œ์˜ ํ˜•์‹์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

apigee-mart@my-hybrid-project.iam.gserviceaccount.com

GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์‚ฌ์šฉ ์„ค์ • ๋˜๋Š” AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mart.hostAlias ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

MART ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ˜ธ์ŠคํŠธ ๋ณ„์นญ์ž…๋‹ˆ๋‹ค. ์ด ์†์„ฑ์„ * ๋˜๋Š” ์ •๊ทœํ™”๋œ ๋„๋ฉ”์ธ ์ด๋ฆ„์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

mart.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

mart.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

mart.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

mart.initCheckCF.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 10m

Cloud Foundry ํ”„๋กœ์„ธ์Šค์˜ ์ดˆ๊ธฐํ™” ํ™•์ธ์— ํ• ๋‹น๋œ CPU ๋ฆฌ์†Œ์Šค์˜ ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค.

mart.livenessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 12

์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— Kubernetes๊ฐ€ ํ™œ์„ฑ ํ”„๋กœ๋ธŒ์˜ ์‹คํŒจ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

mart.livenessProbe.initialDelaySeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 15

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์–ด ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

mart.livenessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 5

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๋ฅผ ์‹คํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

mart.livenessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

mart.metricsURL ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: /v1/server/metrics

mart.nodeSelector.key ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

mart ๋Ÿฐํƒ€์ž„ ์„œ๋น„์Šค์˜ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ์„ ํƒ์  ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ํ‚ค์ž…๋‹ˆ๋‹ค. mart.nodeselector์˜ ํ‚ค๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๋Ÿฐํƒ€์ž„์€ nodeSelector ๊ฐ์ฒด์— ์ง€์ •๋œ ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mart.nodeSelector.value ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

mart ์„œ๋น„์Šค์˜ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ์„ ํƒ์  ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ๊ฐ’์ž…๋‹ˆ๋‹ค. nodeSelector ๊ฐ์ฒด๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mart.readinessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 2

Kubernetes๊ฐ€ ํฌ๋“œ๋ฅผ unready๋กœ ํ‘œ์‹œํ•˜๊ธฐ ์ „์— ์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹คํŒจํ–ˆ์Œ์„ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

mart.readinessProbe.initialDelaySeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 15

์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์–ด ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

mart.readinessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 5

์ค€๋น„ ํ”„๋กœ๋ธŒ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

mart.readinessProbe.successThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹คํŒจ ํ›„ ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผ๋˜๋ ค๋ฉด ์ตœ์†Œ์˜ ์—ฐ์†์ ์ธ ์„ฑ๊ณต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

mart.readinessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

mart.replicaCountMax ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 5

์ž๋™ ํ™•์žฅ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค.

mart.replicaCountMin ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

์ž๋™ ํ™•์žฅ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค.

mart.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 2000m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

mart.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 5Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

mart.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

mart.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 512Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

mart.serviceAccountPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.1

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

์—ญํ• ์ด ์—†๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

mart.serviceAccountRef ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

mart.sslCertPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

sslCertPath/sslKeyPath ๋˜๋Š” sslSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

SSL ์ธ์ฆ์„œ๋ฅผ ๋ณด์•ˆ ๋น„๋ฐ€์— ๋กœ๋“œํ•˜๊ณ  ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

mart.sslKeyPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

sslCertPath/sslKeyPath ๋˜๋Š” sslSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

SSL ํ‚ค๋ฅผ ๋ณด์•ˆ ๋น„๋ฐ€์— ๋กœ๋“œํ•˜๊ณ  ์ธ์ฝ”๋”ฉํ•˜๋Š” ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

mart.sslSecret ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

sslCertPath/sslKeyPath ๋˜๋Š” sslSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

TLS ์ธ์ฆ์„œ์™€ ๋น„๊ณต๊ฐœ ํ‚ค๊ฐ€ ํฌํ•จ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์— ์ €์žฅ๋œ ํŒŒ์ผ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. TLS ์ธ์ฆ์„œ์™€ ํ‚ค ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ๋น„๋ฐ€์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ:

mart.targetCPUUtilizationPercentage ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 75

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

mart.terminationGracePeriodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 30

ํฌ๋“œ ์‚ญ์ œ๊ฐ€ ์š”์ฒญ๋˜๋Š” ์‹œ์ ๊ณผ ํฌ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ์‹œ์  ์‚ฌ์ด์˜ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ชจ๋“  ์‚ฌ์ „ ์ค‘์ง€ ํ›„ํฌ๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

mart.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mart.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mart.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mart.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mart.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics

์ž‘์—… ์ธก์ •ํ•ญ๋ชฉ์„ ์ˆ˜์ง‘ํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ธก์ •ํ•ญ๋ชฉ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„œ๋น„์Šค์˜ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ์•Œ๋ฆผ์„ ์„ค์ •ํ•˜๊ณ , ๊ธฐํƒ€ ๋‹ค๋ฅธ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ธก์ •ํ•ญ๋ชฉ ์ปฌ๋ ‰์…˜ ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” metrics ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
metrics.adapter.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.1

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.adapter.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.1

๊ธฐ๋ณธ๊ฐ’: v0.11.0

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

metrics.adapter.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.8.1

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

metrics.adapter.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.3

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์–ด๋Œ‘ํ„ฐ ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.adapter.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.3

๊ธฐ๋ณธ๊ฐ’: 4Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์–ด๋Œ‘ํ„ฐ ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๊ธฐ๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.adapter.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.3

๊ธฐ๋ณธ๊ฐ’: 100m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์–ด๋Œ‘ํ„ฐ์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.adapter.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.3

๊ธฐ๋ณธ๊ฐ’: 128Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์–ด๋Œ‘ํ„ฐ์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.aggregator.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์• ๊ทธ๋ฆฌ๊ฒŒ์ดํ„ฐ์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.aggregator.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 512Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์• ๊ทธ๋ฆฌ๊ฒŒ์ดํ„ฐ์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.aggregator.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์• ๊ทธ๋ฆฌ๊ฒŒ์ดํ„ฐ ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.aggregator.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 3Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์• ๊ทธ๋ฆฌ๊ฒŒ์ดํ„ฐ ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๊ธฐ๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.annotations ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.5.0

๊ธฐ๋ณธ๊ฐ’: None

ํฌ๋“œ๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„ ํƒ์ ์ธ ํ‚ค-๊ฐ’ ๋งต์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ์ฃผ์„์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.app.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์•ฑ์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.app.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 512Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์•ฑ์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.app.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์•ฑ ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.app.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 1Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์•ฑ ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๊ธฐ๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.appStackdriverExporter.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 128m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด stackdriverExporter์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.appStackdriverExporter.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 512Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด stackdriverExporter์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.appStackdriverExporter.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด stackdriverExporter ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.appStackdriverExporter.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 1Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด stackdriverExporter ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๊ธฐ๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.collector.envVars ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.13

๊ธฐ๋ณธ๊ฐ’: None

OpenTelemetry์—์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ „๋‹ฌํ•˜๊ณ  ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด HTTP_PROXY, HTTPS_PROXY ๋˜๋Š” NO_PROXY๋ฅผ ์ •์˜ํ•˜์—ฌ ์š”์ฒญ์ด ํ”„๋ก์‹œ ์„œ๋ฒ„๋ฅผ ํ†ต๊ณผํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

HTTP_PROXY ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ ํ˜•์‹์œผ๋กœ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ด ํฌํ•จ๋œ ๋ฌธ์ž์—ด๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

metrics:
...
  envVars:
    HTTP_PROXY: '<host-name>'

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  envVars:
    HTTP_PROXY: 'http://1.1.1.1:80'

HTTPS_PROXY ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ ํ˜•์‹์œผ๋กœ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ด ํฌํ•จ๋œ ๋ฌธ์ž์—ด๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

metrics:
...
  envVars:
    HTTPS_PROXY: '<host-name>'

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  envVars:
    HTTPS_PROXY: 'https://1.1.1.1:80'

NO_PROXY ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ ํ˜•์‹์œผ๋กœ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๋ฌธ์ž์—ด๋กœ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

metrics:
...
envVars:
  NO_PROXY: '<comma-separated-values>'

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

envVars:
  NO_PROXY: 'https://1.1.1.1:80, https://1.1.1.1:81'

HTTP ์ „๋‹ฌ ํ”„๋ก์‹œ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋œ ๊ฒฝ์šฐ ์„ ํƒ์ ์œผ๋กœ envVars: HTTP_PROXY, envVars: HTTPS_PROXY ๋˜๋Š” envVars: NO_PROXY๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

OpenTelemetry ๋ฌธ์„œ์˜ ํ”„๋ก์‹œ ์ง€์›์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.collector.imagePullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ Apigee Hybrid๋กœ ๋น„๊ณต๊ฐœ ์ด๋ฏธ์ง€ ์ €์žฅ์†Œ ์‚ฌ์šฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.collector.image.tag ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: v0.93.0

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

metrics.collector.image.url ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

metrics.collector.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์•ฑ์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.collector.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 512Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์•ฑ์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.collector.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์•ฑ ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.collector.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 1Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ์•ฑ ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๊ธฐ๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.collector.livenessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 5

์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— Kubernetes๊ฐ€ ํ™œ์„ฑ ํ”„๋กœ๋ธŒ์˜ ์‹คํŒจ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.collector.livenessProbe.initialDelaySeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 30

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์–ด ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

metrics.collector.livenessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 10

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๋ฅผ ์‹คํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.collector.livenessProbe.successThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 1

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ ์‹คํŒจ ํ›„ ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผ๋˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ตœ์†Œ ์—ฐ์† ์„ฑ๊ณต ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.collector.livenessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 5

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.collector.readinessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 3

Kubernetes๊ฐ€ ํฌ๋“œ๋ฅผ unready๋กœ ํ‘œ์‹œํ•˜๊ธฐ ์ „์— ์ค€๋น„ ์ƒํƒœ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹คํŒจํ–ˆ์Œ์„ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.collector.readinessProbe.initialDelaySeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 30

์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์–ด ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

metrics.collector.readinessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 10

์ค€๋น„ ํ”„๋กœ๋ธŒ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.collector.readinessProbe.successThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 1

์ค€๋น„ ํ”„๋กœ๋ธŒ ์‹คํŒจ ํ›„ ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผ๋˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ตœ์†Œ ์—ฐ์† ์„ฑ๊ณต ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.collector.readinessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: 5

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.disablePrometheusPipeline ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.12.0

๊ธฐ๋ณธ๊ฐ’: true

ProxyV2 ๋ฐ TargetV2 ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฆฌ์†Œ์Šค์˜ ์ธก์ •ํ•ญ๋ชฉ์€ true๋กœ ์„ค์ •ํ•˜๋ฉด ๋‚ด๋ณด๋‚ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ๋ชจ๋‹ˆํ„ฐ๋ง๋˜๋Š” Proxy ๋ฐ Target ๋ฆฌ์†Œ์Šค์˜ ์ธก์ •ํ•ญ๋ชฉ์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

metrics.enabled ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: true

Apigee ์ธก์ •ํ•ญ๋ชฉ์„ ์‚ฌ์šฉ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ธก์ •ํ•ญ๋ชฉ์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ธก์ •ํ•ญ๋ชฉ์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๋ ค๋ฉด false๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

metrics.gsa ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: None

Helm๋งŒ ํ•ด๋‹น: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•  ๋•Œ ํ•ด๋‹น Kubernetes ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•  apigee-metrics Google IAM ์„œ๋น„์Šค ๊ณ„์ •(GSA)์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. gcp.workloadIdentity.enabled๋ฅผ true๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

GSA ์ด๋ฉ”์ผ ์ฃผ์†Œ์˜ ํ˜•์‹์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

apigee-metrics@my-hybrid-project.iam.gserviceaccount.com

GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์‚ฌ์šฉ ์„ค์ • ๋˜๋Š” AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.nodeSelector.key ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

metrics ๋Ÿฐํƒ€์ž„ ์„œ๋น„์Šค์˜ ์ „์šฉ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ํ‚ค์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.nodeSelector.value ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

metrics ๋Ÿฐํƒ€์ž„ ์„œ๋น„์Šค์˜ ์ „์šฉ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.prometheus.containerPort ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 9090

Prometheus ์ธก์ •ํ•ญ๋ชฉ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•  ํฌํŠธ์ž…๋‹ˆ๋‹ค.

metrics.prometheus.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.prometheus.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: v2.45.0

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

metrics.prometheus.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

metrics.prometheus.livenessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 6

์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— Kubernetes๊ฐ€ ํ™œ์„ฑ ํ”„๋กœ๋ธŒ์˜ ์‹คํŒจ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.prometheus.livenessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 5

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๋ฅผ ์‹คํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.prometheus.livenessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 3

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.prometheus.readinessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 120

Kubernetes๊ฐ€ ํฌ๋“œ๋ฅผ unready๋กœ ํ‘œ์‹œํ•˜๊ธฐ ์ „์— ์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹คํŒจํ–ˆ์Œ์„ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.prometheus.readinessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 5

์ค€๋น„ ํ”„๋กœ๋ธŒ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.prometheus.readinessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 3

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

metrics.prometheus.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.3

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด Prometheus ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.prometheus.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.3

๊ธฐ๋ณธ๊ฐ’: 4Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด Prometheus ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๊ธฐ๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.prometheus.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.3

๊ธฐ๋ณธ๊ฐ’: 128m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด Prometheus์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.prometheus.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.3

๊ธฐ๋ณธ๊ฐ’: 512Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด Prometheus์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.prometheus.sslCertPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

Prometheus ์ธก์ •ํ•ญ๋ชฉ ์ˆ˜์ง‘ ํ”„๋กœ์„ธ์Šค์˜ SSL ์ธ์ฆ์„œ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. Prometheus๋Š” Apigee๊ฐ€ ์ธก์ •ํ•ญ๋ชฉ์„ ์ˆ˜์ง‘ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.prometheus.sslKeyPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

Prometheus ์ธก์ •ํ•ญ๋ชฉ ์ˆ˜์ง‘ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ SSL ํ‚ค ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค. Prometheus๋Š” Apigee๊ฐ€ ์ธก์ •ํ•ญ๋ชฉ์„ ์ˆ˜์ง‘ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.proxy.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ํ”„๋ก์‹œ์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.proxy.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 512Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ํ”„๋ก์‹œ์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.proxy.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ํ”„๋ก์‹œ ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.proxy.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 1Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ํ”„๋ก์‹œ ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๊ธฐ๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.proxyStackdriverExporter.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 128m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด stackdriverExporter์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.proxyStackdriverExporter.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 512Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด stackdriverExporter์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.proxyStackdriverExporter.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด stackdriverExporter ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

metrics.proxyStackdriverExporter.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 1Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด stackdriverExporter ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๊ธฐ๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

metrics.proxyURL ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ธก์ •ํ•ญ๋ชฉ ํ”„๋กœ์„ธ์Šค ์‚ฌ์ด๋“œ์นด ํ”„๋ก์‹œ์˜ URL์ž…๋‹ˆ๋‹ค.

metrics.sdSidecar.containerPort ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 9091

Cloud Monitoring ์ธก์ •ํ•ญ๋ชฉ ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•˜๋Š” ํฌํŠธ์ž…๋‹ˆ๋‹ค.

metrics.sdSidecar.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

Kubelet์—์„œ ์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ •์ฑ…์ด ์ด๋ฏธ ์žˆ๋”๋ผ๋„ ํ•ญ์ƒ ์ •์ฑ…์„ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

    ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.sdSidecar.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: v0.9.0

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

metrics.sdSidecar.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

metrics.serviceAccountPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

Monitoring ์ธก์ •ํ•ญ๋ชฉ ์ž‘์„ฑ์ž ์—ญํ• ์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

metrics.serviceAccountRef ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

metrics.stackdriverExporter.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

Deprecated: Hybrid ๋ฒ„์ „ 1.8๋ถ€ํ„ฐ metrics:stackdriverExporter๊ฐ€ metrics:appStackdriverExporter ๋ฐ metrics:proxyStackdriverExporter๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.stackdriverExporter.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

Deprecated: Hybrid ๋ฒ„์ „ 1.8๋ถ€ํ„ฐ metrics:stackdriverExporter๊ฐ€ metrics:appStackdriverExporter ๋ฐ metrics:proxyStackdriverExporter๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.stackdriverExporter.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

Deprecated: Hybrid ๋ฒ„์ „ 1.8๋ถ€ํ„ฐ metrics:stackdriverExporter๊ฐ€ metrics:appStackdriverExporter ๋ฐ metrics:proxyStackdriverExporter๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.stackdriverExporter.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

Deprecated: Hybrid ๋ฒ„์ „ 1.8๋ถ€ํ„ฐ metrics:stackdriverExporter๊ฐ€ metrics:appStackdriverExporter ๋ฐ metrics:proxyStackdriverExporter๋กœ ๋Œ€์ฒด๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.terminationGracePeriodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 300

ํฌ๋“œ ์‚ญ์ œ๊ฐ€ ์š”์ฒญ๋˜๋Š” ์‹œ์ ๊ณผ ํฌ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ์‹œ์  ์‚ฌ์ด์˜ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ชจ๋“  ์‚ฌ์ „ ์ค‘์ง€ ํ›„ํฌ๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

metrics.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

metrics.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mintTaskScheduler

mintTaskScheduler๋Š” ๋ฐ˜๋ณต ์š”๊ธˆ ๊ณ„์‚ฐ๊ณผ ๊ฐ™์€ ์ˆ˜์ต ์ฐฝ์ถœ ์ž‘์—…์„ ์ •๊ธฐ์ ์œผ๋กœ ์˜ˆ์•ฝํ•˜๋Š” ํฌ๋ก  ์ž‘์—…์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” mintTaskScheduler ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
mintTaskScheduler.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

mintTaskScheduler.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

mintTaskScheduler.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

mintTaskScheduler.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.0

๊ธฐ๋ณธ๊ฐ’: 2000m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

mintTaskScheduler.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.0

๊ธฐ๋ณธ๊ฐ’: 4Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

mintTaskScheduler.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

mintTaskScheduler.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 512Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

mintTaskScheduler.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mintTaskScheduler.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mintTaskScheduler.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mintTaskScheduler.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

mintTaskScheduler.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

newDataPipeline

newDataPipeline์€ Apigee Hybrid๊ฐ€ ๋Ÿฐํƒ€์ž„ ๊ตฌ์„ฑ์š”์†Œ์— ์ƒˆ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์— ์ง์ ‘ ์“ฐ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ v1.13.1 ์ด์ƒ์—์„œ ๋ฐ์ดํ„ฐ ์ƒ์ฃผ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋œ Hybrid ์กฐ์ง์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ƒ์ฃผ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋˜์ง€ ์•Š์€ ์กฐ์ง์—์„œ ์ƒˆ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•˜์ง€ ๋งˆ์„ธ์š”. Hybrid v1.13.1์—์„œ ์ƒ์„ฑ๋œ ์ƒˆ ์กฐ์ง์—์„œ๋งŒ ์ด ์ƒˆ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Apigee Hybrid์—์„œ ๋ฐ์ดํ„ฐ ์ƒ์ฃผ ์‚ฌ์šฉ๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” newDataPipeline ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
newDataPipeline.debugSession ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.1

๊ธฐ๋ณธ๊ฐ’: false

์ƒˆ Pub/Sub ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์ด ์‚ฌ์šฉ ์„ค์ •๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ด ์†์„ฑ์„ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(๋ฐ์ดํ„ฐ ์ƒ์ฃผ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋œ ์ƒˆ Hybrid v1.13.1 ์กฐ์ง์— ํ•„์š”). ์ƒˆ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ฌ์šฉ ์ค‘์ง€ํ•˜๋ ค๋ฉด false๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ ์ƒ์ฃผ๋กœ ์• ๋„๋ฆฌํ‹ฑ์Šค ๋ฐ ๋””๋ฒ„๊ทธ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์ฐธ์กฐํ•˜์„ธ์š”.

newDataPipeline.analytics ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.1

๊ธฐ๋ณธ๊ฐ’: false

์• ๋„๋ฆฌํ‹ฑ์Šค์—์„œ ์ƒˆ Pub/Sub ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ฌ์šฉํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์• ๋„๋ฆฌํ‹ฑ์Šค์—์„œ ์ƒˆ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ•˜๋ ค๋ฉด ์ด ์†์„ฑ์„ true๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(๋ฐ์ดํ„ฐ ์ƒ์ฃผ๊ฐ€ ์‚ฌ์šฉ ์„ค์ •๋œ ์ƒˆ Hybrid v1.13.1 ์กฐ์ง์— ํ•„์š”). ์• ๋„๋ฆฌํ‹ฑ์Šค์—์„œ ์ด์ „ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ฌ์šฉํ•˜๋„๋ก ๊ฐ•์ œํ•˜๋ ค๋ฉด false๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ ์ƒ์ฃผ๋กœ ์• ๋„๋ฆฌํ‹ฑ์Šค ๋ฐ ๋””๋ฒ„๊ทธ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์ฐธ์กฐํ•˜์„ธ์š”.

nodeSelector

nodeSelector ๊ฐ์ฒด๋Š” Apigee ์ธ์Šคํ„ด์Šค์˜ ๋…ธ๋“œ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๋ถ€์ ์œผ๋กœ Apigee Hybrid๋Š” apigee-org ๋ฐ apigee-ingress-manager ์ฐจํŠธ๋ฅผ ์„ค์น˜ํ•˜๊ฑฐ๋‚˜ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ apigeeRuntime ๋ฐ apigeeData์˜ ๋ผ๋ฒจ ํ‚ค/๊ฐ’์„ ๊ฐœ๋ณ„ Istio ๋ฐ MART ๊ตฌ์„ฑ์š”์†Œ์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค. mart:nodeSelector ์†์„ฑ์—์„œ ๊ฐœ๋ณ„ ๊ฐ์ฒด์— ๋Œ€ํ•ด ์ด๋ฅผ ์žฌ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” nodeSelector ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
nodeSelector.apigeeData.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: cloud.google.com/gke-nodepool

ApigeeData๋Š” Cassandra ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค. Apigee ์„œ๋น„์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ํ‚ค์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

nodeSelector.apigeeData.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: apigee-data

apigee-data๋Š” Cassandra ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค. Apigee ์„œ๋น„์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

nodeSelector.apigeeRuntime.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: cloud.google.com/gke-nodepool

Apigee ๋Ÿฐํƒ€์ž„์€ ํ”„๋กœ์ ํŠธ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์˜ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค. Apigee ๋Ÿฐํƒ€์ž„ ์„œ๋น„์Šค์˜ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ํ‚ค์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

nodeSelector.apigeeRuntime.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: apigee-runtime

apigee-runtime์€ ํ”„๋กœ์ ํŠธ์˜ ๋Ÿฐํƒ€์ž„ ํ™˜๊ฒฝ์˜ ๋…ธ๋“œ์ž…๋‹ˆ๋‹ค. Apigee ๋Ÿฐํƒ€์ž„ ์„œ๋น„์Šค์˜ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

nodeSelector.requiredForScheduling ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: true

requiredForScheduling ์†์„ฑ ๊ธฐ๋ณธ๊ฐ’์€ true์ž…๋‹ˆ๋‹ค. true์ธ ๊ฒฝ์šฐ Kubernetes๊ฐ€ ๋ผ๋ฒจ ํ‚ค/๊ฐ’์ด ๊ตฌ์„ฑ๋œ ๋…ธ๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์œผ๋ฉด ๊ธฐ๋ณธ ํฌ๋“œ๊ฐ€ VM ์›Œ์ปค ๋…ธ๋“œ์—์„œ ์˜ˆ์•ฝ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๋•์…˜์˜ ๊ฒฝ์šฐ nodeSelector.requiredForScheduling์€ true๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

redis

๋‹ค์Œ ํ‘œ์—์„œ๋Š” redis ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
redis.auth.password ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: iloveapis123

ํ•„์ˆ˜

Redis ๊ด€๋ฆฌ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๋Š” Redis ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๋ชจ๋“  ๊ด€๋ฆฌ ํ™œ๋™์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

redis.auth.secret ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.9.1

๊ธฐ๋ณธ๊ฐ’: None

Redis ๊ด€๋ฆฌ์ž์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ํฌํ•จ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์— ์ €์žฅ๋œ ํŒŒ์ผ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ๋ณด์•ˆ ๋น„๋ฐ€ ํŒŒ์ผ์—๋Š” ํ‚ค๊ฐ€ ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

data:
    redis.auth.password: encoded_value

์ฐธ์กฐ:

redis.envoy.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

redis.envoy.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: v1.27.0

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

redis.envoy.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

redis.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

redis.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

redis.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

redis.replicaCount ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: 2

Redis๋Š” ๋ณต์ œ๋œ ์Šคํ† ๋ฆฌ์ง€์ž…๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ StatefulSet๋กœ ์‚ฌ์šฉ๋˜๋Š” Redis ๋…ธ๋“œ ์ˆ˜๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

redis.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.6.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

redis.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

redis.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

redis.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

redis.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

redis.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

runtime

๋‹ค์Œ ํ‘œ์—์„œ๋Š” runtime ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
runtime.annotations ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.5.0

๊ธฐ๋ณธ๊ฐ’: None

ํฌ๋“œ๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„ ํƒ์ ์ธ ํ‚ค-๊ฐ’ ๋งต์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ์ฃผ์„์„ ์ฐธ์กฐํ•˜์„ธ์š”.

runtime.envVars ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.1

๊ธฐ๋ณธ๊ฐ’: None

ํ‚ค-๊ฐ’ ์Œ์˜ ๋Ÿฐํƒ€์ž„ ๊ตฌ์„ฑ์š”์†Œ์— ์ถ”๊ฐ€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

runtime:
  envVars:
    KEY_1: VALUE_N
    ... ...
    KEY_N: VALUE_N

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

runtime:
  envVars:
    RUNTIME_ENV_VAR1: "value of runtime env-var 1"
    RUNTIME_ENV_VAR2: "value of runtime env-var 2"
runtime.hpaBehavior.scaleDown.percent.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 60

๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ๋น„์œจ์„ ์ถ•์†Œํ•  ๋•Œ ์ •์ฑ…์ด ์ ์šฉ๋˜๋Š” ๊ธฐ๊ฐ„์ž…๋‹ˆ๋‹ค.

runtime.hpaBehavior.scaleDown.percent.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 20

๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ๋น„์œจ์„ ์ถ•์†Œํ•  ๋•Œ ์ •์ฑ…์—์„œ ํ—ˆ์šฉํ•˜๋Š” ๋ณ€๊ฒฝ๋Ÿ‰์ž…๋‹ˆ๋‹ค.

runtime.hpaBehavior.scaleDown.pods.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 60

๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ์ˆ˜๋ฅผ ์ค„์ผ ๋•Œ ์ •์ฑ…์ด ์ ์šฉ๋˜๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

runtime.hpaBehavior.scaleDown.pods.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 20

๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ์ˆ˜๋ฅผ ์ค„์ผ ๋•Œ ์ •์ฑ…์—์„œ ํ—ˆ์šฉํ•˜๋Š” ๋ณ€๊ฒฝ๋Ÿ‰์ž…๋‹ˆ๋‹ค.

runtime.hpaBehavior.scaleDown.selectPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: Min

์ž๋™ ํ™•์žฅ ์ฒ˜๋ฆฌ๊ฐ€ ์—ฌ๋Ÿฌ ์ž๋™ ํ™•์žฅ ์ •์ฑ… ๊ฐ„์— ๋‚ด๋ฆฌ๋Š” ๊ฒฐ์ •์ž…๋‹ˆ๋‹ค. ๊ฐ’์„ Min์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ์ถ•์†Œ ์‹œ ๋ณ€๊ฒฝ์ด ์ตœ์†Œํ•œ์œผ๋กœ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ’์„ Max๋กœ ์„ค์ •ํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ์ถ•์†Œ ์‹œ ๋ณ€๊ฒฝ์ด ์ตœ๋Œ€ํ•œ์œผ๋กœ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

runtime.hpaBehavior.scaleDown.stabilizationWindowSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 120

์ถ•์†Œํ•˜๋Š” ๋™์•ˆ ์ด์ „ ์ถ”์ฒœ์„ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

runtime.hpaBehavior.scaleUp.percent.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 60

๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ๋น„์œจ์„ ํ™•์žฅํ•  ๋•Œ ์ •์ฑ…์ด ์ ์šฉ๋˜๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

runtime.hpaBehavior.scaleUp.percent.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 20

๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ๋น„์œจ์„ ํ™•์žฅํ•  ๋•Œ ์ •์ฑ…์ด ์ ์šฉ๋˜๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

runtime.hpaBehavior.scaleUp.pods.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 60

๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ์ˆ˜๋ฅผ ๋Š˜๋ฆด ๋•Œ ์ •์ฑ…์ด ์ ์šฉ๋˜๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค.

runtime.hpaBehavior.scaleUp.pods.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 4

๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ์ˆ˜๋ฅผ ๋Š˜๋ฆด ๋•Œ ์ •์ฑ…์—์„œ ํ—ˆ์šฉํ•˜๋Š” ๋ณ€๊ฒฝ๋Ÿ‰์ž…๋‹ˆ๋‹ค.

runtime.hpaBehavior.scaleUp.selectPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: Max

์ž๋™ ํ™•์žฅ ์ฒ˜๋ฆฌ๊ฐ€ ์—ฌ๋Ÿฌ ์ž๋™ ํ™•์žฅ ์ •์ฑ… ๊ฐ„์— ๋‚ด๋ฆฌ๋Š” ๊ฒฐ์ •์ž…๋‹ˆ๋‹ค. ๊ฐ’์„ Min์œผ๋กœ ์„ค์ •ํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ํ™•์žฅ ์‹œ ๋ณ€ํ™”๊ฐ€ ์ตœ์†Œํ•œ์œผ๋กœ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ’์„ Max๋กœ ์„ค์ •ํ•˜๋ฉด ๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค ํ™•์žฅ ์‹œ ๋ณ€ํ™”๊ฐ€ ์ตœ๋Œ€ํ•œ์œผ๋กœ ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค.

runtime.hpaBehavior.scaleUp.stabilizationWindowSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 30

๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค๋ฅผ ํ™•์žฅํ•˜๋Š” ๋™์•ˆ ์ด์ „ ๊ถŒ์žฅ์‚ฌํ•ญ์„ ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š” ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

runtime.hpaMetrics.serverMainTaskWaitTime ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 400M

http ๋ ˆ์ด์–ด์—์„œ ํ”„๋ก์‹œ ์š”์ฒญ์˜ ๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ํ์— ๋Œ€ํ•ด ์›ํ•˜๋Š” ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ)์ž…๋‹ˆ๋‹ค.

runtime.hpaMetrics.serverNioTaskWaitTime ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 400M

ํ”„๋ก์‹œ ์š”์ฒญ์ด ์ •์ฑ…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค์—์„œ ์ฒ˜๋ฆฌ ์ค‘์ธ ํ์— ์›ํ•˜๋Š” ํ‰๊ท  ๋Œ€๊ธฐ ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ)์ž…๋‹ˆ๋‹ค.

runtime.hpaMetrics.targetCPUUtilizationPercentage ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.7.0

๊ธฐ๋ณธ๊ฐ’: 75

๋ชจ๋“  ๋Ÿฐํƒ€์ž„ ์ธ์Šคํ„ด์Šค์—์„œ ์›ํ•˜๋Š” CPU ์‚ฌ์šฉ๋ฅ ์ž…๋‹ˆ๋‹ค.

runtime.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

runtime.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

runtime.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

runtime.livenessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 2

์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— Kubernetes๊ฐ€ ํ™œ์„ฑ ํ”„๋กœ๋ธŒ์˜ ์‹คํŒจ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

runtime.livenessProbe.initialDelaySeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 60

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์–ด ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

runtime.livenessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 5

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๋ฅผ ์‹คํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

runtime.livenessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

runtime.nodeSelector.key ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

runtime ์„œ๋น„์Šค์˜ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ์„ ํƒ์  ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ํ‚ค์ž…๋‹ˆ๋‹ค.

nodeSelector ์†์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

runtime.nodeSelector.value ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

runtime ์„œ๋น„์Šค์˜ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

runtime.readinessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 2

Kubernetes๊ฐ€ ํฌ๋“œ๋ฅผ unready๋กœ ํ‘œ์‹œํ•˜๊ธฐ ์ „์— ์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹คํŒจํ–ˆ์Œ์„ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

runtime.readinessProbe.initialDelaySeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 60

์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์–ด ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

runtime.readinessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 5

์ค€๋น„ ํ”„๋กœ๋ธŒ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

runtime.readinessProbe.successThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹คํŒจ ํ›„ ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผ๋˜๋ ค๋ฉด ์ตœ์†Œ์˜ ์—ฐ์†์ ์ธ ์„ฑ๊ณต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

runtime.readinessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

runtime.replicaCountMax ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 4

์ž๋™ ํ™•์žฅ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค.

runtime.replicaCountMin ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

์ž๋™ ํ™•์žฅ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค.

runtime.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 4000m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

runtime.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 6Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

runtime.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

runtime.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 512Mi(์•„๋ž˜ ์ฐธ๊ณ  ์ฐธ์กฐ)

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„(Mi) ๋˜๋Š” ๊ธฐ๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„(Gi)).

runtime.service.type ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: ClusterIP

์„œ๋น„์Šค ์œ ํ˜•์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ClusterIP๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด LoadBalancer์ž…๋‹ˆ๋‹ค.

runtime.targetCPUUtilizationPercentage ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 75

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

runtime.terminationGracePeriodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 180

ํฌ๋“œ ์‚ญ์ œ๊ฐ€ ์š”์ฒญ๋˜๋Š” ์‹œ์ ๊ณผ ํฌ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ์‹œ์  ์‚ฌ์ด์˜ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ชจ๋“  ์‚ฌ์ „ ์ค‘์ง€ ํ›„ํฌ๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

runtime.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

runtime.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

runtime.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

runtime.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

runtime.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

synchronizer

๋ฉ”์‹œ์ง€ ํ”„๋กœ์„ธ์„œ๋ฅผ ์ตœ๊ทผ ๋ฐฐํฌ๋œ API ํ”„๋ก์‹œ ๋ฒˆ๋“ค๊ณผ ํ•จ๊ป˜ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋™๊ธฐํ™” ๋‹ด๋‹น์ž๊ฐ€ ๊ด€๋ฆฌ ์˜์—ญ์„ ํด๋งํ•˜๋ฉฐ ์ƒˆ ๊ณ„์•ฝ์ด ๊ฐ์ง€๋˜๋ฉด ๋™๊ธฐํ™” ๋‹ด๋‹น์ž๋Š” ์ด๋ฅผ ๋Ÿฐํƒ€์ž„ ์˜์—ญ์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋™๊ธฐํ™” ๋‹ด๋‹น์ž๋Š” Cassandra์— ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋™๊ธฐํ™” ๋‹ด๋‹น์ž ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” synchronizer ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
synchronizer.annotations ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.5.0

๊ธฐ๋ณธ๊ฐ’: None

ํฌ๋“œ๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„ ํƒ์ ์ธ ํ‚ค-๊ฐ’ ๋งต์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ์ฃผ์„์„ ์ฐธ์กฐํ•˜์„ธ์š”.

synchronizer.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

synchronizer.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

synchronizer.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

synchronizer.livenessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 2

์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— Kubernetes๊ฐ€ ํ™œ์„ฑ ํ”„๋กœ๋ธŒ์˜ ์‹คํŒจ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

synchronizer.livenessProbe.initialDelaySeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 0

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์–ด ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

synchronizer.livenessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 5

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๋ฅผ ์‹คํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

synchronizer.livenessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

synchronizer.nodeSelector.key ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

synchronizer ๋Ÿฐํƒ€์ž„ ์„œ๋น„์Šค์˜ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ์„ ํƒ์  ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ํ‚ค์ž…๋‹ˆ๋‹ค.

nodeSelector๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

synchronizer.nodeSelector.value ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

synchronizer ์„œ๋น„์Šค์˜ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ ์„ ํƒ์  ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ๊ฐ’์ž…๋‹ˆ๋‹ค.

nodeSelector๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

synchronizer.pollInterval ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 60

๋™๊ธฐํ™” ๋‹ด๋‹น์ž๊ฐ€ ํด๋ง ์ž‘์—… ์‚ฌ์ด์— ๋Œ€๊ธฐํ•˜๋Š” ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ๋™๊ธฐํ™” ๋‹ด๋‹น์ž๋Š” Apigee ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ ์„œ๋น„์Šค๋ฅผ ํด๋งํ•˜์—ฌ ์ƒˆ ๋Ÿฐํƒ€์ž„ ๊ณ„์•ฝ์„ ๊ฐ์ง€ํ•˜๊ณ  ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

synchronizer.readinessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 2

Kubernetes๊ฐ€ ํฌ๋“œ๋ฅผ unready๋กœ ํ‘œ์‹œํ•˜๊ธฐ ์ „์— ์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹คํŒจํ–ˆ์Œ์„ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

synchronizer.readinessProbe.initialDelaySeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 0

์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์–ด ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

synchronizer.readinessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 5

์ค€๋น„ ํ”„๋กœ๋ธŒ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

synchronizer.readinessProbe.successThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

์ค€๋น„ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹คํŒจ ํ›„ ์„ฑ๊ณต์œผ๋กœ ๊ฐ„์ฃผ๋˜๋ ค๋ฉด ์ตœ์†Œ์˜ ์—ฐ์†์ ์ธ ์„ฑ๊ณต์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

synchronizer.readinessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

synchronizer.replicaCount ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

Deprecated: ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๋ฒ„์ „ 1.2๋ถ€ํ„ฐ synchronizer.replicaCountMax ๋ฐ synchronizer.replicaCountMin์œผ๋กœ ๋™๊ธฐํ™” ๋‹ด๋‹น์ž ๋ณต์ œ๋ณธ ์ˆ˜๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

synchronizer.replicaCountMax ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 4

์ž๋™ ํ™•์žฅ์˜ ์ตœ๋Œ€ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค.

synchronizer.replicaCountMin ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: 1

์ž๋™ ํ™•์žฅ์˜ ์ตœ์†Œ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค.

synchronizer.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 2000m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

synchronizer.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 5Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

synchronizer.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 100m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

synchronizer.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๊ธฐ๊ฐ€๋ฐ”์ดํŠธ ๋‹จ์œ„).

synchronizer.serviceAccountPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

Apigee ๋™๊ธฐํ™” ๋‹ด๋‹น์ž ๊ด€๋ฆฌ์ž ์—ญํ• ์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

synchronizer.serviceAccountRef ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

synchronizer.serviceAccountSecret ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.1.0

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. Apigee ๋™๊ธฐํ™” ๋‹ด๋‹น์ž ๊ด€๋ฆฌ์ž ์—ญํ• ์„ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ๋น„๋ฐ€์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

synchronizer.targetCPUUtilizationPercentage ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 75

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

synchronizer.terminationGracePeriodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 30

ํฌ๋“œ ์‚ญ์ œ๊ฐ€ ์š”์ฒญ๋˜๋Š” ์‹œ์ ๊ณผ ํฌ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ์‹œ์  ์‚ฌ์ด์˜ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ชจ๋“  ์‚ฌ์ „ ์ค‘์ง€ ํ›„ํฌ๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

synchronizer.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

synchronizer.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

synchronizer.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

synchronizer.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

synchronizer.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

udca

(๋ฒ”์šฉ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ์—์ด์ „ํŠธ) ๋Ÿฐํƒ€์ž„ ์˜์—ญ์˜ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํฌ๋“œ ๋‚ด์—์„œ ์‹คํ–‰๋˜๋Š” ์„œ๋น„์Šค๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค๋Š” ๋ถ„์„ ๋ฐ ๋ฐฐํฌ ์ƒํƒœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•˜๊ณ  ํ†ตํ•ฉ ๋ถ„์„ ํ”Œ๋žซํผ(UAP)์œผ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ถ„์„ ๋ฐ ๋ฐฐํฌ ์ƒํƒœ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” udca ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
udca.annotations ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.5.0

๊ธฐ๋ณธ๊ฐ’: None

ํฌ๋“œ๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„ ํƒ์ ์ธ ํ‚ค-๊ฐ’ ๋งต์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ์ฃผ์„์„ ์ฐธ์กฐํ•˜์„ธ์š”.

udca.fluentd.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

udca.fluentd.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1.9.12-2

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

udca.fluentd.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: gcr.io/apigee-release/hybrid/apigee-stackdriver-logging-agent

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

udca.fluentd.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 1000m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

udca.fluentd.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 500Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

udca.fluentd.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 500m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

udca.fluentd.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 250Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

udca.gsa ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: None

Helm๋งŒ ํ•ด๋‹น: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•  ๋•Œ ํ•ด๋‹น Kubernetes ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•  apigee-udca Google IAM ์„œ๋น„์Šค ๊ณ„์ •(GSA)์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. gcp.workloadIdentity.enabled๋ฅผ true๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

GSA ์ด๋ฉ”์ผ ์ฃผ์†Œ์˜ ํ˜•์‹์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

apigee-udca@my-hybrid-project.iam.gserviceaccount.com

GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์‚ฌ์šฉ ์„ค์ • ๋˜๋Š” AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

udca.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

udca.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

udca.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

udca.jvmXms ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

Deprecated: Hybrid ๋ฒ„์ „ 1.8๋ถ€ํ„ฐ udca.jvmXms๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

udca.jvmXmx ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

Deprecated: Hybrid ๋ฒ„์ „ 1.8๋ถ€ํ„ฐ udca.jvmXmx๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

udca.livenessProbe.failureThreshold ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 2

์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— Kubernetes๊ฐ€ ํ™œ์„ฑ ํ”„๋กœ๋ธŒ์˜ ์‹คํŒจ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

udca.livenessProbe.initialDelaySeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 0

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋˜์–ด ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

udca.livenessProbe.periodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 5

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๋ฅผ ์‹คํ–‰ํ•  ๋นˆ๋„(์ดˆ)๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

udca.livenessProbe.timeoutSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

ํ™œ์„ฑ ํ”„๋กœ๋ธŒ๊ฐ€ ํƒ€์ž„์•„์›ƒ๋œ ํ›„ ๊ฒฝ๊ณผ๋œ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ตœ์†Ÿ๊ฐ’์€ 1์ž…๋‹ˆ๋‹ค.

udca.nodeSelector.key ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

udca ๋Ÿฐํƒ€์ž„ ์„œ๋น„์Šค์˜ ์ „์šฉ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ํ‚ค์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

udca.nodeSelector.value ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

udca ๋Ÿฐํƒ€์ž„ ์„œ๋น„์Šค์˜ ์ „์šฉ Kubernetes ๋…ธ๋“œ๋ฅผ ํƒ€๊ฒŸํŒ…ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋…ธ๋“œ ์„ ํƒ๊ธฐ ๋ผ๋ฒจ ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ „์šฉ ๋…ธ๋“œ ํ’€ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

udca.pollingIntervalInSec ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

UDCA๊ฐ€ ํด๋ง ์ž‘์—… ์‚ฌ์ด์— ๋Œ€๊ธฐํ•˜๋Š” ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. UDCA๋Š” ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํฌ๋“œ์˜ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ํด๋งํ•˜์—ฌ ์—…๋กœ๋“œํ•  ์ƒˆ ํŒŒ์ผ์„ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.

udca.replicaCountMax ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 4

UDCA ๋ฐฐํฌ์— ํ•˜์ด๋ธŒ๋ฆฌ๋“œ๊ฐ€ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ํฌ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค. UDCA๋Š” ReplicaSet๋กœ ๊ตฌํ˜„๋˜๋ฏ€๋กœ ํฌ๋“œ๋Š” ๋ณต์ œ๋ณธ์ž…๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ๋‹น ์ตœ๋Œ€ ๋ณต์ œ๋ณธ ์ˆ˜์— Apigee ์กฐ์ง ๋‚ด ํ™˜๊ฒฝ ์ˆ˜๋ฅผ ๊ณฑํ•œ udca.replicaCountMax๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ™˜๊ฒฝ๋‹น ์ตœ๋Œ€ 4๊ฐœ์˜ ๋ณต์ œ๋ณธ์„ ํ—ˆ์šฉํ•˜๊ณ  ํ™˜๊ฒฝ์ด 3๊ฐœ ์žˆ๋Š” ๊ฒฝ์šฐ udca.replicaCountMax: 12๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

udca.replicaCountMin ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 1

UDCA ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ์ตœ์†Œ ํฌ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค. UDCA๋Š” ReplicaSet๋กœ ๊ตฌํ˜„๋˜๋ฏ€๋กœ ํฌ๋“œ๋Š” ๋ณต์ œ๋ณธ์ž…๋‹ˆ๋‹ค.

CPU ์‚ฌ์šฉ๋Ÿ‰์ด udca.targetCPUUtilizationPercentage๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด ํ•˜์ด๋ธŒ๋ฆฌ๋“œ๋Š” ํฌ๋“œ ์ˆ˜๋ฅผ ์ ์ง„์ ์œผ๋กœ ์ตœ๋Œ€ udca.replicaCountMax๊นŒ์ง€ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค.

udca.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 1000m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

udca.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 2Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

udca.resources.requests.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 250m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ CPU์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

udca.resources.requests.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 250Mi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ์ •์ƒ ์ž‘๋™์— ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

udca.revision ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: v1

์นด๋‚˜๋ฆฌ์•„ ๋ฐฐํฌ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋ผ๋ฒจ์— ์ฑ„์›Œ์ง€๋Š” ์ •์  ๊ฐ’์ž…๋‹ˆ๋‹ค.

udca.serviceAccountPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

Apigee ์• ๋„๋ฆฌํ‹ฑ์Šค ์—์ด์ „ํŠธ ์—ญํ• ์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

udca.serviceAccountRef ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

udca.targetCPUUtilizationPercentage ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 75

ReplicaSet์—์„œ ํฌ๋“œ ์ˆ˜๋ฅผ ํ™•์žฅํ•˜๊ธฐ ์œ„ํ•œ CPU ์‚ฌ์šฉ๋Ÿ‰์˜ ๊ธฐ์ค€์ ์ด๋ฉฐ, ์ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ CPU ๋ฆฌ์†Œ์Šค์˜ ๋ฐฑ๋ถ„์œจ๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ด๋ธŒ๋ฆฌ๋“œ๋Š” ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํฌ๋“œ์— ์žˆ๋Š” ๋ชจ๋“  ์ปจํ…Œ์ด๋„ˆ์˜ ํ†ตํ•ฉ ์‚ฌ์šฉ๋ฅ (fluentd ๋ฐ UDCA ๋ชจ๋‘)์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ์‚ฌ์šฉ๋ฅ ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

CPU ์‚ฌ์šฉ๋Ÿ‰์ด ์ด ๊ฐ’์„ ์ดˆ๊ณผํ•˜๋ฉด ํ•˜์ด๋ธŒ๋ฆฌ๋“œ๋Š” ReplicaSet์˜ ํฌ๋“œ ์ˆ˜๋ฅผ ์ตœ๋Œ€ udca.replicaCountMax๊นŒ์ง€ ์ ์ง„์ ์œผ๋กœ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค.

udca.terminationGracePeriodSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.0.0

๊ธฐ๋ณธ๊ฐ’: 600

ํฌ๋“œ ์‚ญ์ œ๊ฐ€ ์š”์ฒญ๋˜๋Š” ์‹œ์ ๊ณผ ํฌ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” ์‹œ์  ์‚ฌ์ด์˜ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ชจ๋“  ์‚ฌ์ „ ์ค‘์ง€ ํ›„ํฌ๊ฐ€ ์‹คํ–‰๋˜๋ฉฐ ์‹คํ–‰ ์ค‘์ธ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

udca.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

udca.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

udca.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

udca.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

udca.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

virtualhosts

virtualhosts ์†์„ฑ์€ ํ•„์ˆ˜ ๊ตฌ์„ฑ ์†์„ฑ์ž…๋‹ˆ๋‹ค. ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ๋ฅผ ํ†ตํ•ด Apigee Hybrid๋Š” ์ง€์ •๋œ ํ™˜๊ฒฝ ๊ทธ๋ฃน์— ๋Œ€ํ•œ API ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” virtualhosts ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
virtualhosts[].additionalGateways ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

ํŠธ๋ž˜ํ”ฝ์„ ๋ผ์šฐํŒ…ํ•  Istio ๊ฒŒ์ดํŠธ์›จ์ด์˜ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.

virtualhosts[].cipherSuites[] ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.9.2

๊ธฐ๋ณธ๊ฐ’: None

์ด ์†์„ฑ์€ ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” TLS ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ OpenSSL ํ˜•์‹์œผ๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •๋œ ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ์ง€์›๋˜๋Š” ์•”ํ˜ธํ™” ๋ฐฉ์‹์— ๊ด€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Envoy์˜ Boring FIPS ๋นŒ๋“œ ๋ฌธ์„œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”. ๋นˆ ๊ฐ’์€ Envoy์˜ Boring FIPS ๋นŒ๋“œ์—์„œ ์ง€์›๋˜๋Š” ์•”ํ˜ธํ™” ์Šค์œ„ํŠธ๋กœ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.

TLS v.1.3์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •๋จ(TLS 1.3 ์•”ํ˜ธํ™” ์Šค์œ„ํŠธ๋Š” ์žฌ์ •์˜ํ•  ์ˆ˜ ์—†์Œ):

  • TLS_AES_128_GCM_SHA256
  • TLS_AES_256_GCM_SHA384
  • TLS_CHACHA20_POLY1305_SHA256

TLS v.1.2์— ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉ ์„ค์ •๋จ:

  • ECDHE-ECDSA-AES128-GCM-SHA256
  • ECDHE-RSA-AES128-GCM-SHA256
  • ECDHE-ECDSA-AES256-GCM-SHA384
  • ECDHE-RSA-AES256-GCM-SHA384

Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด ๋ฐฐํฌ์—์„œ ์ด์ „ ๋ฒ„์ „์˜ TLS๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด virtualhosts.cipherSuites ์†์„ฑ๊ณผ ํ•จ๊ป˜ virtualhosts.minTLSProtocolVersion์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

์˜ˆ๋ฅผ ๋“ค์–ด TLS v.1.1์„ ์‚ฌ์šฉ ์„ค์ •ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

virtualhosts:
- name: ENV_GROUP_NAME
  minTLSProtocolVersion: "1.1"
  cipherSuites:
  - "ECDHE-ECDSA-AES128-GCM-SHA256"
  - "ECDHE-RSA-AES128-GCM-SHA256"
  - "ECDHE-ECDSA-AES256-GCM-SHA384"
  - "ECDHE-RSA-AES256-GCM-SHA384"
  - "ECDHE-ECDSA-CHACHA20-POLY1305"
  - "ECDHE-RSA-CHACHA20-POLY1305"
  - "ECDHE-ECDSA-AES128-SHA"
  - "ECDHE-RSA-AES128-SHA"
  - "ECDHE-ECDSA-AES256-SHA"
  - "ECDHE-RSA-AES256-SHA"
...
virtualhosts[].name ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜

๊ฐ€์ƒ ํ˜ธ์ŠคํŠธ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค.

virtualhosts[].maxTLSProtocolVersion ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.3.0

๊ธฐ๋ณธ๊ฐ’: None

Envoy๊ฐ€ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” TLS ํ”„๋กœํ† ์ฝœ์˜ ์ตœ๋Œ€ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. Envoy๋Š” virtualhosts[].minTLSProtocolVersion๊ณผ virtualhosts[].maxTLSProtocolVersion ์ค‘ ์ตœ์ ์˜ TLS ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „์„ ์ž๋™์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ฐ’์€ ์ˆซ์ž ํ˜•์‹์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

virtualhosts:
  - name: default
    maxTLSProtocolVersion: "1.3"

์—ฌ๊ธฐ์„œ ๋ฒˆํ˜ธ๋Š” #.# ํ˜•์‹์˜ TLS ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ "1.3"์€ Istio TLS ๋ฒ„์ „ TLSV1_3์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

Istio ๋ฌธ์„œ์˜ ServerTLSSettings.TLSProtocol๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

virtualhosts[].minTLSProtocolVersion ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.3.0

๊ธฐ๋ณธ๊ฐ’: None

Envoy๊ฐ€ ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” TLS ํ”„๋กœํ† ์ฝœ์˜ ์ตœ์†Œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. Envoy๋Š” virtualhosts[].minTLSProtocolVersion๊ณผ virtualhosts[].maxTLSProtocolVersion ์ค‘ ์ตœ์ ์˜ TLS ํ”„๋กœํ† ์ฝœ ๋ฒ„์ „์„ ์ž๋™์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๊ฐ’์€ ์ˆซ์ž ํ˜•์‹์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

virtualhosts:
  - name: default
    minTLSProtocolVersion: "1.2"

์—ฌ๊ธฐ์„œ ๋ฒˆํ˜ธ๋Š” #.# ํ˜•์‹์˜ TLS ๋ฒ„์ „ ๋ฒˆํ˜ธ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์œ„์˜ ์˜ˆ์‹œ์—์„œ 1.2์€ Istio TLS ๋ฒ„์ „ TLSV1_2์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

Istio ๋ฌธ์„œ์˜ ServerTLSSettings.TLSProtocol๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

virtualhosts[].selector ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: app: apigee-ingressgateway

ํ•„์ˆ˜

๋‹ค๋ฅธ ์ธ๊ทธ๋ ˆ์Šค ์„ ํƒ๊ธฐ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ํ‚ค-๊ฐ’ ์„ ํƒ๊ธฐ-๊ฐ’ ์Œ์ž…๋‹ˆ๋‹ค.

  • apigee-ingressgateway: Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Apigee Hybrid ์„ค์น˜์šฉ์ž…๋‹ˆ๋‹ค.
  • istio-ingressgateway: Cloud Service Mesh๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Apigee Hybrid ์„ค์น˜์šฉ(Apigee Hybrid ๋ฒ„์ „ 1.8 ์ดํ•˜)์ž…๋‹ˆ๋‹ค.

์„ ํƒ๊ธฐ ๋ผ๋ฒจ์ด ์ œ๊ณต๋˜์ง€ ์•Š์œผ๋ฉด ๊ตฌ์„ฑ์ด Apigee ์ธ๊ทธ๋ ˆ์Šค ๊ฒŒ์ดํŠธ์›จ์ด์— ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

virtualhosts[].sslCertPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

sslCertPath/sslKeyPath ๋˜๋Š” sslSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์˜ TLS ์ธ์ฆ์„œ ํŒŒ์ผ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

virtualhosts[].sslKeyPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

sslCertPath/sslKeyPath ๋˜๋Š” sslSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์˜ TLS ๋น„๊ณต๊ฐœ ํ‚ค ํŒŒ์ผ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

virtualhosts[].sslSecret ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.2.0

๊ธฐ๋ณธ๊ฐ’: None

sslCertPath/sslKeyPath ๋˜๋Š” sslSecret ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

TLS ์ธ์ฆ์„œ์™€ ๋น„๊ณต๊ฐœ ํ‚ค๊ฐ€ ํฌํ•จ๋œ Kubernetes ๋ณด์•ˆ ๋น„๋ฐ€์— ์ €์žฅ๋œ ํŒŒ์ผ์˜ ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. TLS ์ธ์ฆ์„œ์™€ ํ‚ค ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ณด์•ˆ ๋น„๋ฐ€์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฐธ์กฐ:

watcher

watcher ์†์„ฑ์€ ํ•„์ˆ˜ ๊ตฌ์„ฑ ์†์„ฑ์ž…๋‹ˆ๋‹ค. ๊ฐ์‹œ์ž๋Š” ๊ตฌ์„ฑ ๋ณ€๊ฒฝ์„ ๊ฐ์‹œํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋Ÿฐํƒ€์ž„ ์˜์—ญ์œผ๋กœ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” watcher ๊ฐ์ฒด์˜ ์†์„ฑ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์†์„ฑ ์œ ํ˜• ์„ค๋ช…
watcher.annotations ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.5.0

๊ธฐ๋ณธ๊ฐ’: None

ํฌ๋“œ๋ฅผ ์ฃผ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์„ ํƒ์ ์ธ ํ‚ค-๊ฐ’ ๋งต์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปค์Šคํ…€ ์ฃผ์„์„ ์ฐธ์กฐํ•˜์„ธ์š”.

watcher.args.enableIssueScanning ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: true

์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ๋ฅผ ์‚ฌ์šฉ ์„ค์ • ๋˜๋Š” ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค. true์ผ ๊ฒฝ์šฐ ๊ฐ์‹œ์ž๊ฐ€ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ ๋ฐ Kubernetes API ์„œ๋ฒ„ ์ƒํƒœ๋ฅผ ์ž๋™์œผ๋กœ ๊ฒ€์‚ฌํ•˜์—ฌ ๊ตฌ์„ฑ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ๋ฅผ ์ค‘์ง€ํ•˜๋ ค๋ฉด false๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

watcher.args.enableLeaderElect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.13.0

๊ธฐ๋ณธ๊ฐ’: true

true(๊ธฐ๋ณธ๊ฐ’)์ธ ๊ฒฝ์šฐ watcher.args.enableLeaderElect์—์„œ ๋ผ์šฐํŒ… ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋ณด๊ณ ํ•  ๋‹จ์ผ ์›Œ์ฒ˜ ํฌ๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์—…๊ทธ๋ ˆ์ด๋“œ์ด๋‚˜ ๋กค๋ฐฑ ์ค‘์— ๋‹ค์šดํƒ€์ž„์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์ด๋ฅผ ๋‹จ์ผ ํฌ๋“œ๋กœ ์ œํ•œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ด๋ฒคํŠธ ์ค‘์— ์—ฌ๋Ÿฌ ๋ฒ„์ „์˜ ์›Œ์ฒ˜๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›Œ์ฒ˜ ์ธ์Šคํ„ด์Šค๋งˆ๋‹ค ๊ฒฝ๋กœ ์ƒ์„ฑ ๋กœ์ง์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋กœ ์ธํ•ด ๋‹ค์šดํƒ€์ž„์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.watcher.replicaCountMax

watcher.args.issueScanInterval ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: 60

๊ฐ์‹œ์ž๊ฐ€ ์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ๋ฅผ ์œ„ํ•ด ๋Ÿฐํƒ€์ž„ ์˜์—ญ์„ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฐ„๊ฒฉ(์ดˆ)์ž…๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ž๋™ ๋ฌธ์ œ ํ‘œ์‹œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

watcher.gsa ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.0

๊ธฐ๋ณธ๊ฐ’: None

Helm๋งŒ ํ•ด๋‹น: Helm ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ GKE ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์‚ฌ์šฉ ์„ค์ •ํ•  ๋•Œ ํ•ด๋‹น Kubernetes ์„œ๋น„์Šค ๊ณ„์ •๊ณผ ์—ฐ๊ฒฐํ•  apigee-watcher Google IAM ์„œ๋น„์Šค ๊ณ„์ •(GSA)์˜ ์ด๋ฉ”์ผ ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. gcp.workloadIdentity.enabled๋ฅผ true๋กœ ์„ค์ •ํ•œ ๊ฒฝ์šฐ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

GSA ์ด๋ฉ”์ผ ์ฃผ์†Œ์˜ ํ˜•์‹์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

GSA_NAME@PROJECT_ID.iam.gserviceaccount.com

์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

apigee-watcher@my-hybrid-project.iam.gserviceaccount.com

GKE์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์‚ฌ์šฉ ์„ค์ • ๋˜๋Š” AKS ๋ฐ EKS์—์„œ ์›Œํฌ๋กœ๋“œ ์•„์ด๋ดํ‹ฐํ‹ฐ ์ œํœด ์‚ฌ์šฉ ์„ค์ •์„ ์ฐธ์กฐํ•˜์„ธ์š”.

watcher.image.pullPolicy ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: IfNotPresent

kubelet์ด ํฌ๋“œ์˜ Docker ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ๊ฐ’์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • IfNotPresent: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ์œผ๋ฉด ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • Always: ์ด๋ฏธ์ง€๊ฐ€ ์ด๋ฏธ ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ํ•ญ์ƒ ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด๋ฏธ์ง€ ์—…๋ฐ์ดํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

watcher.image.tag ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: 1.13.3

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ๋ฒ„์ „ ๋ผ๋ฒจ์ž…๋‹ˆ๋‹ค.

watcher.image.url ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.4.0

๊ธฐ๋ณธ๊ฐ’: None

์ด ์„œ๋น„์Šค์˜ Docker ์ด๋ฏธ์ง€ ์œ„์น˜์ž…๋‹ˆ๋‹ค.

์ด ๊ตฌ์„ฑ์š”์†Œ์˜ ํ˜„์žฌ ์ €์žฅ์†Œ URL์„ ๋ณด๋ ค๋ฉด apigee-pull-push --list๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

watcher.replicaCountMax ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.3.0

๊ธฐ๋ณธ๊ฐ’: 1

์ตœ๋Œ€ ๊ฐ์‹œ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ถฉ๋Œ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด 1์„ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Apigee Hybrid๋Š” ์„ค์น˜๋‹น ์›Œ์ฒ˜ ํฌ๋“œ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ๋” ์„ ์ถœ์€ ์ž๋™์œผ๋กœ ์›Œ์ฒ˜ ํฌ๋“œ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์›Œ์ฒ˜ ํฌ๋“œ ๋ณต์ œ๋ณธ์ด ๋ถˆ์•ˆ์ •ํ•œ ์ƒํƒœ๋กœ ๊ฐ•์ œ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค. watcher.args.enableLeaderElect๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

watcher.replicaCountMin ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.3.0

๊ธฐ๋ณธ๊ฐ’: 1

์ตœ์†Œ ๊ฐ์‹œ ๋ณต์ œ๋ณธ ์ˆ˜์ž…๋‹ˆ๋‹ค.

watcher.resources.limits.cpu ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 1000m

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ CPU ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฐ€๋ฆฌ์ฝ”์–ด ๋‹จ์œ„).

watcher.resources.limits.memory ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.11.0

๊ธฐ๋ณธ๊ฐ’: 2Gi

Kubernetes ์ปจํ…Œ์ด๋„ˆ ๋‚ด ๋ฆฌ์†Œ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ•œ๋„์ž…๋‹ˆ๋‹ค(๋ฉ”๋น„๋ฐ”์ดํŠธ ๋‹จ์œ„).

watcher.serviceAccountPath ๊ธฐ๋ณธ ๋„์ž…๋œ ๋ฒ„์ „: 1.3.0

๊ธฐ๋ณธ๊ฐ’: None

ํ•„์ˆ˜.

Apigee ๋Ÿฐํƒ€์ž„ ์—์ด์ „ํŠธ ์—ญํ• ์ด ์žˆ๋Š” Google ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค ํŒŒ์ผ์˜ ๊ฒฝ๋กœ์ž…๋‹ˆ๋‹ค.

watcher.serviceAccountRef ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.3.0

๊ธฐ๋ณธ๊ฐ’: None

serviceAccountPath ๋˜๋Š” serviceAccountRef ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ•„์ˆ˜์ž…๋‹ˆ๋‹ค.

watcher.tolerations.effect ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

effect๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์™€ taint์˜ ์ผ์น˜ ํšจ๊ณผ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. effect์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • NoExecute
  • NoSchedule
  • PreferNoSchedule

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

watcher.tolerations.key ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

key๋Š” ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๋“œ๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

watcher.tolerations.operator ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: "Equal"

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

operator๋Š” effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ž‘์—…์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. operator์˜ ๊ฐ’์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฐ’์ด ํ•ด๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Equal์€ value์— ์„ค์ •๋œ ๊ฐ’์„ ๋งค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • Exists๋Š” value์— ์„ค์ •๋œ ๊ฐ’์„ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

watcher.tolerations.tolerationSeconds ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

tolerationSeconds๋Š” ํฌ๋“œ๊ฐ€ ์‹คํŒจ ๋˜๋Š” ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋…ธ๋“œ์— ๊ฒฐํ•ฉ๋œ ์ƒํƒœ๋กœ ์œ ์ง€๋˜๋Š” ์‹œ๊ฐ„์„ ์ดˆ ๋‹จ์œ„๋กœ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

watcher.tolerations.value ๊ณ ๊ธ‰ ๋„์ž…๋œ ๋ฒ„์ „: 1.10.1

๊ธฐ๋ณธ๊ฐ’: None

Kubernetes์˜ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration) ๊ธฐ๋Šฅ์—์„œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

value๋Š” operator๊ฐ€ Equal๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ effect๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ taint ๋ฐ ํ†จ๋Ÿฌ๋ ˆ์ด์…˜(toleration): ๊ฐœ๋…์„ ์ฐธ์กฐํ•˜์„ธ์š”.