Kustomize์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์†Œ๊ฐœ

๋ฉ”๋ชจ. ๋ฒˆ์—ญ: ์ด ๊ธฐ์‚ฌ๋Š” IT ๋ถ„์•ผ์—์„œ ํญ๋„“์€ ๊ฒฝํ—˜์„ ๋ณด์œ ํ•œ ์—”์ง€๋‹ˆ์–ด์ด์ž 2016๊ถŒ์˜ ์ธ์‡„๋ณธ(์ฃผ๋กœ VMware vSphere ๊ด€๋ จ)์˜ ์ €์ž/๊ณต๋™ ์ €์ž์ธ Scott Lowe๊ฐ€ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ํ˜„์žฌ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…๊ณผ Kubernetes๋ฅผ ์ „๋ฌธ์œผ๋กœ ํ•˜๋Š” VMware ์žํšŒ์‚ฌ Heptio(XNUMX๋…„ ์ธ์ˆ˜)์—์„œ ๊ทผ๋ฌดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ…์ŠคํŠธ ์ž์ฒด๋Š” ๊ธฐ์ˆ ์„ ์‚ฌ์šฉํ•˜๋Š” Kubernetes์˜ ๊ตฌ์„ฑ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ์†Œ๊ฐœ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •์˜, ์ตœ๊ทผ K8s์˜ ์ผ๋ถ€๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Kustomize์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์†Œ๊ฐœ

Kustomize๋Š” ์‚ฌ์šฉ์ž๊ฐ€ "์›๋ณธ YAML์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๊ณ  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ๋ชฉ์ ์œผ๋กœ ํ…œํ”Œ๋ฆฟ์ด ์—†๋Š” ๊ฐ„๋‹จํ•œ YAML ํŒŒ์ผ์„ ์‚ฌ์šฉ์ž ์ •์˜"ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค(์„ค๋ช…์€ ๋‹ค์Œ์—์„œ ์ง์ ‘ ์ฐจ์šฉํ•จ). GitHub์˜ kustomize ์ €์žฅ์†Œ). Kustomize๋Š” ์ง์ ‘ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ Kubernetes 1.14๋ถ€ํ„ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. kubectl -k ํ•ด๋‹น ๊ธฐ๋Šฅ์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค(Kubernetes 1.15๋ถ€ํ„ฐ ๋ณ„๋„์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ๊ฐ€ kubectl์— ๋‚ด์žฅ๋œ ๊ธฐ๋Šฅ๋ณด๋‹ค ์ตœ์‹ ์ž„). (๋ฉ”๋ชจ. ๋ฒˆ์—ญ: ๊ทธ๋ฆฌ๊ณ  ์ตœ๊ทผ ์ถœ์‹œ๋กœ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค 1.16 ์ปค์Šคํ„ฐ๋งˆ์ด์ œ์ด์…˜ ์— ์˜ํ•ด ์ง€์› kubeadm ์œ ํ‹ธ๋ฆฌํ‹ฐ์—๋„ ์žˆ์Šต๋‹ˆ๋‹ค.) ์ด ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” ๋…์ž๋“ค์—๊ฒŒ Kustomize์˜ ๊ธฐ๋ณธ ์‚ฌํ•ญ์„ ์†Œ๊ฐœํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ˜•ํƒœ/์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ kustomize๋Š” ๋‹จ์ˆœํžˆ ๋ฆฌ์†Œ์Šค ๋ชจ์Œ(Kubernetes ๊ฐœ์ฒด: ๋ฐฐํฌ, ์„œ๋น„์Šค ๋“ฑ์„ ์ •์˜ํ•˜๋Š” YAML ํŒŒ์ผ)๊ณผ ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์— ์ ์šฉํ•ด์•ผ ํ•˜๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ง€์นจ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. make๊ฐ€ ๋‹ค์Œ์— ํฌํ•จ๋œ ๋ช…๋ น์–ด ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ Makefile, Docker๋Š” ๋‹ค์Œ ์ง€์นจ์— ๋”ฐ๋ผ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค. Dockerfile,์šฉ๋„ ์‚ฌ์šฉ์ž ์ •์˜ kustomization.yaml ์‚ฌ์šฉ์ž๊ฐ€ ๋ฆฌ์†Œ์Šค ์„ธํŠธ์— ์ ์šฉํ•˜๋ ค๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์— ๋Œ€ํ•œ ์ง€์นจ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ์˜ˆ์ œ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. kustomization.yaml:

resources:
- deployment.yaml
- service.yaml
namePrefix: dev-
namespace: development
commonLabels:
  environment: development

ํŒŒ์ผ์—์„œ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ํ•„๋“œ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜์ง€๋Š” ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค. kustomization.yaml (์ด๊ฒƒ์€ ์ž˜ ์“ฐ์—ฌ์กŒ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—), ๊ทธ๋Ÿฌ๋‚˜ ๊ตฌ์ฒด์ ์ธ ์˜ˆ์— โ€‹โ€‹๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ๋ถ„์•ผ resources kustomize๊ฐ€ ๋ณ€๊ฒฝํ•  ๋‚ด์šฉ(์–ด๋–ค ๋ฆฌ์†Œ์Šค)์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ํŒŒ์ผ์—์„œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. deployment.yaml ะธ service.yaml ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค(ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ „์ฒด ๋˜๋Š” ์ƒ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).
  • ๋ถ„์•ผ namePrefix kustomize์— ํŠน์ • ์ ‘๋‘์‚ฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋„๋ก ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค(์ด ๊ฒฝ์šฐ - dev-) ์†์„ฑ name ํ•„๋“œ์— ์ •์˜๋œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค resources. ๋”ฐ๋ผ์„œ ๋ฐฐํฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ name ์˜๋ฏธ๋ฅผ ๊ฐ€์ง€๊ณ  nginx-deployment, ๋งž์ถค์„ค์ •ํ•˜์—ฌ ๋งŒ๋“ค๊ฒ ์Šต๋‹ˆ๋‹ค. dev-nginx-deployment.
  • ๋ถ„์•ผ namespace kustomize์— ์ง€์ •๋œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค์— ์ถ”๊ฐ€ํ•˜๋„๋ก ์ง€์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ๋ฐฐํฌ ๋ฐ ์„œ๋น„์Šค๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์†ํ•ฉ๋‹ˆ๋‹ค. development.
  • ๋งˆ์ง€๋ง‰์œผ๋กœ ํ•ด๋‹น ๋ถ„์•ผ commonLabels ๋ชจ๋“  ๋ฆฌ์†Œ์Šค์— ์ถ”๊ฐ€๋  ๋ผ๋ฒจ ์„ธํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์—์„œ kustomize๋Š” ์ด๋ฆ„์ด ์žˆ๋Š” ๋ฆฌ์†Œ์Šค์— ๋ผ๋ฒจ์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. environment ๊ทธ๋ฆฌ๊ณ  ์˜๋ฏธ development.

์‚ฌ์šฉ์ž๊ฐ€ ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ kustomize build . ํŒŒ์ผ์ด ์žˆ๋Š” ๋””๋ ‰ํ† ๋ฆฌ์— kustomization.yaml ๋ฐ ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค(์˜ˆ: ํŒŒ์ผ deployment.yaml ะธ service.yaml), ๊ทธ๋Ÿฌ๋ฉด ์ถœ๋ ฅ ์‹œ์— ์ง€์ •๋œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋œ ํ…์ŠคํŠธ๋ฅผ ๋ฐ›๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. kustomization.yaml.

Kustomize์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์†Œ๊ฐœ
๋ฉ”๋ชจ. ๋ฒˆ์—ญ: kustomize์˜ "๊ฐ„๋‹จํ•œ" ์‚ฌ์šฉ์— ๊ด€ํ•œ ํ”„๋กœ์ ํŠธ ๋ฌธ์„œ์˜ ๊ทธ๋ฆผ

๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์ถœ๋ ฅ์„ ๋ฆฌ๋””๋ ‰์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

kustomize build . > custom-config.yaml

์ถœ๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ๊ฒฐ์ •์ ์ด๋ฏ€๋กœ(๋™์ผํ•œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋Š” ๋™์ผํ•œ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•จ) ๊ฒฐ๊ณผ๋ฅผ ํŒŒ์ผ์— ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  ๋‹ค๋ฅธ ๋ช…๋ น์œผ๋กœ ์ง์ ‘ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

kustomize build . | kubectl apply -f -

