3-เจตเฉ‡เจ… เจฎเจฐเจœ เจŸเฉ‚ เจตเจฐเจซ: เจนเฉˆเจฒเจฎ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเฉ€ เจคเฉˆเจจเจพเจคเฉ€ โ€œเจธเจŸเฉ€เจฐเฉŒเจ‡เจกเจœเจผ เจ‰เฉฑเจคเฉ‡โ€

เจœเฉ‹ เจ…เจธเฉ€เจ‚ (เจ…เจคเฉ‡ เจจเจพ เจธเจฟเจฐเจซ เจ…เจธเฉ€เจ‚) เจฒเฉฐเจฌเฉ‡ เจธเจฎเฉ‡เจ‚ เจคเฉ‹เจ‚ เจ‰เจกเฉ€เจ• เจฐเจนเฉ‡ เจนเจพเจ‚ เจ‰เจน เจนเฉ‹เจ‡เจ†: werf, เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฌเจฃเจพเจ‰เจฃ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจคเฉฑเจ• เจชเจนเฉเฉฐเจšเจพเจ‰เจฃ เจฒเจˆ เจธเจพเจกเฉ€ เจ“เจชเจจ เจธเฉ‹เจฐเจธ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ, เจนเฉเจฃ 3-เจตเฉ‡เจ… เจฎเจฐเจœ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆ! เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจนเจจเจพเจ‚ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉœ เจจเจฟเจฐเจฎเจพเจฃ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจนเฉˆเจฒเจฎ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆเจพ K8s เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจชเจฃเจพเจ‰เจฃเจพ เจธเฉฐเจญเจต เจนเฉˆเฅค

3-เจตเฉ‡เจ… เจฎเจฐเจœ เจŸเฉ‚ เจตเจฐเจซ: เจนเฉˆเจฒเจฎ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจฆเฉ€ เจคเฉˆเจจเจพเจคเฉ€ โ€œเจธเจŸเฉ€เจฐเฉŒเจ‡เจกเจœเจผ เจ‰เฉฑเจคเฉ‡โ€

เจœเฉ‡ เจ‡เจน เจฌเจนเฉเจค เจ›เฉ‹เจŸเจพ เจนเฉˆ, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจชเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚ WERF_THREE_WAY_MERGE=enabled - เจธเจพเจจเฉ‚เฉฐ เจคเฉˆเจจเจพเจคเฉ€ เจฎเจฟเจฒเจฆเฉ€ เจนเฉˆ "เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจตเจฟเฉฑเจš kubectl apply", เจฎเฉŒเจœเฉ‚เจฆเจพ เจนเฉˆเจฒเจฎ 2 เจธเจฅเจพเจชเจจเจพเจตเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒ เจ…เจคเฉ‡ เจฅเฉ‹เฉœเจพ เจนเฉ‹เจฐ เจตเฉ€เฅค

เจชเจฐ เจ†เจ“ เจธเจฟเจงเจพเจ‚เจค เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจ: 3-เจตเฉ‡-เจ…เจญเฉ‡เจฆ เจชเฉˆเจš เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เฉ€ เจนเจจ, เจฒเฉ‹เจ• เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจชเจนเฉเฉฐเจš เจ•เจฟเจตเฉ‡เจ‚ เจฒเฉˆ เจ•เฉ‡ เจ†เจ, เจ…เจคเฉ‡ เจ‰เจน เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ-เจ…เจงเจพเจฐเจค เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจจเจพเจฒ CI/CD เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจตเจฟเฉฑเจš เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ•เจฟเจ‰เจ‚ เจนเจจ? เจ…เจคเฉ‡ เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ†เจ“ เจฆเฉ‡เจ–เฉ€เจ เจ•เจฟ 3-เจตเฉ‡เจ…-เจฎเจฐเจœ เจ•เฉ€ เจนเฉˆ werf เจตเจฟเฉฑเจš, เจ•เจฟเจนเฉœเฉ‡ เจฎเฉ‹เจก เจกเจฟเจซเฉŒเจฒเจŸ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจฌเฉฐเจงเจฟเจค เจ•เจฐเจจเจพ เจนเฉˆเฅค

เจ‡เฉฑเจ• 3-เจตเฉ‡-เจ…เจญเฉ‡เจฆ เจชเฉˆเจš เจ•เฉ€ เจนเฉˆ?

เจ‡เจธ เจฒเจˆ, เจ†เจ“ YAML เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจตเจฟเฉฑเจš เจตเจฐเจฃเจฟเจค เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจฐเฉ‹เจฒ เจ†เจŠเจŸ เจ•เจฐเจจ เจฆเฉ‡ เจ•เฉฐเจฎ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจเฅค

เจธเจฐเฉ‹เจคเจพเจ‚ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจ เจฒเจˆ, Kubernetes API เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจ“เจชเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ: เจฌเจฃเจพเจ“, เจชเฉˆเจš เจ•เจฐเฉ‹, เจฌเจฆเจฒเฉ‹ เจ…เจคเฉ‡ เจฎเจฟเจŸเจพเจ“เฅค เจ‡เจน เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฎเจฆเจฆ เจจเจพเจฒ เจ•เจฒเฉฑเจธเจŸเจฐ เจฒเจˆ เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจจเจฟเจฐเฉฐเจคเจฐ เจฐเฉ‹เจฒเจ†เจ‰เจŸ เจฌเจฃเจพเจ‰เจฃเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆเฅค เจ•เจฟเจตเฉ‡เจ‚?

kubectl เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉเจ•เจฎ

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจ†เจฌเจœเฉˆเจ•เจŸเจธ เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ เจชเจนเจฟเจฒเฉ€ เจชเจนเฉเฉฐเจš เจ‡เจนเจจเจพเจ‚ เจ†เจฌเจœเฉˆเจ•เจŸเจธ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ, เจธเฉ‹เจงเจฃ เจ…เจคเฉ‡ เจฎเจฟเจŸเจพเจ‰เจฃ เจฒเจˆ kubectl เจœเจผเจฐเฉ‚เจฐเฉ€ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจนเฉˆเฅค เจธเจพเจฆเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเจš:

  • เจŸเฉ€เจฎ เจฆเฉเจ†เจฐเจพ kubectl run เจคเฉเจธเฉ€เจ‚ เจคเฉˆเจจเจพเจคเฉ€ เจœเจพเจ‚ เจจเฉŒเจ•เจฐเฉ€ เจšเจฒเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹:
    kubectl run --generator=deployment/apps.v1 DEPLOYMENT_NAME --image=IMAGE
  • เจŸเฉ€เจฎ เจฆเฉเจ†เจฐเจพ kubectl scale - เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจฌเจฆเจฒเฉ‹:
    kubectl scale --replicas=3 deployment/mysql
  • เจ…เจคเฉ‡ เจ‡เจธ เจคเจฐเจพเจ‚ เจนเฉ€.

