KYAML(Kubernetes YAML)์ ์ ํต์ ์ธ ๋ค์ฌ์ฐ๊ธฐ ๋ฐฉ์ ๋์ {}์ []๋ฅผ ์ฌ์ฉํด ๊ตฌ์กฐ๋ฅผ ๋ช
ํํ ํํํ๋ JSON ์คํ์ผ์ YAML ํ์ ์งํฉ์ด์์.
๋ฌธ์์ด์ ํญ์ "๋ก ๊ฐ์ธ์ผ ํ๋ฉฐ, ์ด๋ฅผ ํตํด ํํ ํ์
๋ณํ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํฉ๋๋ค. ์๊ฐ์ ์ผ๋ก๋ ์์ ํ ๋ฌ๋ผ์ง๋๋ค. ๊ธฐ์กด์ ๋ค์ฌ์ฐ๊ธฐ ๊ธฐ๋ฐ ๋ธ๋ก ๋์ ๋ช
ํํ ๊ดํธ ๊ตฌ์กฐ๋ก ๋ณํ๋ผ, ๊ณต๋ฐฑ ๋๋ฌธ์ ๊นจ์ง๋ ๋ฌธ์ ๋ฅผ ์์ฒ์ ์ผ๋ก ์ฐจ๋จํฉ๋๋ค.
KYAML์ด ํด๊ฒฐํ๋ ๋ฌธ์ 
๊ธฐ์กด Kubernetes YAML์ DevOps ํ์ ๊ดด๋กญํ๋ ์ฌ๋ฌ ์น๋ช ์ ์ธ ๋ฌธ์ ๋ค์ด ์์ต๋๋ค.
- โNorway Problemโ์ผ๋ก ์๋ ค์ง
NOโ booleanfalse๋ณํ ๋ฌธ์ "yes","11:00", ๋ฒ์ ์ซ์ ๋ฑ์ ์๊ธฐ์น ์์ ํ์ ๋ณํ- ๋ค์ฌ์ฐ๊ธฐ ์ค๋ฅ๋ก ์ธํ ๋ฐฐํฌ ์คํจ ๋ฐ ํ ๊ฐ ์ถฉ๋
- Helm ํ
ํ๋ฆฟ์์ ๋ณต์กํ ๋ค์ฌ์ฐ๊ธฐ ๊ด๋ฆฌ(
{{ indent 4 }}๋ฑ)
์ด๋ฐ ๋ฌธ์ ๋ค์ ํ๋ฃจ์๋ ์ฌ๋ฌ ๋ฒ ๋ฐ์ํ๋ฉฐ, ๋ฐฐํฌ ์ ๋ขฐ์ฑ๊ณผ ์ด์ ํจ์จ์ฑ์ ๋จ์ด๋จ๋ฆฌ๋ ์ฃผ๋ฒ์ ๋๋ค.
KYAML์ ํต์ฌ ๊ธฐ๋ฅ ๋ฐ ๋ณด์ ํฅ์ 
- ๋ช ์์ ๋ฌธ์์ด ์ฒ๋ฆฌ๋ก ํ์ ๋ณํ ์ทจ์ฝ์ ์ ๊ฑฐ
- ๊ณต๋ฐฑ์ ์์กดํ์ง ์์ ์ ์์ ๋ณ๊ฒฝ ์ฌํญ ์จ๊ธฐ๊ธฐ ์ด๋ ค์
- ๋ณด์ ์ค์บ๋๊ฐ ์์ธก ๊ฐ๋ฅํ ๊ตฌ์กฐ์์ ๋ ์ ํํ๊ฒ ๋์
- OPA/Gatekeeper ์ ์ฑ ์ ์ฉ ๋ฐ ๊ฒ์ฆ ๊ฐํ
- CI/CD ํ์ดํ๋ผ์ธ์์ ๊ณต๋ฐฑ ์กฐ์์ผ๋ก ์ธํ ํ ํ๋ฆฟ ์ธ์ ์ ์ทจ์ฝ์ ์ ๊ฑฐ
๋์
๋ฐ ๋ชจ๋ฒ ์ฌ๋ก 
export KUBECTL_KYAML=true๋ก ๊ธฐ๋ฅ์ ํ์ฑํํ๊ณ ๋ณด์์ ๋ฏผ๊ฐํ ์ค์ ๋ถํฐ ์ ์ง์ ์ผ๋ก ์ ํ- Helm ํ ํ๋ฆฟ์์ ๋ค์ฌ์ฐ๊ธฐ ๊ด๋ฆฌ๊ฐ ์ฌ๋ผ์ ธ ์ ์ง๋ณด์๊ฐ ๊ฐ์ํ
- ๊น๋ํ ๋ฒ์ ๊ด๋ฆฌ๋ก ๋ถํ์ํ diff ์ ๊ฑฐ
- pre-commit ํ ๊ณผ Kubescape, Checkov ๊ฐ์ ๋ณด์ ์ค์บ๋ ์ฐ๊ณ ์ถ์ฒ
๋ค๋ฅธ ๋๊ตฌ์์ ๋น๊ต 
- Helm๋ณด๋ค ๋จ์ํ๊ณ ์๋ก์ด ๋ฌธ๋ฒ ํ์ต์ด ํ์ ์์
- Kustomize์ ๋ณํ ์ฌ์ฉ ๊ฐ๋ฅ (KYAML์ ์์ ํ ํฌ๋งท ์ ๊ณต, Kustomize๋ ๊ด๋ฆฌ ๊ธฐ๋ฅ ์ ๊ณต)
- Jsonnet, Dhall, Pulumi ๊ฐ์ ๋ณต์กํ ๋์์ ๋นํด ์ง์ ์ฅ๋ฒฝ์ด ๋ฎ์
- ๊ธฐ์กด ArgoCD, Flux, ๋ชจ๋ YAML ์ฒ๋ฆฌ ํด์์ ๊ทธ๋๋ก ์ฌ์ฉ ๊ฐ๋ฅ
์ค์ ํจ๊ณผ ๋ฐ ์ฑํ ์ ๋ง 
- KYAML ์ฌ์ฉ ์ ๋ค์ฌ์ฐ๊ธฐ ์ค์๋ก ์ธํ ๋ฐฐํฌ ์ค๋ฅ ๊ฐ์
- GitOps ํ๊ฒฝ์์ ๋ช ํํ ๋ณ๊ฒฝ ์ด๋ ฅ ํ๋ณด
- ๋ณด์ ๊ฐ์ฌ ๋ฐ ์ธ์๋ํธ ๋์ ์ ๋ถ์ ํจ์จ ์ฆ๊ฐ
- Kubernetes 1.34(2025๋ 8์)์์ ์ํ ์ง์ ์์
- 12~18๊ฐ์ ๋ด ์ฃผ์ ๋๊ตฌ ์ํ๊ณ์ ํ์ฐ ์์
[์ถ์ฒ] https://medium.com/aws-in-plain-english/kyaml-kubernetes-gets-safer-configuration-6280eae46396
