เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เดพเดจเตเดณเตเดณ เด’เดฐเต เดนเตเดฐเดธเตเดต เด†เดฎเตเด–เด‚

เด•เตเดฑเดฟเดชเตเดชเต. เดตเดฟเดตเตผเดคเตเดคเดจเด‚.: เดเดดเต เด…เดšเตเดšเดŸเดฟเดšเตเดš เดชเตเดธเตเดคเด•เด™เตเด™เดณเตเดŸเต† (เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ VMware vSphere-เตฝ) เดฐเดšเดฏเดฟเดคเดพเดตเต/เดธเดน-เดฐเดšเดฏเดฟเดคเดพเดตเต, เดเดŸเดฟเดฏเดฟเตฝ เดตเดฟเดชเตเดฒเดฎเดพเดฏ เด…เดจเตเดญเดตเดชเดฐเดฟเดšเดฏเดฎเตเดณเตเดณ เดŽเดžเตเดšเดฟเดจเต€เดฏเตผ เดธเตเด•เต‹เดŸเตเดŸเต เดฒเต‹เดตเต เด†เดฃเต เดฒเต‡เด–เดจเด‚ เดŽเดดเตเดคเดฟเดฏเดคเต. เด•เตเดฒเต—เดกเต เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฟเด‚เด—เดฟเดฒเตเด‚ เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดฟเดฒเตเด‚ เดตเตˆเดฆเด—เตเดฆเตเดงเตเดฏเด‚ เดจเต‡เดŸเดฟเดฏ เดตเดฟเดŽเด‚เดตเต†เดฏเตผ เดธเดฌเตเดธเดฟเดกเดฟเดฏเดฑเดฟ เดนเต†เดชเตเดฑเตเดฑเดฟเดฏเต‹เดฏเดฟเตฝ (2016-เตฝ เดเดฑเตเดฑเต†เดŸเตเดคเตเดค) เด…เดฆเตเดฆเต‡เดนเด‚ เด‡เดชเตเดชเต‹เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เดŸเต†เด•เตโ€Œเดธเตโ€Œเดฑเตเดฑเต เดคเดจเตเดจเต† เดŸเต†เด•เตโ€Œเดจเต‹เดณเดœเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเดฟเดจเดพเดฏเตเดณเตเดณ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดฎเดพเดจเต‡เดœเตโ€Œเดฎเต†เดจเตเดฑเดฟเดจเตเดฑเต† เดธเด‚เด•เตเดทเดฟเดชเตโ€Œเดคเดตเตเด‚ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดŽเดณเตเดชเตเดชเดฎเตเดณเตเดณเดคเตเดฎเดพเดฏ เด†เดฎเตเด–เดฎเดพเดฏเดฟ เดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต เด‡เดทเตเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เตเด•, เด‡เดคเต เด…เดŸเตเดคเตเดคเดฟเดŸเต† K8 เด•เดณเตเดŸเต† เดญเดพเด—เดฎเดพเดฏเดฟ.

เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เดพเดจเตเดณเตเดณ เด’เดฐเต เดนเตเดฐเดธเตเดต เด†เดฎเตเด–เด‚

"เดตเตเดฏเดคเตเดฏเดธเตเดค เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดฒเดณเดฟเดคเดตเตเด‚ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดฐเดนเดฟเดคเดตเตเดฎเดพเดฏ YAML เดซเดฏเดฒเตเด•เตพ เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เดพเตป เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด‰เดชเด•เดฐเดฃเดฎเดพเดฃเต เด•เดธเตเดฑเตเดฑเดฎเตˆเดธเต, เดฏเดฅเดพเตผเดคเตเดฅ YAML เด•เต‡เดŸเตเด•เต‚เดŸเดพเดคเต†เดฏเตเด‚ เด‰เดชเดฏเต‹เด—เดฏเต‹เด—เตเดฏเดฎเดพเด•เตเด•เตเดจเตเดจเต" (เดตเดฟเดตเดฐเดฃเด‚ เดจเต‡เดฐเดฟเดŸเตเดŸเต เด•เดŸเดฎเต†เดŸเตเดคเตเดคเดคเดพเดฃเต GitHub-เตฝ เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟ เด•เดธเตเดฑเตเดฑเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเตเด•). Kustomize เดจเต‡เดฐเดฟเดŸเตเดŸเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ Kubernetes 1.14 เดชเต‹เดฒเต† เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดตเตเดจเตเดจเดคเดพเดฃเต kubectl -k เด…เดคเดฟเดจเตเดฑเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดค เด†เด•เตเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป (เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต 1.15 เดชเต‹เดฒเต†, เดชเตเดฐเดคเตเดฏเต‡เด• เดฌเตˆเดจเดฑเดฟ kubectl-เตฝ เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด•เดดเดฟเดตเตเด•เดณเต‡เด•เตเด•เดพเตพ เดชเตเดคเดฟเดฏเดคเดพเดฃเต). (เด•เตเดฑเดฟเดชเตเดชเต. เดตเดฟเดตเตผเดคเตเดคเดจเด‚.: เด•เต‚เดŸเดพเดคเต† เด…เดŸเตเดคเตเดคเดฟเดŸเต† เดชเตเดฑเดคเตเดคเดฟเดฑเด™เตเด™เดฟเดฏเดคเตเด‚ เด•เตเดฌเต‡เตผเดจเต†เดฑเตเดฑเตเดธเต 1.16 เด‡เดทเตเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เตเด• เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจ kubeadm เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟเดฏเดฟเดฒเตเด‚.) เดˆ เดชเต‹เดธเตเดฑเตเดฑเดฟเตฝ, เด•เดธเตเดฑเตเดฑเดฎเตˆเดธเดฟเดจเตเดฑเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเด•เดพเดฐเตเดฏเด™เตเด™เตพ เดตเดพเดฏเดจเด•เตเด•เดพเดฐเต† เดชเดฐเดฟเดšเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต.