เจ‡เจน เจชเจนเฉเฉฐเจš เจชเจนเจฟเจฒเฉ€ เจจเจœเจผเจฐ 'เจคเฉ‡ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจฒเฉฑเจ— เจธเจ•เจฆเจพ เจนเฉˆ. เจนเจพเจฒเจพเจ‚เจ•เจฟ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจนเจจ:

  1. เจ‡เจน เจ”เจ–เจพ เจนเฉˆ เจธเจตเฉˆเจšเจพเจฒเจค.
  2. เจ•เจฐเจจเจพ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ Git เจตเจฟเฉฑเจš? เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจนเฉ‹ เจฐเจนเฉ€เจ†เจ‚ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฆเฉ€ เจธเจฎเฉ€เจ–เจฟเจ† เจ•เจฟเจตเฉ‡เจ‚ เจ•เจฐเฉ€เจ?
  3. เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจเจพ เจนเฉˆ เจชเฉเจฐเจœเจจเจจเจฏเฉ‹เจ—เจคเจพ เจฐเฉ€เจธเจŸเจพเจฐเจŸ 'เจคเฉ‡ เจธเฉฐเจฐเจšเจจเจพเจตเจพเจ‚?
  4. ...

เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉˆ เจ•เจฟ เจ‡เจน เจชเจนเฉเฉฐเจš เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจ…เจคเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจ•เฉ‹เจก (IaC; เจœเจพเจ‚ เจ‡เฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ) เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ เจ เฉ€เจ• เจจเจนเฉ€เจ‚ เจฌเฉˆเจ เจฆเฉ€ เจนเฉˆ GitOps เจ‡เฉฑเจ• เจตเจงเฉ‡เจฐเฉ‡ เจ†เจงเฉเจจเจฟเจ• เจตเจฟเจ•เจฒเจช เจตเจœเฉ‹เจ‚, เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจˆเจ•เฉ‹เจธเจฟเจธเจŸเจฎ เจตเจฟเฉฑเจš เจชเฉเจฐเจธเจฟเฉฑเจงเฉ€ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ)เฅค เจ‡เจธเจฒเจˆ, เจ‡เจนเจจเจพเจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ kubectl เจตเจฟเฉฑเจš เจนเฉ‹เจฐ เจตเจฟเจ•เจพเจธ เจจเจนเฉ€เจ‚ เจฎเจฟเจฒเจฟเจ†เฅค

เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฌเจฃเจพเจ“, เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹, เจฌเจฆเจฒเฉ‹ เจ…เจคเฉ‡ เจฎเจฟเจŸเจพเจ“

เจชเฉเจฐเจพเจ‡เจฎเจฐเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจฐเจšเจจเจพ เจ‡เจน เจธเจงเจพเจฐเจจ เจนเฉˆ: เจ†เจชเจฐเฉ‡เจธเจผเจจ เจฒเจˆ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจญเฉ‡เจœเฉ‹ create kube api เจ…เจคเฉ‡ เจธเจฐเฉ‹เจค เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆเฅค เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจฆเฉ€ YAML เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ Git เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเจฃเจพเจˆ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ kubectl create -f manifest.yaml.

ะก เจนเจŸเจพ เจฐเจฟเจนเจพ เจนเฉˆ เจ‡เจน เจตเฉ€ เจธเจงเจพเจฐเจจ: เจ‰เจนเฉ€ เจฌเจฆเจฒเฉ‹ manifest.yaml Git เจคเฉ‹เจ‚ เจŸเฉ€เจฎ เจคเฉฑเจ• kubectl delete -f manifest.yaml.

เจ“เจชเจฐเฉ‡เจธเจผเจจ replace เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเจฐเฉ‹เจค เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจจเจพเจฒ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจจเจพเจฒ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจธเจฐเฉ‹เจค เจจเฉ‚เฉฐ เจฎเฉเฉœ เจฌเจฃเจพเจ เจฌเจฟเจจเจพเจ‚เฅค เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจ• เจธเจฐเฉ‹เจค เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚, เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฆเฉ‡ เจจเจพเจฒ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ€ เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ› เจ•เจฐเจจเจพ เจคเจฐเจ•เจชเฉ‚เจฐเจจ เจนเฉˆ get, เจ‡เจธเจจเฉ‚เฉฐ เจฌเจฆเจฒเฉ‹ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ…เจชเจฐเฉ‡เจธเจผเจจ เจจเจพเจฒ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเฉ‹ replace. kube apiserver เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ เจ†เจธเจผเจพเจตเจพเจฆเฉ€ เจคเจพเจฒเจพเจฌเฉฐเจฆเฉ€ เจ…เจคเฉ‡, เจœเฉ‡ เจธเจฐเจœเจฐเฉ€ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ get เจตเจธเจคเฉ‚ เจฌเจฆเจฒ เจ—เจˆ เจนเฉˆ, เจซเจฟเจฐ เจ“เจชเจฐเฉ‡เจธเจผเจจ replace เจ‡เจน เจ•เฉฐเจฎ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพเฅค

Git เจตเจฟเฉฑเจš เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ get, เจธเจพเจจเฉ‚เฉฐ เจœเฉ‹ เจชเฉเจฐเจพเจชเจค เจนเฉ‹เจ‡เจ† เจนเฉˆ เจ‰เจธ เจจเจพเจฒ เจ—เจฟเฉฑเจŸ เจคเฉ‹เจ‚ เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจฎเจฟเจฒเจพเจ“, เจ…เจคเฉ‡ เจšเจฒเจพเจ“ replace. เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš, kubectl เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฎเจพเจ‚เจก เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ kubectl replace -f manifest.yamlเจ•เจฟเฉฑเจฅเฉ‡ manifest.yaml โ€” เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจนเฉ€ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจคเจฟเจ†เจฐ (เจธเจพเจกเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจตเจฟเจฒเฉ€เจจ) เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจœเจฟเจธ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจฎเจฐเจœ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจน เจ•เฉ‹เจˆ เจฎเจพเจฎเฉ‚เจฒเฉ€ เจฎเจพเจฎเจฒเจพ เจจเจนเฉ€เจ‚ เจนเฉˆ...

เจ‡เจน เจตเฉ€ เจงเจฟเจ†เจจ เจฆเฉ‡เจฃ เจฏเฉ‹เจ— เจนเฉˆ เจ•เจฟ เจนเจพเจฒเจพเจ‚เจ•เจฟ manifest.yaml เจ…เจคเฉ‡ Git เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจœเจพเจฃ เจธเจ•เจฆเฉ‡ เจ•เจฟ เจ•เฉ€ เจ•เฉ‹เจˆ เจตเจธเจคเฉ‚ เจฌเจฃเจพเจ‰เจฃเจพ เจœเจพเจ‚ เจ‡เจธเจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเฉˆ - เจ‡เจน เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจฆเฉเจ†เจฐเจพ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ.

เจ•เฉเฉฑเจฒ: เจ•เฉ€ เจ…เจธเฉ€เจ‚ เจฒเจ—เจพเจคเจพเจฐ เจฐเฉ‹เจฒเจ†เจŠเจŸ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเจพเจ‚ เจธเจฟเจฐเจซเจผ เจฌเจฃเจพเจ“, เจฌเจฆเจฒเฉ‹ เจ…เจคเฉ‡ เจฎเจฟเจŸเจพเจ“, เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจฟ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเจพ เจธเฉฐเจฐเจšเจจเจพ เจ•เฉ‹เจก เจ…เจคเฉ‡ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• CI/CD เจฆเฉ‡ เจจเจพเจฒ Git เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ?