Kustomize ๊ธฐ๋Šฅ์€ ๋‹ค์Œ์„ ํ†ตํ•ด ์•ก์„ธ์Šคํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. kubectl -k (Kubernetes ๋ฒ„์ „ 1.14๋ถ€ํ„ฐ). ๊ทธ๋Ÿฌ๋‚˜ ๋…๋ฆฝํ˜• kustomize ํŒจํ‚ค์ง€๋Š” ํ†ตํ•ฉ kubectl ํŒจํ‚ค์ง€๋ณด๋‹ค ๋” ๋น ๋ฅด๊ฒŒ ์—…๋ฐ์ดํŠธ๋œ๋‹ค๋Š” ์ ์„ ๋ช…์‹ฌํ•˜์„ธ์š”(์ ์–ด๋„ Kubernetes 1.15 ๋ฆด๋ฆฌ์Šค์˜ ๊ฒฝ์šฐ).

๋…์ž๋“ค์€ "ํŒŒ์ผ์„ ์ง์ ‘ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์™œ ์ด๋ ‡๊ฒŒ ๋ณต์žกํ•ฉ๋‹ˆ๊นŒ?"๋ผ๊ณ  ๋ฌผ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ข‹์€ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ์˜ˆ์—์„œ๋Š” ์‹ค์ œ๋กœ ํ•˜๋‚˜๋Š” ์ˆ˜ ํŒŒ์ผ ์ˆ˜์ • deployment.yaml ะธ service.yaml ์ง์ ‘์ ์œผ๋กœ, ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ”„๋กœ์ ํŠธ์—์„œ ํฌํฌ๋œ ๊ฒƒ์ด๋ผ๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”? ํŒŒ์ผ์„ ์ง์ ‘ ๋ณ€๊ฒฝํ•˜๋ฉด ์›๋ณธ/์†Œ์Šค๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ํฌํฌ๋ฅผ ๋ฆฌ๋ฒ ์ด์Šคํ•˜๋Š” ๊ฒƒ์ด (๋ถˆ๊ฐ€๋Šฅํ•˜์ง€๋Š” ์•Š๋”๋ผ๋„) ์–ด๋ ต์Šต๋‹ˆ๋‹ค. kustomize๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํŒŒ์ผ์— ์ค‘์•™ ์ง‘์ค‘ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. kustomization.yaml, ์›๋ณธ ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฏ€๋กœ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์›๋ณธ ํŒŒ์ผ์„ ๋” ์‰ฝ๊ฒŒ ๋ฆฌ๋ฒ ์ด์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kustomize์˜ ์ด์ ์€ ๋ณด๋‹ค ๋ณต์žกํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ๋”์šฑ ๋ถ„๋ช…ํ•ด์ง‘๋‹ˆ๋‹ค. ์œ„์˜ ์˜ˆ์—์„œ kustomization.yaml ๋ฆฌ์†Œ์Šค๋Š” ๋™์ผํ•œ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ kustomize๋Š” ๊ธฐ๋ณธ ๊ตฌ์„ฑ๊ณผ ์ด์— ๋Œ€ํ•œ ๋‹ค์–‘ํ•œ ๋ณ€ํ˜•์ด ์žˆ๋Š” ์‚ฌ์šฉ ์‚ฌ๋ก€๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ฒ„๋ ˆ์ด. ์˜ˆ๋ฅผ ๋“ค์–ด, ์‚ฌ์šฉ์ž๊ฐ€ ์ œ๊ฐ€ ์˜ˆ๋กœ ์‚ฌ์šฉํ•œ nginx์šฉ ๋ฐฐํฌ ๋ฐ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น ํŒŒ์ผ์˜ ๊ฐœ๋ฐœ, ์ค€๋น„ ๋ฐ ํ”„๋กœ๋•์…˜ ๋ฒ„์ „(๋˜๋Š” ๋ณ€ํ˜•)์„ ๋งŒ๋“ค๊ณ  ์‹ถ์–ดํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ์œ„์—์„œ ์–ธ๊ธ‰ํ•œ ์˜ค๋ฒ„๋ ˆ์ด์™€ ์‹ค์ œ๋กœ ๊ธฐ๋ณธ ๋ฆฌ์†Œ์Šค ์ž์ฒด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ฒ„๋ ˆ์ด ๋ฐ ๊ธฐ๋ณธ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด (๊ธฐ๋ณธ ์ž์›), ๋””๋ ‰ํ† ๋ฆฌ์˜ ๊ตฌ์กฐ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

- base
  - deployment.yaml
  - service.yaml
  - kustomization.yaml
- overlays
  - dev
    - kustomization.yaml
  - staging
    - kustomization.yaml
  - prod
    - kustomization.yaml