เด…เดคเดฟเดจเตเดฑเต† เดเดฑเตเดฑเดตเตเด‚ เดฒเดณเดฟเดคเดฎเดพเดฏ เดฐเต‚เดชเดคเตเดคเดฟเตฝ/เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดฟเตฝ, kustomize เดŽเดจเตเดจเดคเต เดตเดฟเดญเดตเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดถเต‡เด–เดฐเดฎเดพเดฃเต (เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด’เดฌเตโ€Œเดœเด•เตเดฑเตเดฑเตเด•เดณเต† เดจเดฟเตผเดตเดšเดฟเด•เตเด•เตเดจเตเดจ YAML เดซเดฏเดฒเตเด•เตพ: เดตเดฟเดจเตเดฏเดพเดธเด™เตเด™เตพ, เดธเต‡เดตเดจเด™เตเด™เตพ เดฎเตเดคเดฒเดพเดฏเดต) เด•เต‚เดŸเดพเดคเต† เด† เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเดฟเตฝ เดตเดฐเตเดคเตเดคเต‡เดฃเตเดŸ เดฎเดพเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต. เด…เดคเดฟเตฝ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเต‹เดฒเต† Makefile, เดŽเดจเตเดจเดฟเดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดกเต‹เด•เตเด•เตผ เด•เดฃเตเดŸเต†เดฏเตเดจเตผ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเต Dockerfile, เด‰เดชเดฏเต‹เด—เด™เตเด™เตพ เด‡เดทเตเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เตเด• kustomization.yaml เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเดฟเตฝ เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต เดŽเดจเตเดคเต เดฎเดพเดฑเตเดฑเด™เตเด™เดณเดพเดฃเต เดตเดฐเตเดคเตเดคเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต.

เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃ เดซเดฏเตฝ เด‡เดคเดพ kustomization.yaml:

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