เจธเจฟเจงเจพเจ‚เจคเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจ…เจธเฉ€เจ‚ เจ‡เจธ เจฒเจˆ... เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ…เจญเฉ‡เจฆ เจ•เจพเจฐเจตเจพเจˆ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸเฉ‹ เจ…เจคเฉ‡ เจ•เจฟเจธเฉ‡ เจ•เจฟเจธเจฎ เจฆเฉ€ เจฌเจพเจˆเจกเจฟเฉฐเจ— เจœเฉ‹ เจ•เจฟ:

  • เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจธเจคเฉ‚ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเจพ เจนเฉˆ,
  • เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจธเจฐเฉ‹เจค เจจเจฟเจฐเจฎเจพเจฃ เจ•เจฐเจฆเจพ เจนเฉˆ,
  • เจ‡เจธเจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจพเจ‚ เจฎเจฟเจŸเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค

เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจงเจฟเจ†เจจ เจฆเจฟเจ“ เจธเจฐเฉ‹เจค เจฌเจฆเจฒเจฟเจ† เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจชเจฟเจ›เจฒเฉ‡ เจคเฉ‹เจ‚ get เจ…เจคเฉ‡ เจ†เจธเจผเจพเจตเจพเจฆเฉ€ เจฒเจพเจ•เจฟเฉฐเจ— เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจจเฉ‚เฉฐ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ•เจฒเฉ€ เจนเฉˆเจ‚เจกเจฒ เจ•เจฐเฉ‹ - เจตเจพเจฐ-เจตเจพเจฐ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจฆเฉ€เจ†เจ‚ เจ•เฉ‹เจธเจผเจฟเจธเจผเจพเจ‚ เจ•เจฐเฉ‹เฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจœเจฆเฉ‹เจ‚ เจ•เจฟเจŠเจฌ-เจเจชเฉ€เจธเจฐเจตเจฐ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจคเจฐเฉ€เจ•เจพ เจชเฉ‡เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจชเจนเฉ€เจ เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจ•เจฟเจ‰เจ‚ เจฌเจฃเจพเจ‡เจ† เจœเจพเจตเฉ‡: เจ“เจชเจฐเฉ‡เจธเจผเจจ patch, เจœเฉ‹ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจตเจฐเจฃเจฟเจค เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉเจ เจคเฉ‹เจ‚ เจฐเจพเจนเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ?

เจชเฉˆเจš

เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจชเฉˆเจšเจพเจ‚ 'เจคเฉ‡ เจ†เจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚เฅค

เจชเฉˆเจš เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆเจพ เจตเจธเจคเฉ‚เจ†เจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเจพ เจชเฉเจฐเจพเจ‡เจฎเจฐเฉ€ เจคเจฐเฉ€เจ•เจพ เจนเฉˆเฅค เจ“เจชเจฐเฉ‡เจธเจผเจจ patch เจ‡เจน เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ:

  • kube-apiserver เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ JSON เจซเจพเจฐเจฎ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจชเฉˆเจš เจญเฉ‡เจœเจฃ เจ…เจคเฉ‡ เจ†เจฌเจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ,
  • เจ…เจคเฉ‡ apiserver เจ–เฉเจฆ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฅเจฟเจคเฉ€ เจจเจพเจฒ เจจเจœเจฟเฉฑเจ เฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฒเจฟเจ†เจเจ—เจพเฅค

เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš เจ†เจธเจผเจพเจตเจพเจฆเฉ€ เจฒเจพเจ•เจฟเฉฐเจ— เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เจน เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฌเจฆเจฒเจฃ เจจเจพเจฒเฉ‹เจ‚ เจตเจงเฉ‡เจฐเฉ‡ เจ˜เฉ‹เจธเจผเจฃเจพเจคเจฎเจ• เจนเฉˆ, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจชเจนเจฟเจฒเจพเจ‚ เจ‡เจน เจ‡เจธเจฆเฉ‡ เจ‰เจฒเจŸ เจฒเฉฑเจ— เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจชเฉเจฐเจ•เจพเจฐ:

  • เจ‡เฉฑเจ• เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ create เจ…เจธเฉ€เจ‚ เจ—เจฟเฉฑเจŸ เจคเฉ‹เจ‚ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ‡เฉฑเจ• เจตเจธเจคเฉ‚ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚,
  • เจฆเฉ€ เจธเจนเจพเจ‡เจคเจพ เจจเจพเจฒ delete - เจฎเจฟเจŸเจพเจ“ เจœเฉ‡ เจตเจธเจคเฉ‚ เจฆเฉ€ เจนเฉเจฃ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ,
  • เจฆเฉ€ เจธเจนเจพเจ‡เจคเจพ เจจเจพเจฒ patch - เจ…เจธเฉ€เจ‚ เจ†เจฌเจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจธเจจเฉ‚เฉฐ เจ—เจฟเฉฑเจŸ เจตเจฟเฉฑเจš เจตเจฐเจฃเจฟเจค เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฒเจฟเจ†เจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚เฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจธเจนเฉ€ เจชเฉˆเจš!

เจนเฉˆเจฒเจฎ 2 เจตเจฟเฉฑเจš เจชเฉˆเจš เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ: 2-เจตเฉ‡-เจ…เจญเฉ‡เจฆ

เจœเจฆเฉ‹เจ‚ เจคเฉเจธเฉ€เจ‚ เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ เจฐเฉ€เจฒเฉ€เจœเจผ เจธเจฅเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจนเฉˆเจฒเจฎ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจฆเจพ เจนเฉˆ create เจšเจพเจฐเจŸ เจธเจฐเฉ‹เจคเจพเจ‚ เจฒเจˆ.

เจนเจฐเฉ‡เจ• เจธเจฐเฉ‹เจค เจฒเจˆ เจนเฉˆเจฒเจฎ เจฐเฉ€เจฒเฉ€เจœเจผ เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚:

  • เจชเจฟเจ›เจฒเฉ‡ เจšเจพเจฐเจŸ เจ…เจคเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจšเจพเจฐเจŸ เจธเฉฐเจธเจ•เจฐเจฃ เจคเฉ‹เจ‚ เจธเจฐเฉ‹เจค เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจชเฉˆเจš เจจเฉ‚เฉฐ เจธเจฎเจเจฆเจพ เจนเฉˆ,
  • เจ‡เจธ เจชเฉˆเจš เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเจพ เจนเฉˆ.

