เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจฒเจˆ เจ‡เฉฑเจ• เจธเฉฐเจ–เฉ‡เจช เจœเจพเจฃ-เจชเจ›เจพเจฃ

เจจเฉ‹เจŸ เจ•เจฐเฉ‹เฅค เจ…เจจเฉเจตเจพเจฆ: เจฒเฉ‡เจ– เจธเจ•เจพเจŸ เจฒเฉ‹เจตเฉ‡ เจฆเฉเจ†เจฐเจพ เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€, IT เจตเจฟเฉฑเจš เจตเจฟเจ†เจชเจ• เจคเจœเจผเจฐเจฌเฉ‡ เจตเจพเจฒเฉ‡ เจ‡เฉฑเจ• เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐ, เจœเฉ‹ เจธเฉฑเจค เจ›เจชเฉ€เจ†เจ‚ เจ•เจฟเจคเจพเจฌเจพเจ‚ (เจฎเฉเฉฑเจ– เจคเฉŒเจฐ 'เจคเฉ‡ VMware vSphere 'เจคเฉ‡) เจฆเฉ‡ เจฒเฉ‡เจ–เจ•/เจธเจนเจฟ-เจฒเฉ‡เจ–เจ• เจนเจจเฅค เจ‰เจน เจนเฉเจฃ เจ‡เจธเจฆเฉ€ VMware เจธเจนเจพเจ‡เจ• เจ•เฉฐเจชเจจเฉ€ เจนเฉˆเจชเจŸเฉ€เจ“ (2016 เจตเจฟเฉฑเจš เจนเจพเจธเจฒ เจ•เฉ€เจคเฉ€) เจฒเจˆ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ, เจ•เจฒเจพเจ‰เจก เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจ…เจคเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจฎเฉเจนเจพเจฐเจค เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค เจŸเฉˆเจ•เจธเจŸ เจ†เจชเจฃเฉ‡ เจ†เจช เจตเจฟเฉฑเจš เจคเจ•เจจเจพเจฒเฉ‹เจœเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฒเจˆ เจธเฉฐเจฐเจšเจจเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ เจ‡เฉฑเจ• เจธเฉฐเจ–เฉ‡เจช เจ…เจคเฉ‡ เจธเจฎเจเจฃ เจตเจฟเฉฑเจš เจ†เจธเจพเจจ เจœเจพเจฃ-เจชเจ›เจพเจฃ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เจฐเฉ‹, เจœเฉ‹ เจ•เจฟ เจนเจพเจฒ เจนเฉ€ เจตเจฟเฉฑเจš K8s เจฆเจพ เจนเจฟเฉฑเจธเจพ เจฌเจฃ เจ—เจฟเจ† เจนเฉˆเฅค

เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจฒเจˆ เจ‡เฉฑเจ• เจธเฉฐเจ–เฉ‡เจช เจœเจพเจฃ-เจชเจ›เจพเจฃ

เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจ‡เฉฑเจ• เจ…เจœเจฟเจนเจพ เจธเจพเจงเจจ เจนเฉˆ เจœเฉ‹ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ "เจตเฉฑเจ–-เจตเฉฑเจ– เจ‰เจฆเฉ‡เจธเจผเจพเจ‚ เจฒเจˆ เจธเจงเจพเจฐเจจ, เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸ-เจฎเฉเจ•เจค YAML เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจ…เจธเจฒ YAML เจจเฉ‚เฉฐ เจฌเจฐเจ•เจฐเจพเจฐ เจ…เจคเฉ‡ เจตเจฐเจคเฉ‹เจ‚ เจฏเฉ‹เจ— เจ›เฉฑเจกเจฆเจพ เจนเฉˆ" (เจตเจฐเจฃเจจ เจธเจฟเฉฑเจงเฉ‡ เจคเฉ‹เจ‚ เจ‰เจงเจพเจฐ เจฒเจฟเจ† เจ—เจฟเจ† เจนเฉˆ GitHub 'เจคเฉ‡ เจฐเจฟเจชเฉ‹เจœเจผเจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจ•เจฐเฉ‹). เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเจพ เจšเจฒเจพเจ‡เจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจœเจพเจ‚, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ 1.14 เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ kubectl -k เจ‡เจธเจฆเฉ€ เจ•เจพเจฐเจœเจ•เฉเจธเจผเจฒเจคเจพ เจจเฉ‚เฉฐ เจเจ•เจธเฉˆเจธ เจ•เจฐเจจ เจฒเจˆ (เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ 1.15 เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ, เจตเฉฑเจ–เจฐเฉ€ เจฌเจพเจˆเจจเจฐเฉ€ kubectl เจตเจฟเฉฑเจš เจฌเจฃเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจจเจพเจฒเฉ‹เจ‚ เจจเจตเฉ€เจ‚ เจนเฉˆ)เฅค (เจจเฉ‹เจŸ เจ•เจฐเฉ‹เฅค เจ…เจจเฉเจตเจพเจฆ: เจ…เจคเฉ‡ เจนเจพเจฒ เจนเฉ€ เจฆเฉ‡ เจฐเฉ€เจฒเฉ€เจœเจผ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ 1.16..XNUMX เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เจฐเฉ‹ เจฆเฉเจ†เจฐเจพ เจธเจนเจฟเจฏเฉ‹เจ—เฉ€ kubeadm เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจตเจฟเฉฑเจš เจตเฉ€เฅค) เจ‡เจธ เจชเฉ‹เจธเจŸ เจตเจฟเฉฑเจš, เจฎเฉˆเจ‚ เจชเจพเจ เจ•เจพเจ‚ เจจเฉ‚เฉฐ เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจฆเฉ€เจ†เจ‚ เจฎเฉ‚เจฒ เจ—เฉฑเจฒเจพเจ‚ เจจเจพเจฒ เจœเจพเจฃเฉ‚ เจ•เจฐเจตเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเจพ เจนเจพเจ‚เฅค

เจ‡เจธ เจฆเฉ‡ เจธเจญ เจคเฉ‹เจ‚ เจธเจฐเจฒ เจฐเฉ‚เจช/เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš, kustomize เจธเจฟเจฐเจซเจผ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉฐเจ—เฉเจฐเจนเจฟ เจนเฉˆ (YAML เจซเจผเจพเจˆเจฒเจพเจ‚ เจœเฉ‹ Kubernetes เจ†เจฌเจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ: เจคเฉˆเจจเจพเจคเฉ€, เจธเฉ‡เจตเจพเจตเจพเจ‚, เจ†เจฆเจฟ) เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจธเฉฐเจธเจพเจงเจจเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ เจฌเจฆเจฒเจพเจตเจพเจ‚ เจฒเจˆ เจจเจฟเจฐเจฆเฉ‡เจธเจผเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจนเฉˆเฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฎเฉ‡เจ• เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจจเจฟเจฐเจฆเฉ‡เจธเจผ เจธเฉˆเฉฑเจŸ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ 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 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 build . > custom-config.yaml

เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจกเฉ‡เจŸเจพ เจจเจฟเจฐเจฃเจพเจ‡เจ• เจนเฉˆ (เจ‰เจนเฉ€ เจ‡เจจเจชเฉเจŸ เจกเฉ‡เจŸเจพ เจ‰เจนเฉ€ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจจเจคเฉ€เจœเฉ‡ เจชเฉˆเจฆเจพ เจ•เจฐเฉ‡เจ—เจพ), เจ‡เจธ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจจเจคเฉ€เจœเจพ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เจธ เจฆเฉ€ เจฌเจœเจพเจ, เจ‡เจธเจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจ•เจฎเจพเจ‚เจก เจจเฉ‚เฉฐ เจฆเจฟเฉฑเจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ:

kustomize build . | kubectl apply -f -

เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจฐเจพเจนเฉ€เจ‚ เจตเฉ€ เจชเจนเฉเฉฐเจš เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ kubectl -k (เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเฉฐเจธเจ•เจฐเจฃ 1.14 เจคเฉ‹เจ‚)เฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ‡เจน เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เฉ‹ เจ•เจฟ เจธเจŸเฉˆเจ‚เจกเจ…เจฒเฉ‹เจจ kustomize เจชเฉˆเจ•เฉ‡เจœ เจจเฉ‚เฉฐ เจเจ•เฉ€เจ•เฉเจฐเจฟเจค kubectl เจชเฉˆเจ•เฉ‡เจœ เจจเจพเจฒเฉ‹เจ‚ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ (เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจ‡เจน เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ 1.15 เจฐเฉ€เจฒเฉ€เจœเจผ เจจเจพเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ)เฅค

เจชเจพเจ เจ• เจชเฉเฉฑเจ› เจธเจ•เจฆเฉ‡ เจนเจจ: "เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเจพ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจ‡เจน เจธเจพเจฐเฉ€ เจ—เฉเฉฐเจเจฒเจคเจพ เจ•เจฟเจ‰เจ‚ เจนเฉˆ?" เจฎเจนเจพเจจ เจธเจตเจพเจฒ. เจธเจพเจกเฉ‡ เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš, เจ…เจธเจฒ เจตเจฟเฉฑเจš เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉ‹เจงเฉ‹ deployment.yaml ะธ service.yaml เจธเจฟเฉฑเจงเจพ, เจชเจฐ เจ•เฉ€ เจœเฉ‡ เจ‰เจน เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจฆเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเจพ เจซเฉ‹เจฐเจ• เจนเจจ? เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจฌเจฆเจฒเจฃ เจจเจพเจฒ เจซเฉ‹เจฐเจ• เจจเฉ‚เฉฐ เจฐเฉ€เจฌเฉ‡เจธ เจ•เจฐเจจเจพ เจฎเฉเจธเจผเจ•เจฒ (เจœเฉ‡ เจ…เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚) เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจฎเฉ‚เจฒ/เจธเจฐเฉ‹เจค เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค kustomize เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจจเจพเจฒ เจคเฉเจธเฉ€เจ‚ เจ‡เจนเจจเจพเจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจ•เฉ‡เจ‚เจฆเจฐเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ kustomization.yaml, เจ…เจธเจฒเฉ€ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฐเจ•เจฐเจพเจฐ เจ›เฉฑเจก เจ•เฉ‡ เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจœเฉ‡เจ•เจฐ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡ เจคเจพเจ‚ เจ…เจธเจฒ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ€เจฌเฉ‡เจธ เจ•เจฐเจจเจพ เจ†เจธเจพเจจ เจฌเจฃเจพ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค

เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจฆเฉ‡ เจซเจพเจ‡เจฆเฉ‡ เจตเจงเฉ‡เจฐเฉ‡ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ เจตเจฐเจคเฉ‹เจ‚ เจฆเฉ‡ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจธเจชเฉฑเจธเจผเจŸ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค เจ‰เจชเจฐเฉ‹เจ•เจค เจ‰เจฆเจพเจนเจฐเจจ เจตเจฟเฉฑเจš 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 เจฌเจธ เจ‰เจนเจจเจพเจ‚ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจ˜เฉ‹เจธเจผเจฃเจพ เจ•เจฐเฉ‹ เจœเฉ‹ เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเฉ‹เจฃเฉ‡ เจšเจพเจนเฉ€เจฆเฉ‡ เจนเจจเฅค

เจนเจฐเฉ‡เจ• เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš 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 - เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‰เจคเจชเจพเจฆเจจ เจตเจฟเจ•เจฒเจช เจฎเจฟเจฒเจฆเจพ เจนเฉˆเฅค เจ…เจคเฉ‡ เจ‡เจน เจธเจญ - เจฎเฉ‚เจฒ เจตเจฟเฉฑเจš เจ•เฉ‹เจˆ เจฌเจฆเจฒเจพเจ… เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ (เจ†เจงเจพเจฐ) เจซเจพเจˆเจฒเจพเจ‚, เจธเจญ เจ‡เฉฑเจ• เจ˜เฉ‹เจธเจผเจฃเจพเจคเจฎเจ• เจ…เจคเฉ‡ เจจเจฟเจฐเจฃเจพเจ‡เจ• เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ. เจคเฉเจธเฉ€เจ‚ เจฌเฉ‡เจธ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจ“เจตเจฐเจฒเฉ‡ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจฒเจˆ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจ‡เจน เจœเจพเจฃเจฆเฉ‡ เจนเฉ‹เจ เจ•เจฟ เจ‡เจนเจจเจพเจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจธเจฎเฉ‡เจ‚ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ€ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจคเจฟเจ†เจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจฒเจˆ เจ‡เฉฑเจ• เจธเฉฐเจ–เฉ‡เจช เจœเจพเจฃ-เจชเจ›เจพเจฃ
เจจเฉ‹เจŸ เจ•เจฐเฉ‹เฅค เจ…เจจเฉเจตเจพเจฆ: เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจตเจฟเฉฑเจš เจ“เจตเจฐเจฒเฉ‡เจ… เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฌเจพเจฐเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเจพเจ‚ เจคเฉ‹เจ‚ เจ‰เจฆเจพเจนเจฐเจจ

เจ…เจจเฉเจ•เฉ‚เจฒเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจฌเจนเฉเจค เจ•เฉเจ เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจœเฉ‹ เจ•เฉเจ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ‰เจธ เจคเฉ‹เจ‚ เจตเฉฑเจงเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจฎเฉˆเจจเฉ‚เฉฐ เจ‰เจฎเฉ€เจฆ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ‡เฉฑเจ• เจšเฉฐเจ—เฉ€ เจœเจพเจฃ-เจชเจ›เจพเจฃ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ.

เจตเจงเฉ€เจ• เจธเจฐเฉ‹เจค

เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจฌเจพเจฐเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ‡ เจšเฉฐเจ—เฉ‡ เจฒเฉ‡เจ– เจ…เจคเฉ‡ เจชเฉเจฐเจ•เจพเจธเจผเจจ เจนเจจเฅค เจ‡เฉฑเจฅเฉ‡ เจ•เฉเจ เจ•เฉ เจนเจจ เจœเฉ‹ เจฎเฉˆเจจเฉ‚เฉฐ เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเจพเจญเจฆเจพเจ‡เจ• เจฒเฉฑเจ—เฉ‡:

เจจเฉ‹เจŸ เจ•เจฐเฉ‹เฅค เจ…เจจเฉเจตเจพเจฆ: เจคเฉเจธเฉ€เจ‚ เจ‡เจธ เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจชเฉเจฐเจ•เจพเจธเจผเจฟเจค เจฒเจฟเฉฐเจ•เจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจฌเจฒเจพเจ• เจฆเฉ€ เจธเจฟเจซเจพเจฐเจธเจผ เจตเฉ€ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจธเจฐเฉ‹เจค เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจฆเฉ€ เจตเฉˆเฉฑเจฌเจธเจพเจˆเจŸ 'เจคเฉ‡, เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจฌเจพเจฐเฉ‡ เจจเจตเฉ€เจจเจคเจฎ เจฐเจฟเจชเฉ‹เจฐเจŸเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจตเจฟเจกเฉ€เจ“เจœเจผ เจฆเฉ‡ เจธเฉฐเจ—เฉเจฐเจนเจฟ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆเฅค

เจœเฉ‡เจ•เจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ‡เจธ เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เฉ‹เจˆ เจธเจตเจพเจฒ เจœเจพเจ‚ เจธเฉเจเจพเจ… เจนเจจ, เจคเจพเจ‚ เจฎเฉˆเจ‚ เจนเจฎเฉ‡เจธเจผเจพ เจซเฉ€เจกเจฌเฉˆเจ• เจฒเจˆ เจ–เฉเฉฑเจฒเฉเจนเจพ เจนเจพเจ‚เฅค เจคเฉเจธเฉ€เจ‚ เจฎเฉ‡เจฐเฉ‡ เจจเจพเจฒ 'เจคเฉ‡ เจธเฉฐเจชเจฐเจ• เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจŸเจตเจฟเฉฑเจŸเจฐ เจœ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเจฒเฉˆเจ• เจšเฉˆเจจเจฒ. เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจจเจพเจฒ เจ†เจชเจฃเฉ‡ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจจเฉ‚เฉฐ เจธเฉ‹เจงเจฃ เจฆเจพ เจฎเจœเจผเจพ เจฒเจ“!

เจ…เจจเฉเจตเจพเจฆเจ• เจคเฉ‹เจ‚ เจชเฉ€.เจเจธ

เจธเจพเจกเฉ‡ เจฌเจฒเฉŒเจ— 'เจคเฉ‡ เจตเฉ€ เจชเฉœเฉเจนเฉ‹:

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