เดซเดฏเดฒเดฟเดฒเต† เดธเดพเดงเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เดซเต€เตฝเดกเตเด•เดณเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเด‚ เดธเด‚เดธเดพเดฐเดฟเด•เตเด•เดพเตป เดžเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เดฟเดฒเตเดฒ. kustomization.yaml (เด‡เดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดจเดจเตเดจเดพเดฏเดฟ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต เด‡เดตเดฟเดŸเต†), เดŽเดจเตเดจเดพเตฝ เด’เดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดนเตเดฐเดธเตเดต เดตเดฟเดถเดฆเต€เด•เดฐเดฃเด‚ เดžเดพเตป เดจเตฝเด•เตเด‚:

  • เดซเต€เตฝเดกเต resources เดŽเดจเตเดคเต (เดเดคเต เดตเดฟเดญเดตเด™เตเด™เตพ) เด•เดธเตเดฑเตเดฑเดฎเตˆเดธเต เดฎเดพเดฑเตเดฑเตเดฎเต†เดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด…เดคเต เดซเดฏเดฒเตเด•เดณเดฟเตฝ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดจเต‹เด•เตเด•เตเด‚ deployment.yaml ะธ service.yaml เดจเดฟเด™เตเด™เดณเตเดŸเต† เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ (เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดคเต‹ เด†เดชเต‡เด•เตเดทเดฟเด•เดฎเดพเดฏเดคเต‹ เด†เดฏ เดชเดพเดคเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดพเด‚).
  • เดซเต€เตฝเดกเต namePrefix เด’เดฐเต เดจเดฟเดถเตเดšเดฟเดค เดชเตเดฐเดฟเดซเดฟเด•เตเดธเต เดšเต‡เตผเด•เตเด•เดพเตป เด•เดธเตเดฑเตเดฑเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเต (เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ - dev-) เด†เดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป name เดซเต€เตฝเดกเดฟเตฝ เดจเดฟเตผเดตเดšเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดตเดฟเดญเดตเด™เตเด™เดณเตเด‚ resources. เด…เด™เตเด™เดจเต†, เดตเดฟเดจเตเดฏเดพเดธเด‚ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ name เด…เตผเดคเตเดฅเด‚ เด•เตŠเดฃเตเดŸเต nginx-deployment, เด‡เดšเตเด›เดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เตเด• เด…เดคเต เด‰เดฃเตเดŸเดพเด•เตเด•เตเด‚ dev-nginx-deployment.
  • เดซเต€เตฝเดกเต namespace เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเต เดŽเดฒเตเดฒเดพ เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดšเต‡เตผเด•เตเด•เดพเตป เด•เดธเตเดฑเตเดฑเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เดตเดฟเดจเตเดฏเดพเดธเดตเตเด‚ เดธเต‡เดตเดจเดตเตเด‚ เดจเต†เดฏเดฟเด‚เดธเตเดชเต‡เดธเดฟเตฝ เดตเต€เดดเตเด‚ development.
  • เด’เดŸเตเดตเดฟเตฝ, เดตเดฏเตฝ commonLabels เดŽเดฒเตเดฒเดพ เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เตเด‚ เดšเต‡เตผเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เดฒเต‡เดฌเดฒเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดžเด™เตเด™เดณเตเดŸเต† เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, kustomize เดชเต‡เดฐเตเดณเตเดณ เด‰เดฑเดตเดฟเดŸเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดฒเต‡เดฌเตฝ เดจเตฝเด•เตเด‚ environment เด…เตผเดคเตเดฅเดตเตเด‚ development.

เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต เดšเต†เดฏเตเดคเดพเตฝ kustomize build . เดซเดฏเดฒเตเดณเตเดณ เดกเดฏเดฑเด•เตเดŸเดฑเดฟเดฏเดฟเตฝ kustomization.yaml เด†เดตเดถเตเดฏเดฎเดพเดฏ เด‰เดฑเดตเดฟเดŸเด™เตเด™เดณเตเด‚ (เด…เดคเดพเดฏเดคเต เดซเดฏเดฒเตเด•เตพ deployment.yaml ะธ service.yaml), เดคเตเดŸเตผเดจเตเดจเต เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏ เดฎเดพเดฑเตเดฑเด™เตเด™เดณเตเดณเตเดณ เด’เดฐเต เดตเดพเดšเด•เด‚ เด…เดคเดฟเดจเต เดฒเดญเดฟเด•เตเด•เตเด‚ kustomization.yaml.

เด‡เดทเตโ€ŒเดŸเดพเดจเตเดธเตƒเดคเดฎเดพเด•เตเด•เดพเดจเตเดณเตเดณ เด’เดฐเต เดนเตเดฐเดธเตเดต เด†เดฎเตเด–เด‚
เด•เตเดฑเดฟเดชเตเดชเต. เดตเดฟเดตเตผเดคเตเดคเดจเด‚.: kustomize-เดจเตเดฑเต† "เดฒเดณเดฟเดคเดฎเดพเดฏ" เด‰เดชเดฏเต‹เด—เดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดกเต‹เด•เตเดฏเตเดฎเต†เดจเตเดฑเต‡เดทเดจเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดšเดฟเดคเตเดฐเต€เด•เดฐเดฃเด‚

เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดตเดฐเตเดคเตเดคเดฃเดฎเต†เด™เตเด•เดฟเตฝ เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดฑเต€เดกเดฏเดฑเด•เตโ€ŒเดŸเต เดšเต†เดฏเตเดฏเดพเด‚:

kustomize build . > custom-config.yaml

เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดกเดพเดฑเตเดฑ เดจเดฟเตผเดฃเตเดฃเดพเดฏเด•เดฎเดพเดฃเต (เด…เดคเต‡ เด‡เตปเดชเตเดŸเตเดŸเต เดกเดพเดฑเตเดฑ เด’เดฐเต‡ เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต เดซเดฒเด™เตเด™เตพ เดชเตเดฑเดชเตเดชเต†เดŸเตเดตเดฟเด•เตเด•เตเด‚), เด…เดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เดซเดฒเด‚ เด’เดฐเต เดซเดฏเดฒเดฟเดฒเต‡เด•เตเด•เต เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดฒเตเดฒ. เดชเด•เดฐเด‚, เด‡เดคเต เดฎเดฑเตเดฑเตŠเดฐเต เด•เดฎเดพเตปเดกเดฟเดฒเต‡เด•เตเด•เต เดจเต‡เดฐเดฟเดŸเตเดŸเต เด•เตˆเดฎเดพเดฑเดพเตป เด•เดดเดฟเดฏเตเด‚:

kustomize build . | kubectl apply -f -

เด•เดธเตเดฑเตเดฑเดฎเตˆเดธเต เดซเต€เดšเตเดšเดฑเตเด•เตพ เดตเดดเดฟเดฏเตเด‚ เด†เด•เตโ€Œเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚ kubectl -k (เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดชเดคเดฟเดชเตเดชเต 1.14 เดฎเตเดคเตฝ). เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด‡เดจเตเดฑเด—เตเดฐเต‡เดฑเตเดฑเดกเต kubectl เดชเดพเด•เตเด•เต‡เดœเดฟเดจเต‡เด•เตเด•เดพเตพ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดธเตเดฑเตเดฑเดพเตปเดกเตโ€Œเดฒเต‹เตบ kustomize เดชเดพเด•เตเด•เต‡เดœเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต เดŽเดจเตเดจเดคเต เด“เตผเดฎเตเดฎเดฟเด•เตเด•เตเด• (เด•เตเดฌเต‡เตผเดจเต†เดฑเตเดฑเดธเต 1.15 เดชเดคเดฟเดชเตเดชเดฟเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดฎเต†เด™เตเด•เดฟเดฒเตเด‚ เด‡เดคเดพเดฃเต).

เดตเดพเดฏเดจเด•เตเด•เดพเตผ เดšเต‹เดฆเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚: "เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดซเดฏเดฒเตเด•เตพ เดจเต‡เดฐเดฟเดŸเตเดŸเต เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดฎเต†เด™เตเด•เดฟเตฝ เดŽเดจเตเดคเดฟเดจเดพเดฃเต เดˆ เดธเด™เตเด•เต€เตผเดฃเตเดฃเดค?" เดตเดฒเดฟเดฏ เดšเต‹เดฆเตเดฏเด‚. เดžเด™เตเด™เดณเตเดŸเต† เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเตฝ, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚ can เดซเดฏเดฒเตเด•เตพ เดชเดฐเดฟเดทเตเด•เดฐเดฟเด•เตเด•เตเด• 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 เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดš เดเดฑเตเดฑเดตเตเด‚ เดชเตเดคเดฟเดฏ เดฑเดฟเดชเตเดชเต‹เตผเดŸเตเดŸเตเด•เดณเตเดณเตเดณ เดตเต€เดกเดฟเดฏเต‹เด•เดณเตเดŸเต† เด’เดฐเต เดถเต‡เด–เดฐเด‚.

เดˆ เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเตฝ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดšเต‹เดฆเตเดฏเด™เตเด™เดณเต‹ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเต‹ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดซเต€เดกเตโ€Œเดฌเดพเด•เตเด•เดฟเดจเต เดžเดพเตป เดŽเดชเตเดชเต‹เดดเตเด‚ เดคเดฏเตเดฏเดพเดฑเดพเดฃเต. เดŽเดจเตเดจ เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดจเต† เดฌเดจเตเดงเดชเตเดชเต†เดŸเดพเด‚ เดŸเตเดตเดฟเดฑเตเดฑเตผ เด…เดฅเดตเดพ เด•เตเดฌเต†เตผเดจเต†เดฑเตเดฑเดธเต เดธเตเดฒเดพเด•เตเด•เต เดšเดพเดจเตฝ. เด•เดธเตเดฑเตเดฑเดฎเตˆเดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฎเดพเดจเดฟเดซเต†เดธเตเดฑเตเดฑเตเด•เตพ เดชเดฐเดฟเดทเตโ€Œเด•เตเด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเต เด†เดธเตเดตเดฆเดฟเด•เตเด•เต‚!

เดตเดฟเดตเตผเดคเตเดคเด•เดจเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฟ.เดŽเดธเต

เดžเด™เตเด™เดณเตเดŸเต† เดฌเตเดฒเต‹เด—เดฟเดฒเตเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•:

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•