เจ…เจธเฉ€เจ‚ เจ‡เจธ เจชเฉˆเจš เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจพเจ‚เจ—เฉ‡ 2-เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฎเจฟเจฒเจพเจจ เจชเฉˆเจš, เจ•เจฟเจ‰เจ‚เจ•เจฟ 2 เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸเฉ‹ เจ‡เจธเจฆเฉ€ เจฐเจšเจจเจพ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเจจ:

  • เจชเจฟเจ›เจฒเฉ€ เจฐเฉ€เจฒเฉ€เจœเจผ เจคเฉ‹เจ‚ เจธเจฐเฉ‹เจค เจชเฉเจฐเจ—เจŸ,
  • เจธเจฐเฉ‹เจค เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฐเฉ‹เจค เจคเฉ‹เจ‚ เจชเฉเจฐเจ—เจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจ“เจชเจฐเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจนเจŸเจพเจ‰เจฃ เจตเฉ‡เจฒเฉ‡ delete kube apiserver เจตเจฟเฉฑเจš เจ‰เจนเจจเจพเจ‚ เจธเจฐเฉ‹เจคเจพเจ‚ เจฒเจˆ เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจœเฉ‹ เจชเจฟเจ›เจฒเฉ€ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจ˜เฉ‹เจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจ, เจชเจฐ เจฎเฉŒเจœเฉ‚เจฆเจพ เจตเจฟเฉฑเจš เจ˜เฉ‹เจธเจผเจฟเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจธเจจเฅค

2 เจตเฉ‡เจ… เจฎเจฐเจœ เจชเฉˆเจš เจชเจนเฉเฉฐเจš เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจนเฉˆ: เจ‡เจน เจ‡เจธ เจตเฉฑเจฒ เจฒเฉˆ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจธเจฐเฉ‹เจค เจฆเฉ€ เจ…เจธเจฒ เจธเจฅเจฟเจคเฉ€ เจ…เจคเฉ‡ Git เจตเจฟเฉฑเจš เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจจเจพเจฒ เจธเจฎเจ•เจพเจฒเฉ€เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ.

เจ‡เฉฑเจ• เจ‰เจฆเจพเจนเจฐเจจ เจฆเฉ‡ เจจเจพเจฒ เจธเจฎเฉฑเจธเจฟเจ† เจฆเจพ เจตเจฐเจฃเจจ

  • เจ—เจฟเฉฑเจŸ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจšเจพเจฐเจŸ เจ‡เฉฑเจ• เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ–เฉ‡เจคเจฐ image เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ ubuntu:18.04.
  • เจฆเฉเจ†เจฐเจพ เจ‰เจชเจญเฉ‹เจ—เจคเจพ kubectl edit เจ‡เจธ เจ–เฉ‡เจคเจฐ เจฆเฉ‡ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจฆเจฟเฉฑเจคเจพ ubuntu:19.04.
  • เจนเฉˆเจฒเจฎ เจšเจพเจฐเจŸ เจจเฉ‚เฉฐ เจฎเฉเฉœ-เจคเฉˆเจจเจพเจค เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจ‡เฉฑเจ• เจชเฉˆเจš เจคเจฟเจ†เจฐ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ–เฉ‡เจคเจฐ image เจฐเฉ€เจฒเฉ€เจœเจผ เจฆเฉ‡ เจชเจฟเจ›เจฒเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจ…เจคเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจšเจพเจฐเจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ‡ เจนเจจเฅค
  • เจฎเฉเฉœ เจคเจพเจ‡เจจเจพเจคเฉ€ เจฆเฉ‡ เจฌเจพเจ…เจฆ image เจฌเจšเจฟเจ† ubuntu:19.04, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจšเจพเจฐเจŸ เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ ubuntu:18.04.

เจธเจพเจจเฉ‚เฉฐ เจกเฉ€เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฎเจฟเจฒเฉ€ เจ…เจคเฉ‡ เจ˜เฉ‹เจธเจผเจฃเจพเจคเจฎเจ•เจคเจพ เจ–เจคเจฎ เจนเฉ‹ เจ—เจˆเฅค

เจ‡เฉฑเจ• เจธเจฎเจ•เจพเจฒเฉ€ เจธเจฐเฉ‹เจค เจ•เฉ€ เจนเฉˆ?

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

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

3-เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฎเจฟเจฒเจพเจจ เจชเฉˆเจš

เจฎเฉเฉฑเจ– เจตเจฟเจšเจพเจฐ 3-เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฎเจฟเจฒเจพเจจ เจชเฉˆเจš: เจ…เจธเฉ€เจ‚ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจคเฉ‹เจ‚ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจฆเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจจเฉ‚เฉฐ เจงเจฟเจ†เจจ เจตเจฟเฉฑเจš เจฐเฉฑเจ–เจฆเฉ‡ เจนเฉ‹เจ, Git เจคเฉ‹เจ‚ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจฆเฉ‡ เจ†เจ–เจฐเฉ€ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจ…เจคเฉ‡ Git เจคเฉ‹เจ‚ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจฆเฉ‡ เจŸเจพเจฐเจ—เฉ‡เจŸ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจ‡เฉฑเจ• เจชเฉˆเจš เจคเจฟเจ†เจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚เฅค เจจเจคเฉ€เจœเฉ‡ เจตเจพเจฒเฉ‡ เจชเฉˆเจš เจจเฉ‚เฉฐ เจธเจฎเจ•เจพเจฒเฉ€ เจธเจฐเฉ‹เจค เจจเจฟเจฏเจฎ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ:

  • เจŸเฉ€เจšเฉ‡ เจฆเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจจเจตเฉ‡เจ‚ เจ–เฉ‡เจคเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจชเฉˆเจš เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจœเฉ‹เฉœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ;
  • เจชเจฟเจ›เจฒเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจฎเฉŒเจœเฉ‚เจฆ เจ–เฉ‡เจคเจฐ เจ…เจคเฉ‡ เจŸเฉ€เจšเฉ‡ เจฆเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจจเจนเฉ€เจ‚ เจ‡เฉฑเจ• เจชเฉˆเจš เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฐเฉ€เจธเฉˆเจŸ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ;
  • เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจฟเฉฑเจš เจ–เฉ‡เจคเจฐ เจœเฉ‹ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจฆเฉ‡ เจŸเจพเจฐเจ—เฉ‡เจŸ เจธเฉฐเจธเจ•เจฐเจฃ เจคเฉ‹เจ‚ เจตเฉฑเจ–เจฐเฉ‡ เจนเจจ เจชเฉˆเจš เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจ…เจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค

เจ‡เจน เจ‡เจธ เจธเจฟเจงเจพเจ‚เจค 'เจคเฉ‡ เจนเฉˆ เจ•เจฟ เจ‡เจน เจชเฉˆเจš เจคเจฟเจ†เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ kubectl apply:

  • เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจฆเจพ เจ†เจ–เจฐเฉ€ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ€ เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ,
  • เจŸเฉ€เจšเจพ - เจจเจฟเจฐเจงเจพเจฐเจค YAML เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจฒเจฟเจ† เจ—เจฟเจ†,
  • เจฎเฉŒเจœเฉ‚เจฆเจพ เจ‡เฉฑเจ• เจšเฉฑเจฒ เจฐเจนเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจคเฉ‹เจ‚ เจนเฉˆเฅค

