[k8s] Kustomization

Kustomize๋Š” k8s์˜ ๋‚ด์žฅ ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜๋‹ค.

์—ฌ๋Ÿฌ๊ฐœ์˜ yaml ๋ฆฌ์†Œ์Šค๋“ค์„ ๊ทธ๋ฃนํ™”ํ•ด์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ์— ์œ ์šฉํ•˜๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•ฝ๊ฐ„์˜ ํ…œํ”Œ๋ฆฟ ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํ•œ๋‹ค. ์ผ๋ถ€ ๊ฐ’์„ ๊ฐ๊ฐ์˜ ๋ฆฌ์†Œ์Šค์— ์ฃผ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.

์›๋ž˜๋Š” ์„œ๋“œํŒŒํ‹ฐ์˜€์ง€๋งŒ 1.14๋ถ€ํ„ฐ ๋‚ด์žฅ ๋„๊ตฌ๋กœ ๋“ค์–ด์™”๋‹ค.




๊ธฐ๋ณธ ๊ตฌ์กฐ

kustomize๋Š” ํด๋” ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฌถ์–ด์„œ ๊ด€๋ฆฌํ•œ๋‹ค.

kustomize ๋ชจ๋“ˆ ํด๋”์—๋Š” ๋ฐ˜๋“œ์‹œ ํ•˜๋‚˜์˜ kustomization.yaml ํŒŒ์ผ์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ด๊ฒŒ ๊ฐœ๋ณ„ ๋””๋ ‰ํ† ๋ฆฌ์˜ ๋ฆฌ์†Œ์Šค ๋ผ์šฐํŒ… ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์ฑ…์ž„์ง„๋‹ค.

๋งŒ์•ฝ ์ด 2๊ฐœ์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ์— ๋ฌถ๊ณ  ์‹ถ๋‹ค๋ฉด


๊ฐ™์€ ๊ฒฝ๋กœ์— ์žˆ๋Š” kustomization.yaml ํŒŒ์ผ์— ์œ„์™€ ๊ฐ™์ด resources๋กœ ๋ฌถ์–ด์ฃผ๋ฉด ๋œ๋‹ค.
๊ทธ๋ฆฌ๊ณ  commonLabels ๊ฐ™์€ ์ผ๋ถ€ ์˜ต์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ํฌํ•จ๋œ ๋ฆฌ์†Œ์Šค๋“ค์— ์ถ”๊ฐ€์ ์ธ ๊ฐ’์„ ์‚ฝ์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.




kustomize ๊ตฌ์ฒดํ™”

kustomize๋Š” ์•ฝ๊ฐ„์˜ ํ…œํ”Œ๋ฆฟ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค๊ณ  ์žˆ์—ˆ๋‹ค.
์ด๊ฒƒ๋„ ๊ฒฐ๊ตญ ์ตœ์ข…์ ์œผ๋กœ๋Š” yaml๋กœ ๋ฌถ์–ด์„œ k8s์— ๋˜์ง€๋Š” ๊ฑฐ๋ฆฌ์„œ, ๋ณ€ํ™˜ ๊ณผ์ •์„ ๊ฑฐ์นœ๋‹ค.

๋ณ€ํ™˜ ๊ณผ์ •์„ ๊ฑฐ์นœ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฌผ์„ ๋ณด์—ฌ์ฃผ๋Š”๊ฒŒ ์ด ๋ช…๋ น์ด๋‹ค.

kubectl kustomize ๋””๋ ‰ํ† ๋ฆฌ

์ด๋Ÿฐ ์‹์œผ๋กœ ๋œฌ๋‹ค.
๋ ˆ์ด๋ธ”๋„ ์ž˜ ๋“ค์–ด๊ฐ„๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.




kustomize ๋ฐฐํฌ

์‹ค์ œ๋กœ ์ €๊ฑธ ๋„์šฐ๋ ค๋ฉด, apply์— -k ํ”Œ๋ž˜๊ทธ์™€ ํ•จ๊ป˜ ๋””๋ ‰ํ„ฐ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์ฃผ๋ฉด ๋œ๋‹ค.

kubectl apply -k ๋””๋ ‰ํ† ๋ฆฌ

๊ทธ๋Ÿผ ๊ทธ๋Œ€๋กœ ๋‹ค ์ž˜ ๋œฐ ๊ฒƒ์ด๋‹ค.




ํ…œํ”Œ๋ฆฟ ๊ธฐ๋Šฅ

์™„๋ฒฝํ•˜์ง„ ์•Š์ง€๋งŒ ์‚ฌ์†Œํ•œ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด์„œ๋Š” ํ…œํ”Œ๋ฆฟ ๊ตฌ๋ฌธ์„ ์ œ๊ณตํ•œ๋‹ค.


๋ฐฉ๊ธˆ ์‚ฌ์šฉํ–ˆ๋˜ commonLabels๋ฅผ ํฌํ•จํ•ด์„œ ๋ชจ๋“  ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•ด์„œ ๋ญ”๊ฐ€ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์ถ”๊ฐ€ํ•˜๋Š”๊ฒŒ ์žˆ๋‹ค.

์ „์ฒด ๋ชฉ๋ก์€ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.
https://kubernetes.io/ko/docs/tasks/manage-kubernetes-objects/kustomization/#kustomize-%EA%B8%B0%EB%8A%A5-%EB%A6%AC%EC%8A%A4%ED%8A%B8



์ฐธ์กฐ
https://kubernetes.io/ko/docs/tasks/manage-kubernetes-objects/kustomization/