ํŒŒ์ผ์—์„œ base/kustomization.yaml ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž resources kustomize์— ํฌํ•จํ•ด์•ผ ํ•˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์„ ์–ธํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ฐ ํŒŒ์ผ์—๋Š” overlays/{dev,staging,prod}/kustomization.yaml ์‚ฌ์šฉ์ž๋Š” ํ˜„์žฅ์—์„œ ๊ธฐ๋ณธ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. resources์„ ์„ ํƒํ•œ ๋‹ค์Œ ๋‹ค์Œ์— ๋Œ€ํ•œ ํŠน์ • ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ฃผ์–ด์ง„ ํ™˜๊ฒฝ. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŒŒ์ผ overlays/dev/kustomization.yaml ์ด์ „์— ์ œ๊ณต๋œ ์˜ˆ์™€ ๊ฐ™์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

resources:
- ../../base
namePrefix: dev-
namespace: development
commonLabels:
  environment: development

์ด ๊ฒฝ์šฐ ํŒŒ์ผ overlays/prod/kustomization.yaml ์™„์ „ํžˆ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

resources:
- ../../base
namePrefix: prod-
namespace: production
commonLabels:
  environment: production
  sre-team: blue

์‚ฌ์šฉ์ž๊ฐ€ ์‹คํ–‰ํ•  ๋•Œ kustomize build . ์นดํƒˆ๋กœ๊ทธ์— overlays/dev, kustomize๊ฐ€ ๊ฐœ๋ฐœ ์˜ต์…˜์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ kustomize build . ์นดํƒˆ๋กœ๊ทธ์— overlays/prod - ์ƒ์‚ฐ ์˜ต์…˜์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๋ชจ๋“  ๊ฒƒ - ์›๋ณธ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ  (๋ฒ ์ด์Šค) ๋ชจ๋“  ํŒŒ์ผ์„ ์„ ์–ธ์ ์ด๊ณ  ๊ฒฐ์ •์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๊ตฌ์„ฑ ๋ฐ ์˜ค๋ฒ„๋ ˆ์ด ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋ฒ„์ „ ์ œ์–ด์— ์ง์ ‘ ์ปค๋ฐ‹ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ํŒŒ์ผ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์–ธ์ œ๋“ ์ง€ ์›ํ•˜๋Š” ๊ตฌ์„ฑ์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kustomize์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ์†Œ๊ฐœ
๋ฉ”๋ชจ. ๋ฒˆ์—ญ: Kustomize์—์„œ ์˜ค๋ฒ„๋ ˆ์ด ์‚ฌ์šฉ์— ๋Œ€ํ•œ ํ”„๋กœ์ ํŠธ ๋ฌธ์„œ์˜ ๊ทธ๋ฆผ

์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๋งŽ์ด ์ด ๊ธฐ์‚ฌ์—์„œ ๋‹ค๋ฃจ๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์ด ์ข‹์€ ์†Œ๊ฐœ๊ฐ€ ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ๋ฆฌ์†Œ์Šค

Kustomize์— ๊ด€ํ•œ ์ข‹์€ ๊ธฐ์‚ฌ์™€ ์ถœํŒ๋ฌผ์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์œ ์šฉํ•˜๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฉ”๋ชจ. ๋ฒˆ์—ญ: ๊ฒŒ์‹œ๋œ ๋งํฌ ๋ธ”๋ก์„ ์ถ”์ฒœํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฃŒ ์œ ํ‹ธ๋ฆฌํ‹ฐ ์›น์‚ฌ์ดํŠธ์—์„œ Kustomize์— ๋Œ€ํ•œ ์ตœ์‹  ๋ณด๊ณ ์„œ๊ฐ€ ํฌํ•จ๋œ ๋น„๋””์˜ค ์ปฌ๋ ‰์…˜์„ ํ™•์ธํ•˜์„ธ์š”.

์ด ์ž๋ฃŒ๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์งˆ๋ฌธ์ด๋‚˜ ์ œ์•ˆ ์‚ฌํ•ญ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์–ธ์ œ๋“ ์ง€ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์ฃผ์†Œ๋กœ ์ €์—๊ฒŒ ์—ฐ๋ฝํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠธ์œ„ํ„ฐ ๋˜๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์Šฌ๋ž™ ์ฑ„๋„. kustomize๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ์žฌ๋ฏธ์žˆ๊ฒŒ ์ˆ˜์ •ํ•ด ๋ณด์„ธ์š”!

๋ฒˆ์—ญ๊ฐ€์˜ ์ถ”์‹ 

๋ธ”๋กœ๊ทธ์—์„œ๋„ ์ฝ์–ด๋ณด์„ธ์š”.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€