เจนเฉเจฃ เจœเจฆเฉ‹เจ‚ เจ…เจธเฉ€เจ‚ เจฅเจฟเจŠเจฐเฉ€ เจจเฉ‚เฉฐ เจธเฉเจฒเจเจพ เจฒเจฟเจ† เจนเฉˆ, เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจฆเฉฑเจธเจฃ เจฆเจพ เจธเจฎเจพเจ‚ เจนเฉˆ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจตเจฐเจซ เจตเจฟเฉฑเจš เจ•เฉ€ เจ•เฉ€เจคเจพ เจนเฉˆเฅค

werf เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพ เจฐเจนเฉ€เจ†เจ‚ เจนเจจ

เจชเจนเจฟเจฒเจพเจ‚, werf, เจนเฉˆเจฒเจฎ 2 เจตเจพเจ‚เจ—, 2-เจคเจฐเฉ€เจ•เฉ‡-เจ…เจญเฉ‡เจฆ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจธเฉ€เฅค

เจฎเฉเจฐเฉฐเจฎเจค เจชเฉˆเจš

เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจ•เจฟเจธเจฎ เจฆเฉ‡ เจชเฉˆเจšเจพเจ‚ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃ เจฒเจˆ - 3-เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฎเจฟเจฒเจพเจ“ - เจชเจนเจฟเจฒเจพ เจ•เจฆเจฎ เจ…เจธเฉ€เจ‚ เจ…เจ–เฉŒเจคเฉ€ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจฎเฉเจฐเฉฐเจฎเจค เจชเฉˆเจš.

เจคเฉˆเจจเจพเจค เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ‡เฉฑเจ• เจธเจŸเฉˆเจ‚เจกเจฐเจก 2-เจตเฉ‡-เจ…เจญเฉ‡เจฆ เจชเฉˆเจš เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจชเจฐ werf เจ‡เฉฑเจ• เจชเฉˆเจš เจตเฉ€ เจคเจฟเจ†เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจธเจฐเฉ‹เจค เจฆเฉ€ เจ…เจธเจฒ เจธเจฅเจฟเจคเฉ€ เจจเฉ‚เฉฐ Git เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‡ เจจเจพเจฒ เจธเจฎเจ•เจพเจฒเฉ€ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ (เจ…เจœเจฟเจนเจพ เจชเฉˆเจš เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ‡ เจธเจฎเจพเจจ เจธเจฎเจ•เจพเจฒเฉ€ เจธเจฐเฉ‹เจค เจจเจฟเจฏเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ) .

เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจกเฉ€เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจตเจพเจชเจฐเจฆเจพ เจนเฉˆ, เจคเฉˆเจจเจพเจคเฉ€ เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ…เจจเฉเจธเจพเจฐเฉ€ เจธเฉฐเจฆเฉ‡เจธเจผ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจชเฉˆเจš เจฆเฉ‡ เจจเจพเจฒ เจ‡เฉฑเจ• เจšเฉ‡เจคเจพเจตเจจเฉ€ เจชเฉเจฐเจพเจชเจค เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจธเจฐเฉ‹เจค เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจธเจฎเจ•เจพเจฒเฉ€ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฒเจฟเจ†เจ‰เจฃ เจฒเจˆ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ‡เจน เจชเฉˆเจš เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจตเจฟเจ†เจ–เจฟเจ† เจตเจฟเฉฑเจš เจตเฉ€ เจฆเจฐเจœ เจนเฉˆ werf.io/repair-patch. เจ‡เจน เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฆเฉ‡ เจนเฉฑเจฅ ัะฐะผ เจ‡เจธ เจชเฉˆเจš เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเฉ‡เจ—เจพ: werf เจ‡เจธ เจจเฉ‚เฉฐ เจฌเจฟเจฒเจ•เฉเจฒ เจฒเจพเจ—เฉ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพเฅค

เจฎเฉเจฐเฉฐเจฎเจค เจชเฉˆเจš เจฌเจฃเจพเจ‰เจฃเจพ เจ‡เฉฑเจ• เจ…เจธเจฅเจพเจˆ เจ‰เจชเจพเจ… เจนเฉˆ เจœเฉ‹ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ…เจธเจฒ เจตเจฟเฉฑเจš 3-เจคเจฐเฉ€เจ•เฉ‡-เจ…เจญเฉ‡เจฆ เจธเจฟเจงเจพเจ‚เจค เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจชเฉˆเจš เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจนเจจเจพเจ‚ เจชเฉˆเจšเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจ†เจช เจฒเจพเจ—เฉ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ‡เจธ เจธเจฎเฉ‡เจ‚, เจ‡เจน เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจฎเฉ‹เจก เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจฎเจฐเฉฑเจฅ เจนเฉˆเฅค

เจธเจฟเจฐเจซเจผ เจจเจตเฉ€เจ†เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจฒเจˆ 3-เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฎเจฐเจœ เจชเฉˆเจš

1 เจฆเจธเฉฐเจฌเจฐ, 2019 เจคเฉ‹เจ‚, werf เจฆเฉ‡ เจฌเฉ€เจŸเจพ เจ…เจคเฉ‡ เจ…เจฒเจซเจผเจพ เจตเจฐเจœเจจ เจธเจผเฉเจฐเฉ‚ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจฟเจฐเจซ werf เจฆเฉเจ†เจฐเจพ เจฐเฉ‹เจฒ เจ†เจŠเจŸ เจ•เฉ€เจคเฉ‡ เจ—เจ เจจเจตเฉ‡เจ‚ เจนเฉˆเจฒเจฎ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจชเฉ‚เจฐเฉ‡ 3-เจตเฉ‡เจ…-เจฎเจฐเจœ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เฅค เจฎเฉŒเจœเฉ‚เจฆเจพ เจฐเฉ€เจฒเฉ€เจœเจผ 2-เจตเฉ‡เจ…-เจ…เจญเฉ‡เจฆ + เจฎเฉเจฐเฉฐเจฎเจค เจชเฉˆเจš เจชเจนเฉเฉฐเจš เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฃเจ—เฉ€เจ†เจ‚เฅค

เจ‡เจน เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจฎเฉ‹เจก เจธเฉˆเจŸเจฟเฉฐเจ— เจฆเฉเจ†เจฐเจพ เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฎเจฐเฉฑเจฅ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ WERF_THREE_WAY_MERGE_MODE=onlyNewReleases เจนเฉเจฃ

เจŸเจฟเฉฑเจชเจฃเฉ€: เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจ•เจˆ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš werf เจตเจฟเฉฑเจš เจชเฉเจฐเจ—เจŸ เจนเฉ‹เจˆ: เจ…เจฒเจซเจผเจพ เจšเฉˆเจจเจฒ เจตเจฟเฉฑเจš เจ‡เจน เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ‡ เจจเจพเจฒ เจคเจฟเจ†เจฐ เจนเฉ‹ เจ—เจˆ v1.0.5-เจ…เจฒเจซเจผเจพ.19, เจ…เจคเฉ‡ เจฌเฉ€เจŸเจพ เจšเฉˆเจจเจฒ เจตเจฟเฉฑเจš - เจจเจพเจฒ v1.0.4-เจฌเฉ€เจŸเจพ.20.

เจธเจพเจฐเฉ€เจ†เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจฒเจˆ 3-เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฎเจฐเจœ เจชเฉˆเจš

15 เจฆเจธเฉฐเจฌเจฐ, 2019 เจคเฉ‹เจ‚, werf เจฆเฉ‡ เจฌเฉ€เจŸเจพ เจ…เจคเฉ‡ เจ…เจฒเจซเจผเจพ เจธเฉฐเจธเจ•เจฐเจฃ เจธเจพเจฐเฉ€เจ†เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผเจพเจ‚ เจตเจฟเฉฑเจš เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจกเจฟเจซเฉŒเจฒเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจชเฉ‚เจฐเฉ‡ 3-เจตเฉ‡เจ…-เจ…เจญเฉ‡เจฆ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจ‡เจน เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจฎเฉ‹เจก เจธเฉˆเจŸเจฟเฉฐเจ— เจฆเฉเจ†เจฐเจพ เจธเจชเฉฑเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจธเจฎเจฐเฉฑเจฅ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ WERF_THREE_WAY_MERGE_MODE=enabled เจนเฉเจฃ

เจธเจฐเฉ‹เจค เจ†เจŸเฉ‹เจธเจ•เฉ‡เจฒเจฟเฉฐเจ— เจจเจพเจฒ เจ•เฉ€ เจ•เจฐเจจเจพ เจนเฉˆ?

เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจตเจฟเฉฑเจš เจ†เจŸเฉ‹เจธเจ•เฉ‡เจฒเจฟเฉฐเจ— เจฆเฉ€เจ†เจ‚ 2 เจ•เจฟเจธเจฎเจพเจ‚ เจนเจจ: เจเจšเจชเฉ€เจ (เจนเจฐเฉ€เจœเจผเจŸเจฒ) เจ…เจคเฉ‡ เจตเฉ€เจชเฉ€เจ (เจตเจฐเจŸเฉ€เจ•เจฒ)เฅค

เจนเจฐเฉ€เจœเจผเจŸเจฒ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• เจนเฉ€ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจšเฉเจฃเจฆเจพ เจนเฉˆ, เจฒเฉฐเจฌเจ•เจพเจฐเฉ€ - เจธเจฐเฉ‹เจคเจพเจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ†เฅค เจฐเจฟเจธเฉ‹เจฐเจธ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ (เจธเจฐเฉ‹เจค เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจฆเฉ‡เจ–เฉ‹) เจตเจฟเฉฑเจš เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจธเฉฐเจ–เจฟเจ† เจ…เจคเฉ‡ เจธเจฐเฉ‹เจค เจฒเฉ‹เฉœเจพเจ‚ เจฆเฉ‹เจตเฉ‡เจ‚ เจฆเจฐเจธเจพเจ เจ—เจ เจนเจจเฅค spec.replicas เจœ spec.containers[].resources.limits.cpu, spec.containers[].resources.limits.memory ะธ ะดั€ัƒะณะธะต).

เจธเจฎเฉฑเจธเจฟเจ†: เจœเฉ‡เจ•เจฐ เจ•เฉ‹เจˆ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ‡เฉฑเจ• เจšเจพเจฐเจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฐเฉ‹เจค เจจเฉ‚เฉฐ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ เจ‡เจน เจธเจฐเฉ‹เจคเจพเจ‚ เจฒเจˆ เจ•เฉเจ เจฎเฉเฉฑเจฒ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเฉ‡ เจœเจพเจ‚ เจ‡เจธ เจธเจฐเฉ‹เจค เจฒเจˆ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจ†เจŸเฉ‹เจธเจ•เฉ‡เจฒเจฐ เจธเจฎเจฐเจฅเจฟเจค เจนเจจ, เจคเจพเจ‚ เจนเจฐเฉ‡เจ• เจคเฉˆเจจเจพเจคเฉ€ เจจเจพเจฒ werf เจ‡เจนเจจเจพเจ‚ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจšเจพเจฐเจŸ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‡ เจ…เจจเฉเจธเจพเจฐ เจฐเฉ€เจธเฉˆเจŸ เจ•เจฐเฉ‡เจ—เจพเฅค .

เจธเจฎเฉฑเจธเจฟเจ† เจฆเฉ‡ เจฆเฉ‹ เจนเฉฑเจฒ เจนเจจ. เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจ เจฒเจˆ, เจšเจพเจฐเจŸ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจตเจฟเฉฑเจš เจธเจตเฉˆ-เจธเจ•เฉ‡เจฒ เจ•เฉ€เจคเฉ‡ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจšเจฃเจพ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจนเฉˆเฅค เจœเฉ‡เจ•เจฐ เจ‡เจน เจตเจฟเจ•เจฒเจช เจ•เจฟเจธเฉ‡ เจ•เจพเจฐเจจ เจ•เจฐเจ•เฉ‡ เจขเฉเจ•เจตเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจฃ เจตเจœเฉ‹เจ‚, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจšเจพเจฐเจŸ เจตเจฟเฉฑเจš เจธเจผเฉเจฐเฉ‚เจ†เจคเฉ€ เจธเจฐเฉ‹เจค เจธเฉ€เจฎเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจชเฉเจฐเจคเฉ€เจ•เฉเจฐเจฟเจคเฉ€เจ†เจ‚ เจฆเฉ€ เจ—เจฟเจฃเจคเฉ€ เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉˆ), เจคเจพเจ‚ werf เจนเฉ‡เจ  เจฒเจฟเจ–เฉ€เจ†เจ‚ เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจฆเจพ เจนเฉˆ:

  • werf.io/set-replicas-only-on-creation=true
  • werf.io/set-resources-only-on-creation=true

เจœเฉ‡เจ•เจฐ เจ…เจœเจฟเจนเฉ€ เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ, เจคเจพเจ‚ werf เจนเจฐเฉ‡เจ• เจคเฉˆเจจเจพเจคเฉ€ 'เจคเฉ‡ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฐเฉ€เจธเฉˆเจŸ เจจเจนเฉ€เจ‚ เจ•เจฐเฉ‡เจ—เจพ, เจชเจฐ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจฆเฉ‹เจ‚ เจนเฉ€ เจธเฉˆเฉฑเจŸ เจ•เจฐเฉ‡เจ—เจพ เจœเจฆเฉ‹เจ‚ เจธเจฐเฉ‹เจค เจธเจผเฉเจฐเฉ‚ เจตเจฟเฉฑเจš เจฌเจฃเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจนเฉ‹เจฐ เจตเฉ‡เจฐเจตเจฟเจ†เจ‚ เจฒเจˆ, เจฒเจˆ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจตเฉ‡เจ–เฉ‹ HPA ะธ VPA.

3-เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฎเจฐเจœ เจชเฉˆเจš เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ 'เจคเฉ‡ เจชเจพเจฌเฉฐเจฆเฉ€ เจฒเจ—เจพเจ“

เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉ‡เจฐเฉ€เจเจฌเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ werf เจตเจฟเฉฑเจš เจจเจตเฉ‡เจ‚ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ 'เจคเฉ‡ เจชเจพเจฌเฉฐเจฆเฉ€ เจฒเจ—เจพ เจธเจ•เจฆเจพ เจนเฉˆ WERF_THREE_WAY_MERGE_MODE=disabled. เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจธเจผเฉเจฐเฉ‚ 1 เจฎเจพเจฐเจš 2020 เจคเฉ‹เจ‚ เจ‡เจน เจชเจพเจฌเฉฐเจฆเฉ€ เจฒเจพเจ—เฉ‚ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจ…เจคเฉ‡ เจ‡เจน เจธเจฟเจฐเจซ 3-เจคเจฐเฉ€เจ•เฉ‡-เจ…เจญเฉ‡เจฆ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจตเจฐเจซ เจตเจฟเฉฑเจš เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจชเจฃเจพเจ‰เจฃเจพ

3-เจตเฉ‡เจ…-เจ…เจญเฉ‡เจฆ เจชเฉˆเจšเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ‡ เจขเฉฐเจ— เจตเจฟเฉฑเจš เจฎเฉเจนเจพเจฐเจค เจนเจพเจธเจฒ เจ•เจฐเจจ เจจเจพเจฒ เจธเจพเจจเฉ‚เฉฐ เจนเฉˆเจฒเจฎ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจชเจฃเจพเจ‰เจฃ เจตเจฐเจ—เฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจจเฉ‚เฉฐ เจคเฉเจฐเฉฐเจค เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฑเจคเฉ€ เจ—เจˆ เจนเฉˆเฅค

เจนเฉˆเจฒเจฎ 2 เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฎเฉฑเจธเจฟเจ† เจนเฉˆ: เจคเฉเจธเฉ€เจ‚ เจšเจพเจฐเจŸ เจฎเฉˆเจจเฉ€เจซเฉˆเจธเจŸ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเจฐเฉ‹เจค เจธเจผเจพเจฎเจฒ เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจœเฉ‹ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจนเฉ€ เจ‡เจธ เจธเจฐเฉ‹เจค เจจเฉ‚เฉฐ เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจฎเฉเฉœ เจฌเจฃเจพเจ เจฌเจฟเจจเจพเจ‚ เจ•เจฒเฉฑเจธเจŸเจฐ เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ (เจตเฉ‡เจ–เฉ‹เฅค #6031, #3275). เจ…เจธเฉ€เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผ เจฒเจˆ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจซ เจจเฉ‚เฉฐ เจธเจฟเจ–เจพเจ‡เจ†. เจ…เจœเจฟเจนเจพ เจ•เจฐเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจšเฉฑเจฒ เจฐเจนเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจคเฉ‹เจ‚ เจธเจฐเฉ‹เจค เจฆเฉ‡ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเฉฐเจธเจ•เจฐเจฃ 'เจคเฉ‡ เจ‡เฉฑเจ• เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ (เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, kubectl edit):

"werf.io/allow-adoption-by-release": RELEASE_NAME

เจนเฉเจฃ เจธเจฐเฉ‹เจค เจจเฉ‚เฉฐ เจšเจพเจฐเจŸ เจตเจฟเฉฑเจš เจตเจฐเจฃเจจ เจ•เฉ€เจคเฉ‡ เจœเจพเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจ…เจคเฉ‡ เจ…เจ—เจฒเฉ€ เจตเจพเจฐ เจœเจฆเฉ‹เจ‚ werf เจ‰เจšเจฟเจค เจจเจพเจฎ เจจเจพเจฒ เจ‡เฉฑเจ• เจฐเฉ€เจฒเฉ€เจœเจผ เจคเฉˆเจจเจพเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฐเฉ‹เจค เจจเฉ‚เฉฐ เจ‡เจธ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจธเจตเฉ€เจ•เจพเจฐ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจตเจฟเฉฑเจš เจฐเจนเฉ‡เจ—เจพเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจฐเฉ€เจฒเฉ€เจœเจผ เจฒเจˆ เจ‡เฉฑเจ• เจธเจฐเฉ‹เจค เจจเฉ‚เฉฐ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจจ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเจฟเฉฑเจš, werf เจ‰เจธเฉ‡ 3-เจคเจฐเฉ€เจ•เฉ‡-เจ…เจญเฉ‡เจฆ เจชเฉˆเจšเจพเจ‚ เจ…เจคเฉ‡ เจธเจฎเจ•เจพเจฒเฉ€ เจธเจฐเฉ‹เจค เจจเจฟเจฏเจฎ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจšเฉฑเจฒ เจฐเจนเฉ‡ เจ•เจฒเฉฑเจธเจŸเจฐ เจคเฉ‹เจ‚ เจšเจพเจฐเจŸ เจตเจฟเฉฑเจš เจฆเฉฑเจธเฉ‡ เจ—เจ เจฐเจพเจœ เจตเจฟเฉฑเจš เจธเจฐเฉ‹เจค เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจพ เจธเจฅเจฟเจคเฉ€ เจฒเจฟเจ†เจเจ—เจพเฅค

เจŸเจฟเฉฑเจชเจฃเฉ€: เจธเฉˆเจŸเจฟเฉฐเจ— WERF_THREE_WAY_MERGE_MODE เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจชเจฃเจพเจ‰เจฃ 'เจคเฉ‡ เจ•เฉ‹เจˆ เจชเฉเจฐเจญเจพเจต เจจเจนเฉ€เจ‚ เจชเจพเจ‰เจ‚เจฆเจพ - เจ—เฉ‹เจฆ เจฒเฉˆเจฃ เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• 3-เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฎเจฐเจœ เจชเฉˆเจš เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค

เจตเฉ‡เจฐเจตเฉ‡ - เจตเจฟเฉฑเจš เจฆเจธเจคเจพเจตเฉ‡เจœเจผ.

เจธเจฟเฉฑเจŸเฉ‡ เจ…เจคเฉ‡ เจญเจตเจฟเฉฑเจ– เจฆเฉ€เจ†เจ‚ เจฏเฉ‹เจœเจจเจพเจตเจพเจ‚

เจฎเฉˆเจ‚ เจ‰เจฎเฉ€เจฆ เจ•เจฐเจฆเจพ เจนเจพเจ‚ เจ•เจฟ เจ‡เจธ เจฒเฉ‡เจ– เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‡เจน เจธเจชเฉฑเจธเจผเจŸ เจนเฉ‹ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ 3-เจตเฉ‡เจ…-เจ…เจญเฉ‡เจฆ เจชเฉˆเจš เจ•เฉ€ เจนเจจ เจ…เจคเฉ‡ เจ‰เจน เจ‰เจนเจจเจพเจ‚ เจ•เฉ‹เจฒ เจ•เจฟเจ‰เจ‚ เจ†เจ เจนเจจ. เจตเจฐเจซ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ‡ เจตเจฟเจ•เจพเจธ เจฆเฉ‡ เจตเจฟเจนเจพเจฐเจ• เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚, เจ‰เจนเจจเจพเจ‚ เจฆเจพ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจนเฉˆเจฒเจฎ-เจตเจฐเจ—เฉ‡ เจคเฉˆเจจเจพเจคเฉ€ เจจเฉ‚เฉฐ เจธเฉเจงเจพเจฐเจจ เจตเฉฑเจฒ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจ•เจฆเจฎ เจธเฉ€เฅค เจนเฉเจฃ เจคเฉเจธเฉ€เจ‚ เจ•เฉŒเจ‚เจซเจฟเจ—เจฐเฉ‡เจธเจผเจจ เจธเจฟเฉฐเจ•เฉเจฐเฉ‹เจจเจพเจˆเจœเจผเฉ‡เจธเจผเจจ เจฆเฉ€เจ†เจ‚ เจธเจฎเฉฑเจธเจฟเจ†เจตเจพเจ‚ เจฌเจพเจฐเฉ‡ เจญเฉเฉฑเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเฉ‹ เจ…เจ•เจธเจฐ เจนเฉˆเจฒเจฎ 2 เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ เจชเฉˆเจฆเจพ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‰เจธเฉ‡ เจธเจฎเฉ‡เจ‚, เจนเฉˆเจฒเจฎ เจฐเฉ€เจฒเฉ€เจœเจผ เจตเจฟเฉฑเจš เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจกเจพเจŠเจจเจฒเฉ‹เจก เจ•เฉ€เจคเฉ‡ เจ•เฉเจฌเจฐเจจเฉ‡เจŸเจธ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจชเจฃเจพเจ‰เจฃ เจฆเฉ€ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจ‰เจชเจฏเฉ‹เจ—เฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ€ เจ—เจˆ เจธเฉ€เฅค

เจนเจพเจฒเฉ‡ เจตเฉ€ เจนเฉˆเจฒเจฎ เจตเจฐเจ—เฉ€เจ†เจ‚ เจคเฉˆเจจเจพเจคเฉ€เจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ เจ•เฉเจ เจฎเฉเฉฑเจฆเฉ‡ เจ…เจคเฉ‡ เจšเฉเจฃเฉŒเจคเฉ€เจ†เจ‚ เจนเจจ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ—เฉ‹ เจŸเฉˆเจ‚เจชเจฒเฉ‡เจŸเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚, เจœเจฟเจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจธเฉ€เจ‚ เจนเฉฑเจฒ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจพเจ‚เจ—เฉ‡เฅค

เจธเจฐเฉ‹เจค เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจ เจฆเฉ‡ เจขเฉฐเจ— เจ…เจคเฉ‡ เจ…เจชเจฃเจพเจ‰เจฃ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจตเฉ€ 'เจคเฉ‡ เจฎเจฟเจฒ เจธเจ•เจฆเฉ€ เจนเฉˆ เจ‡เจน เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจธเจซเจผเจพ.

เจนเฉˆเจฒเจฎ 3

เจตเจฟเจธเจผเฉ‡เจธเจผ เจงเจฟเจ†เจจ เจฆเฉ‡ เจฏเฉ‹เจ— เจœเจพเจฐเฉ€ เจ•เฉ€เจคเจพ เจธเจฟเจฐเจซเจผ เจฆเฉ‚เจœเฉ‡ เจฆเจฟเจจ เจนเฉˆเจฒเจฎ - v3 - เจฆเจพ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจชเฉเจฐเจฎเฉเฉฑเจ– เจธเฉฐเจธเจ•เจฐเจฃ - เจœเฉ‹ 3-เจตเฉ‡-เจ…เจญเฉ‡เจฆ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจตเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจŸเจฟเจฒเจฐ เจคเฉ‹เจ‚ เจ›เฉเจŸเจ•เจพเจฐเจพ เจชเจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจนเฉˆเจฒเจฎ เจฆเฉ‡ เจจเจตเฉ‡เจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ เจชเจฐเจตเจพเจธ เจฎเฉŒเจœเฉ‚เจฆเจพ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจจเจตเฉ‡เจ‚ เจฐเฉ€เจฒเฉ€เจœเจผ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจฌเจฆเจฒเจฃ เจฒเจˆเฅค

Werf, เจ‡เจธเจฆเฉ‡ เจนเจฟเฉฑเจธเฉ‡ เจฒเจˆ, เจตเจฐเจคเจฎเจพเจจ เจตเจฟเฉฑเจš เจŸเจฟเจฒเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ›เฉเจŸเจ•เจพเจฐเจพ เจชเจพ เจฒเจฟเจ† เจนเฉˆ, 3-เจตเฉ‡-เจ…เจญเฉ‡เจฆ เจ…เจคเฉ‡ เจœเฉ‹เฉœเจฟเจ† เจ—เจฟเจ† เจนเฉˆ เจนเฉ‹เจฐ เจฌเจนเฉเจค เจ•เฉเจ, เจฎเฉŒเจœเฉ‚เจฆเจพ เจนเฉˆเจฒเจฎ 2 เจธเจฅเจพเจชเจจเจพเจตเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒ เจฐเจนเจฟเฉฐเจฆเฉ‡ เจนเฉ‹เจ (เจ•เฉ‹เจˆ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉˆ)เฅค เจ‡เจธ เจฒเจˆ, เจœเจฆเฉ‹เจ‚ เจคเฉฑเจ• werf เจนเฉˆเจฒเจฎ 3 'เจคเฉ‡ เจธเจตเจฟเจš เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ, werf เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจนเฉˆเจฒเจฎ 3 เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡ เจนเฉˆเจฒเจฎ 2 เจฆเฉ‡ เจฎเฉเฉฑเจ– เจซเจพเจ‡เจฆเฉ‡ เจจเจนเฉ€เจ‚ เจ—เฉเจ†เจ‰เจ‚เจฆเฉ‡ เจนเจจ (เจตเจฐเจซ เจ•เฉ‹เจฒ เจตเฉ€ เจนเจจ)เฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจนเฉˆเจฒเจฎ 3 เจ•เฉ‹เจกเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจตเจฐเจซ เจฆเจพ เจธเจตเจฟเจš เจ•เจฐเจจเจพ เจ…เจŸเฉฑเจฒ เจนเฉˆ เจ…เจคเฉ‡ เจจเฉ‡เฉœเจฒเฉ‡ เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจธเฉฐเจญเจต เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เจน werf 1.1 เจœเจพเจ‚ werf 1.2 เจนเฉ‹เจตเฉ‡เจ—เจพ (เจ‡เจธ เจธเจฎเฉ‡เจ‚, werf เจฆเจพ เจฎเฉเฉฑเจ– เจธเฉฐเจธเจ•เจฐเจฃ 1.0 เจนเฉˆ; werf เจธเฉฐเจธเจ•เจฐเจฃ เจกเจฟเจตเจพเจˆเจธ เจฌเจพเจฐเฉ‡ เจนเฉ‹เจฐ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฒเจˆ, เจตเฉ‡เจ–เฉ‹ เจ‡เฉฑเจฅเฉ‡). เจ‡เจธ เจธเจฎเฉ‡เจ‚ เจฆเฉŒเจฐเจพเจจ เจนเฉˆเจฒเจฎ 3 เจ•เฉ‹เจฒ เจธเจฅเจฟเจฐ เจนเฉ‹เจฃ เจฆเจพ เจธเจฎเจพเจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

PS

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

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

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