GitOps: เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบงเบดเบ—เบตเบเบฒเบ™เบ”เบถเบ‡เปเบฅเบฐ Push

เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹. เปเบ›.: เปƒเบ™เบŠเบธเบกเบŠเบปเบ™ Kubernetes, เปเบ™เบงเป‚เบ™เป‰เบกเบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ GitOps เบเปเบฒเบฅเบฑเบ‡เป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบ™เบดเบเบปเบกเบขเปˆเบฒเบ‡เบˆเบฐเปเบˆเป‰เบ‡, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบซเบฑเบ™เบชเปˆเบงเบ™เบ•เบปเบง, เบเบฒเบ™โ€‹เบขเป‰เบฝเบกโ€‹เบขเบฒเบก KubeCon Europe 2019. เป„เบฅเบเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰ เบ›เบฐเบ”เบดเบ” เป‚เบ”เบเบซเบปเบงเบซเบ™เป‰เบฒ Weaveworks - Alexis Richardson - เปเบฅเบฐเบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบšเบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ (เบ•เบปเป‰เบ™เบ•เปเปเบกเปˆเบ™ Git, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบŠเบทเปˆ) เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ‚เบญเบ‡ Kubernetes เป‚เบ”เบเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™เบขเบนเปˆเปƒเบ™ Git เปเบฅเบฐเป€เบ›เบตเบ”เบ•เบปเบงเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เบเบธเปˆเบกเป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”. Matthias Jg เป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบชเบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ™เบตเป‰เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰.

GitOps: เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบงเบดเบ—เบตเบเบฒเบ™เบ”เบถเบ‡เปเบฅเบฐ Push

เปƒเบ™เบ›เบตเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ (เปƒเบ™โ€‹เบ„เบงเบฒเบกโ€‹เป€เบ›เบฑเบ™โ€‹เบˆเบดเบ‡, เบ™เบตเป‰โ€‹เป„เบ”เป‰โ€‹เป€เบเบตเบ”โ€‹เบ‚เบถเป‰เบ™โ€‹เบขเปˆเบฒเบ‡โ€‹เป€เบ›เบฑเบ™โ€‹เบ—เบฒเบ‡โ€‹เบเบฒเบ™โ€‹เปƒเบ™โ€‹เป€เบ”เบทเบญเบ™โ€‹เบชเบดเบ‡โ€‹เบซเบฒ 2017 - เบ›เบฐโ€‹เบกเบฒเบ™โ€‹เปเบ›.) เบกเบตเบงเบดเบ—เบตเบเบฒเบ™เปƒเบซเบกเปˆเปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเปƒเบ™ Kubernetes. เบกเบฑเบ™เบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒ GitOps, เปเบฅเบฐเบกเบฑเบ™เบญเบตเบ‡เปƒเบชเปˆเปเบ™เบงเบ„เบงเบฒเบกเบ„เบดเบ”เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบตเปˆเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฒเบกเบขเบนเปˆเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเบ›เบญเบ”เป„เบžเบ‚เบญเบ‡เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ Git.

เบ‚เปเป‰เป„เบ”เป‰เบ›เบฝเบšเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบกเบตเบ”เบฑเปˆเบ‡เบ™เบตเป‰::

  1. เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เป€เบงเบตเบŠเบฑเบ™ เปเบฅเบฐเบ›เบฐเบซเบงเบฑเบ”เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡. เบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบเบธเปˆเบกเบ—เบฑเบ‡เปเบปเบ”เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ Git, เปเบฅเบฐเบเบฒเบ™เบ™เบณเป„เบ›เปƒเบŠเป‰เบˆเบฐเบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เบœเปˆเบฒเบ™ commits เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ•เบดเบ”เบ•เบฒเบกเป‚เบ”เบเปƒเบŠเป‰เบ›เบฐเบซเบงเบฑเบ”เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ.
  2. Rollbacks เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ Git เบ—เบตเปˆเบ„เบธเป‰เบ™เป€เบ„เบตเบ. เบ‡เปˆเบฒเบเบ”เบฒเบ git reset เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบ›เบฑเบšเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰; เบฅเบฑเบ”เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเปเบกเปˆเบ™เบกเบตเบขเบนเปˆเบชเบฐ เป€เปเบต.
  3. เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบžเป‰เบญเบก. เป‚เบ”เบเบ›เบปเบเบเบฐเบ•เบด, เบฅเบฐเบšเบปเบš Git เบกเบตเบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบญเบฝเบ”เบญเปˆเบญเบ™เบซเบผเบฒเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบšเปเบฅเบดเบชเบฑเบ”เบชเปˆเบงเบ™เปƒเบซเบเปˆเป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเป€เบ›เบฑเบ™เบžเบดเป€เบชเบ”เปƒเบ™เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบกเบฑเบ™. เบ•เบฒเบกโ€‹เบ™เบฑเป‰เบ™โ€‹เปเบฅเป‰เบง, เบเบฒเบ™โ€‹เบ›เป‰เบญเบ‡โ€‹เบเบฑเบ™โ€‹เบ™เบตเป‰โ€‹เบเบฑเบ‡โ€‹เบ™เบณโ€‹เปƒเบŠเป‰โ€‹เบเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ”เบณโ€‹เป€เบ™เบตเบ™โ€‹เบ‡เบฒเบ™โ€‹เบ”เป‰เบงเบโ€‹เบเบฒเบ™โ€‹เบ™เบณโ€‹เปƒเบŠเป‰.
  4. เบ™เบฐเป‚เบเบšเบฒเบเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”. เบฅเบฐเบšเบปเบš Git เบชเปˆเบงเบ™เปƒเบซเบเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ™เบฐเป‚เบเบšเบฒเบเบชเบฒเบ‚เบฒเบ•เปเปˆเบชเบฒเบ‚เบฒ - เบ•เบปเบงเบขเปˆเบฒเบ‡, เบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ”เบถเบ‡เบชเบฒเบกเบฒเบ”เบ›เบฑเบšเบ›เบธเบ‡เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš, เปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ—เบปเบšเบ—เบงเบ™เปเบฅเบฐเบเบญเบกเบฎเบฑเบšเป‚เบ”เบเบชเบฐเบกเบฒเบŠเบดเบเบ—เบตเบกเบญเบทเปˆเบ™. เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡, เบ™เบฐเป‚เบเบšเบฒเบเบ”เบฝเบงเบเบฑเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฑเบšเบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™.

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰, เบกเบตเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบซเบผเบฒเบเบ•เปเปˆเบงเบดเบ—เบตเบเบฒเบ™ GitOps. เปƒเบ™เบ›เบตเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เบชเบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบ™เบดเบเบปเบกเป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ. เบญเบฑเบ™เปœเบถเปˆเบ‡เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบŠเบธเบเบเบนเป‰, เบญเบตเบเบญเบฑเบ™เปœเบถเปˆเบ‡เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบ”เบถเบ‡. เบเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบšเบดเปˆเบ‡เบžเบงเบเบกเบฑเบ™, เบ—เปเบฒเบญเบดเบ”เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Kubernetes เบ›เบปเบเบเบฐเบ•เบดเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเปเบ™เบงเปƒเบ”.

เบงเบดเบ—เบตเบเบฒเบ™เบ™เบณเปƒเบŠเป‰

เปƒเบ™เบŠเบธเบกเบ›เบตเบกเปเปˆเป†เบกเบฒเบ™เบตเป‰, เบงเบดเบ—เบตเบเบฒเบ™เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ•เปˆเบฒเบ‡เป†เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ•เบฑเป‰เบ‡เบ‚เบถเป‰เบ™เปƒเบ™ Kubernetes:

  1. เบญเบตเบ‡เปƒเบชเปˆเปเบกเปˆเปเบšเบš Kubernetes/เบ›เบฑเบšเปเบ•เปˆเบ‡เป€เบญเบ‡. เบ™เบตเป‰เปเบกเปˆเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบ‡เปˆเบฒเบเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบˆเบฐเบ™เบณเปƒเบŠเป‰เปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™เป€เบ—เบดเบ‡ Kubernetes. เบ™เบฑเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ YAML เบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™. เป€เบžเบทเปˆเบญเบเปเบฒเบˆเบฑเบ”เบเบฒเบ™เบ‚เบฝเบ™เปเบšเบšเป€เบ”เบตเบกเปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, Kustomize เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒ (เบกเบฑเบ™เบ›เปˆเบฝเบ™เปเบกเปˆเปเบšเบš Kubernetes เป€เบ›เบฑเบ™เป‚เบกเบ”เบนเบ™). เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹. เปเบ›.: Kustomize เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™ kubectl เบเบฑเบš เบเบฒเบ™เบ›เปˆเบญเบ Kubernetes 1.14.
  2. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เบŠเบธเบ”เบ‚เบญเบ‡เปเบกเปˆเปเบšเบš, เบ–เบฑเบ‡เบšเบฑเบ™เบˆเบธ init, sidecars, เปเบฅเบฐเบญเบทเปˆเบ™เป†, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบเบฒเบ™เบ›เบฑเบšเปเบ•เปˆเบ‡เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบทเบ”เบซเบเบธเปˆเบ™เบซเบผเบฒเบเบเปˆเบงเบฒเปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเบญเบตเบ‡เปƒเบชเปˆเปเบกเปˆเปเบšเบš. เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเป„เบŸเบฅเปŒ YAML เบ—เบตเปˆเป€เบ›เบฑเบ™เปเบกเปˆเปเบšเบš. Helm เบ•เบทเปˆเบกเบ‚เปเป‰เบกเบนเบ™เปƒเบชเปˆเบžเบงเบเบกเบฑเบ™เบ”เป‰เบงเบเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ•เปˆเบฒเบ‡เป† เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบปเปˆเบ‡เบžเบงเบเบกเบฑเบ™เป„เบ›เบซเบฒ Tiller, เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบเบธเปˆเบกเบ—เบตเปˆเบ™เบณเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เปƒเบซเป‰เบเบฑเบšเบเบธเปˆเบก เปเบฅเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบตเบเบฒเบ™เบญเบฑเบšเป€เบ”เบ” เปเบฅเบฐ rollbacks. เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบงเปˆเบฒ Helm เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเปƒเบชเปˆเบ„เปˆเบฒเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เปเบกเปˆเปเบšเบšเปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ™เปเบฒเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เปƒเบ™เปเบšเบšเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก. (เบญเปˆเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบงเบดเบ—เบตเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ เบšเบปเบ”เบ„เบงเบฒเบกเป‚เบ”เบ Helm โ€” เบ›เบฐโ€‹เบกเบฒเบ™โ€‹. เปเบ›.). เบกเบตเปเบœเบ™เบงเบฒเบ” Helm เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเปเบฅเป‰เบงเบซเบผเบฒเบเบซเบผเบฒเบเบŠเบฐเบ™เบดเบ”เบ—เบตเปˆเบเบงเบกเป€เบญเบปเบฒเปœเป‰เบฒเบงเบฝเบเบ—เบตเปˆเบซเบผเบฒเบเบซเบผเบฒเบ.
  3. เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบกเบตเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบซเบผเบฒเบ. เบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบกเบตเบ„เบทเบเบฑเบ™เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบ›เปˆเบฝเบ™เบšเบฒเบ‡เป„เบŸเบฅเปŒเปเบกเปˆเปเบšเบšเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป„เบŸเบฅเปŒ YAML เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™ Kubernetes เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ™เปเบฒเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™.

เปƒเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™ (เบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบซเบผเบฒเบเบขเปˆเบฒเบ‡เบžเป‰เบญเบกเปเบฅเป‰เบง, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบŠเบตเบงเบดเบ”เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบซเบผเบฒเบ) เปเบฅเบฐเป„เบŸเบฅเปŒ Kubernetes YAML "เบšเปเบฅเบดเบชเบธเบ”" เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡.

เบ”เบถเบ‡ & เบเบนเป‰

เปƒเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบก blog เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เปเบ™เบฐเบ™เปเบฒเป€เบ„เบทเปˆเบญเบ‡เบกเบท Weave Flux, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบกเปˆเปเบšเบšเบเบฑเบšเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ Git เปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™เบซเบผเบฑเบ‡เบˆเบฒเบเปเบ•เปˆเบฅเบฐเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบซเบผเบทเบเบฒเบ™เบŠเบธเบเบเบนเป‰เบ‚เบญเบ‡เบšเบฑเบ™เบˆเบธ. เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ™เบตเป‰เปเบกเปˆเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ•เบปเป‰เบ™เบ•เปเปƒเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เป€เบชเบตเบกเบงเบดเบ—เบตเบเบฒเบ™เบ”เบถเบ‡, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเบกเบฑเบเบˆเบฐเบญเป‰เบฒเบ‡เป€เบ–เบดเบ‡เบกเบฑเบ™. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบฎเบนเป‰เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบกเบฑเบ™, เบ—เบตเปˆเบ™เบตเป‰ เบเบฒเบ™โ€‹เป€เบŠเบทเปˆเบญเบกโ€‹เบ•เปเปˆโ€‹เบเบฑเบšโ€‹เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹.

NB! เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ GitOps เบเบฑเบ‡เบ„เบปเบ‡เบ„เบทเบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบฑเบ‡เบชเบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™.

เบ”เบถเบ‡เป€เบญเบปเบฒเบงเบดเบ—เบตเบเบฒเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ

GitOps: เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบงเบดเบ—เบตเบเบฒเบ™เบ”เบถเบ‡เปเบฅเบฐ Push

เบงเบดเบ—เบตเบเบฒเบ™เบ”เบถเบ‡เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบˆเบฒเบเบžเบฒเบเปƒเบ™เบเบธเปˆเบก. เบกเบตเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบžเบฒเบเปƒเบ™เบเบธเปˆเบกเบ—เบตเปˆเบเบงเบ”เบชเบญเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ Git เปเบฅเบฐ Docker Registry เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เป€เบ›เบฑเบ™เบ›เบฐเบˆเปเบฒ. เบ–เป‰เบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ”เป†เป€เบเบตเบ”เบ‚เบทเป‰เบ™เบเบฑเบšเบžเบงเบเบกเบฑเบ™, เบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบเบธเปˆเบกเบˆเบฐเบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เบžเบฒเบเปƒเบ™. เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ™เบตเป‰เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เบ–เบทเบงเปˆเบฒเบกเบตเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบซเบผเบฒเบ, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบšเปเปˆเบกเบตเบฅเบนเบเบ„เป‰เบฒเบžเบฒเบเบ™เบญเบเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบชเบดเบ”เบœเบนเป‰เป€เบšเบดเปˆเบ‡เปเบเบ‡เบเบธเปˆเบก.

Pros:

  1. เบšเปเปˆเบกเบตเบฅเบนเบเบ„เป‰เบฒเบžเบฒเบเบ™เบญเบเบกเบตเบชเบดเบ”เบ—เบตเปˆเบˆเบฐเบ›เปˆเบฝเบ™เปเบ›เบ‡เบเบธเปˆเบกเป„เบ”เป‰; เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ—เบฑเบ‡เปเบปเบ”เบˆเบฐเบ–เบทเบเป€เบœเบตเบเปเบœเปˆเบˆเบฒเบเบžเบฒเบเปƒเบ™.
  2. เบšเบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบเบฑเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” synchronize เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm เปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปƒเบซเป‰เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบเบฑเบšเบเบธเปˆเบก.
  3. Docker Registry เบชเบฒเบกเบฒเบ”เบชเบฐเปเบเบ™เบซเบฒเป€เบงเบตเบŠเบฑเบ™เปƒเปเปˆเป„เบ”เป‰. เบ–เป‰เบฒเบกเบตเบฎเบนเบšเบžเบฒเบšเปƒเบซเบกเปˆ, เบžเบทเป‰เบ™เบ—เบตเปˆเป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™ Git เปเบฅเบฐเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบˆเบฐเบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เป€เบ›เบฑเบ™เป€เบงเบตเบŠเบฑเบ™เปƒเบซเบกเปˆ.
  4. เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ”เบถเบ‡เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เปเบˆเบเบขเบฒเบเปƒเบ™เบ—เบปเปˆเบง namespaces เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบ—เบตเปˆเบกเบตเบšเปˆเบญเบ™เป€เบเบฑเบš Git เปเบฅเบฐเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบ‚เปเบ‚เบญเบšเปƒเบˆเบเบฑเบšเบ™เบตเป‰, เบฎเบนเบšเปเบšเบš multitenant เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เบตเบกเบ‡เบฒเบ™ A เบญเบฒเบ”เบˆเบฐเปƒเบŠเป‰ namespace A, เบ—เบตเบกเบ‡เบฒเบ™ B เบญเบฒเบ”เบˆเบฐเปƒเบŠเป‰ namespace B, เปเบฅเบฐเบ—เบตเบกเบ‡เบฒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบญเบฒเบ”เบˆเบฐเปƒเบŠเป‰เบžเบทเป‰เบ™เบ—เบตเปˆเบ—เบปเปˆเบงเป‚เบฅเบ.
  5. เบ•เบฒเบกเบเบปเบ”เบฅเบฐเบšเบฝเบš, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเปเบกเปˆเบ™เบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒเบซเบผเบฒเบ.
  6. เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเป€เบŠเบฑเปˆเบ™: เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™ Bitnami เบ›เบดเบ”เบฅเบฑเบš, เบ„เบงเบฒเบกเบฅเบฑเบšเบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบฅเบฐเบซเบฑเบ”เบฅเบฑเบšเปƒเบ™ Git repository เปเบฅเบฐเบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™เบžเบฒเบเปƒเบ™เบเบธเปˆเบก.
  7. เบšเปเปˆเบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบ—เปเปˆ CD เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบ™เปเบฒเป„เบ›เปƒเบŠเป‰เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบžเบฒเบเปƒเบ™เบเบธเปˆเบก.

ะœะธะฝัƒัั‹:

  1. เบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เบ„เบงเบฒเบกเบฅเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบˆเบฒเบ Helm charts เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบซเบผเบฒเบเบเปˆเบงเบฒเปเบšเบšเบ›เบปเบเบเบฐเบ•เบด, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบžเบงเบเป€เบ‚เบปเบฒเบ—เปเบฒเบญเบดเบ”เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบœเบฐเบฅเบดเบ”เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡, เป€เบงเบปเป‰เบฒ, เบ›เบดเบ”เบขเปˆเบฒเบ‡เบฅเบฑเบš, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ decrypted เป‚เบ”เบเบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™เบžเบฒเบเปƒเบ™, เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบกเบตเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ”เบถเบ‡. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ›เปˆเบญเบเปƒเบ™ Helm เบ”เป‰เบงเบเบ„เปˆเบฒเปƒเบ™เบ„เบงเบฒเบกเบฅเบฑเบšเบ—เบตเปˆเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปเบฅเป‰เบง. เบงเบดเบ—เบตเบ—เบตเปˆเบ‡เปˆเบฒเบเบ—เบตเปˆเบชเบธเบ”เบ„เบทเบเบฒเบ™เบชเป‰เบฒเบ‡เบ„เบงเบฒเบกเบฅเบฑเบšเบ—เบตเปˆเบกเบตเบ„เปˆเบฒ Helm เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰, เบ–เบญเบ”เบฅเบฐเบซเบฑเบ”เบกเบฑเบ™เปเบฅเบฐเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบเบฑเบš Git.
  2. เป€เบกเบทเปˆเบญเป€เบˆเบปเป‰เบฒเปƒเบŠเป‰เบงเบดเบ—เบตเบ”เบถเบ‡, เป€เบˆเบปเป‰เบฒเบˆเบฐเบ•เบดเบ”เบขเบนเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ”เบถเบ‡. เบญเบฑเบ™เบ™เบตเป‰เบˆเบณเบเบฑเบ”เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ›เบฑเบšเปเบ•เปˆเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เปƒเบ™เบเบธเปˆเบก. เบ•เบปเบงเบขเปˆเบฒเบ‡, Kustomize เปเบกเปˆเบ™เบชเบฑเบšเบชเบปเบ™เป‚เบ”เบเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบกเบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบเปˆเบญเบ™เบ—เบตเปˆเปเบกเปˆเปเบšเบšเบชเบธเบ”เบ—เป‰เบฒเบเบˆเบฐเบกเบธเปˆเบ‡เบซเบกเบฑเป‰เบ™เบเบฑเบš Git. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบšเปเปˆเป„เบ”เป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบทเปเบšเบšเบ”เปˆเบฝเบงเป„เบ”เป‰, เปเบ•เปˆเบžเบงเบเบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบซเบผเบฒเบเบ—เบตเปˆเบˆเบฐเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

เบงเบดเบ—เบตเบเบฒเบ™เบŠเบธเบเบเบนเป‰เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ

GitOps: เบเบฒเบ™เบ›เบฝเบšเบ—เบฝเบšเบงเบดเบ—เบตเบเบฒเบ™เบ”เบถเบ‡เปเบฅเบฐ Push

เปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™เบŠเบธเบเบเบนเป‰, เบฅเบฐเบšเบปเบšเบžเบฒเบเบ™เบญเบ (เบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบกเปˆเบ™เบ—เปเปˆ CD) เป€เบ›เบตเบ”เบ•เบปเบงเบเบฒเบ™เบ™เปเบฒเป„เบ›เปƒเบŠเป‰เบเบฑเบšเบเบธเปˆเบกเบซเบผเบฑเบ‡เบˆเบฒเบเบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒเบเบฑเบš Git repository เบซเบผเบทเบ–เป‰เบฒเบ—เปเปˆ CI เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”. เปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰, เบฅเบฐเบšเบปเบšเป„เบ”เป‰เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบธเปˆเบก.

เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™:

  1. เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบ Git repository เปเบฅเบฐเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ—เปเปˆ.
  2. เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™ เปเบฅเบฐเบฎเบญเบ‡เบฎเบฑเบš Helm plugins.
  3. เบ„เบงเบฒเบกเบฅเบฑเบšเปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบ„เบธเป‰เบกเบ„เบญเบ‡เป€เบžเบฒเบฐเบงเปˆเบฒเบ„เบงเบฒเบกเบฅเบฑเบšเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบ—เปเปˆเปเบฅเบฐเบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบฅเบฐเบซเบฑเบ”เบฅเบฑเบšเปƒเบ™ Git (เบ‚เบถเป‰เบ™เบเบฑเบšเบ„เบงเบฒเบกเบกเบฑเบเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰).
  4. เบšเปเปˆเบกเบตเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ›เบฐเป€เบžเบ”เปƒเบ”เบเปเปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เป„เบ”เป‰.
  5. เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบชเบฐเบšเบฑเบšเบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป„เบ”เป‰เป‚เบ”เบเบ—เปเปˆเบเปเปˆเบชเป‰เบฒเบ‡.

ะœะธะฝัƒัั‹:

  1. เบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบธเปˆเบกเบขเบนเปˆเปƒเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡.
  2. เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบžเบฒเบŠเบฐเบ™เบฐเบเบฒเบ™เบ™เปเบฒเป„เบ›เปƒเบŠเป‰เปเบกเปˆเบ™เบเบฑเบ‡เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบ”เป‰เบงเบเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ”เบถเบ‡.
  3. เบเบฒเบ™เป€เบญเบทเปˆเบญเบเบญเบตเบ‡เบขเปˆเบฒเบ‡เบซเบ™เบฑเบเบ•เปเปˆเบฅเบฐเบšเบปเบš CD, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ—เปเปˆเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบฒเบ”เบˆเบฐเบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เบชเปเบฒเบฅเบฑเบš Gitlab Runners, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เบตเบกเบ‡เบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบเป‰เบฒเบเป„เบ› Azure DevOps เบซเบผเบท Jenkins ... เปเบฅเบฐเบˆเบฐเบ•เป‰เบญเบ‡เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเบ—เปเปˆเบชเป‰เบฒเบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ.

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš: เบเบนเป‰เบซเบผเบทเบ”เบถเบ‡?

เบ•เบฒเบกเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบง, เปเบ•เปˆเบฅเบฐเบงเบดเบ—เบตเบกเบตเบ‚เปเป‰เบ”เบต เปเบฅเบฐ เบ‚เปเป‰เป€เบชเบเบ‚เบญเบ‡เบกเบฑเบ™. เบงเบฝเบเบ‡เบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบชเปเบฒเป€เบฅเบฑเบ”เบ”เป‰เบงเบเบซเบ™เบถเปˆเบ‡เปเบฅเบฐเบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบซเบผเบฒเบเบเบฑเบšเบ„เบปเบ™เบญเบทเปˆเบ™. เปƒเบ™เบ•เบญเบ™เบ—เปเบฒเบญเบดเบ”เบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ›เบฑเบšเบ•เบปเบงเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡, เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ‚เป‰เบญเบเบžเบปเบšเบšเบปเบ”เบ„เบงเบฒเบกเบˆเปเบฒเบ™เบงเบ™เบซเบ™เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบš Weave Flux, เบ‚เป‰เบญเบเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™ GitOps เบชเปเบฒเบฅเบฑเบšเป‚เบ„เบ‡เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”. เบชเปเบฒเบฅเบฑเบšเปเบกเปˆเปเบšเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เบ‡เปˆเบฒเบ, เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเปˆเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm. เปƒเบ™เป€เบงเบฅเบฒเบ™เบฑเป‰เบ™, Weave Flux เบžเบฝเบ‡เปเบ•เปˆเป„เบ”เป‰เบชเบฐเป€เบซเบ™เบตเบชเบฐเบšเบฑเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ Helm Chart Operator, เปเบ•เปˆเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบšเบฒเบ‡เบงเบฝเบเบ‡เบฒเบ™เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบซเบผเบฒเบเบเป‰เบญเบ™เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบ„เบงเบฒเบกเบฅเบฑเบšเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™. เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป‚เบ•เป‰เบ–เบฝเบ‡เป„เบ”เป‰เบงเปˆเบฒเบงเบดเบ—เบตเบเบฒเบ™เบ”เบถเบ‡เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบซเบผเบฒเบเป€เบžเบฒเบฐเบงเปˆเบฒเบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบˆเปเบฒเบ•เบปเบงเบ‚เบญเบ‡เบเบธเปˆเบกเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰เบขเบนเปˆเบ™เบญเบเบเบธเปˆเบก, เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบซเบผเบฒเบเบ—เบตเปˆเบกเบฑเบ™เบ„เบธเป‰เบกเบ„เปˆเบฒเบเบฑเบšเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบ„เบดเบ”โ€‹เบšเบฒเบ‡โ€‹เบขเปˆเบฒเบ‡โ€‹, เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เป„เบ”เป‰โ€‹เบกเบฒโ€‹เป€เบ–เบดเบ‡โ€‹เบเบฒเบ™โ€‹เบชเบฐโ€‹เบซเบผเบธเบšโ€‹เบ—เบตเปˆโ€‹เบšเปเปˆโ€‹เบ„เบฒเบ”โ€‹เบ„เบดเบ”โ€‹เบงเปˆเบฒโ€‹เบ™เบตเป‰โ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ™เบฑเป‰เบ™โ€‹. เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบชเบนเบ‡เบชเบธเบ”, เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ™เบตเป‰เบˆเบฐเบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบฅเบฑเบš, เบฅเบฐเบšเบปเบš CI/CD, เปเบฅเบฐเบšเปˆเบญเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™ Git. เบ‚เปเป‰เบกเบนเบ™เบžเบฒเบเปƒเบ™เบžเบงเบเบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบซเบผเบฒเบเปเบฅเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบชเบนเบ‡เบชเบธเบ”. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ–เป‰เบฒเปƒเบœเบœเบนเป‰เบซเบ™เบถเปˆเบ‡เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™ Git เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบŠเบธเบเบ”เบฑเบ™เบฅเบฐเบซเบฑเบ”เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบดเปˆเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบกเบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™ (เบšเปเปˆเบงเปˆเบฒเบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ”เบถเบ‡เบซเบผเบทเบเบนเป‰) เปเบฅเบฐเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบšเบปเบšเบ‚เบญเบ‡เบเบธเปˆเบก. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เปเบกเปˆเบ™เบฅเบฐเบšเบปเบš Git repository เปเบฅเบฐ CI / CD, เบšเปเปˆเปเบกเปˆเบ™เบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบˆเปเบฒเบเบธเปˆเบก. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ™เบฐเป‚เบเบšเบฒเบเปเบฅเบฐเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเบ—เบตเปˆเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป„เบงเป‰เบ”เบตเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบฐเป€เบžเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบ›เบฐเบˆเปเบฒเบเบธเปˆเบกเบžเบฝเบ‡เปเบ•เปˆเบ–เบทเบเบชเบฐเบเบฑเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ—เปเปˆเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบฅเบฑเบš, เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบžเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ”เบถเบ‡เบญเบฒเบ”เบˆเบฐเบšเปเปˆเบกเบตเบ„เปˆเบฒเป€เบ—เบปเปˆเบฒเบ—เบตเปˆเบ„เบดเบ”เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบงเบดเบ—เบตเบเบฒเบ™เบ”เบถเบ‡เปเบกเปˆเบ™เปƒเบŠเป‰เปเบฎเบ‡เบ‡เบฒเบ™เบซเบผเบฒเบเปเบฅเบฐเบšเปเปˆเปƒเบซเป‰เบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ”เป‰เบฒเบ™เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž, เบกเบฑเบ™เบšเปเปˆเบกเบตเป€เบซเบ”เบœเบปเบ™เบšเปเบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบžเบฝเบ‡เปเบ•เปˆเบงเบดเบ—เบตเบเบฒเบ™เบŠเบธเบเบเบนเป‰? เปเบ•เปˆเบšเบฒเบ‡เบ„เบปเบ™เบญเบฒเบ”เบˆเบฐเป‚เบ•เป‰เบ–เบฝเบ‡เบงเปˆเบฒเปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™เบŠเบธเบเบเบนเป‰เบ—เปˆเบฒเบ™เบกเบตเบ„เบงเบฒเบกเบœเบนเบเบžเบฑเบ™เบเบฑเบšเบฅเบฐเบšเบปเบš CD เป€เบเบตเบ™เป„เบ›เปเบฅเบฐ, เบšเบฒเบ‡เบ—เบต, เบกเบฑเบ™เบเปเปˆเบ”เบตเบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เปเบ™เบงเบ™เบตเป‰เป€เบžเบทเปˆเบญเบงเปˆเบฒเบกเบฑเบ™เบˆเบฐเบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”.

เปƒเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ (เบ•เบฒเบกเป€เบ„เบตเบ), เบ—เปˆเบฒเบ™เบ„เบงเบ™เปƒเบŠเป‰เบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบ—เบตเปˆเบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบเปเบฅเบฐเบ™เบตเบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡เบซเบผเบทเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™. เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™, เบ‚เป‰เบญเบเปƒเบŠเป‰เบ—เบฑเบ‡เบชเบญเบ‡เบงเบดเบ—เบต: Weave Flux เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบšเบšเบ”เบถเบ‡เบ—เบตเปˆเบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบกเปˆเบ™เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบ‡, เปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบŠเบธเบเบเบนเป‰เบ—เบตเปˆเบกเบต Helm เปเบฅเบฐ plugins, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบ‡เปˆเบฒเบเบ•เปเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm เบเบฑเบšเบเบธเปˆเบกเปเบฅเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเป‰เบฒเบ‡เบ„เบงเบฒเบกเบฅเบฑเบšเบขเปˆเบฒเบ‡เบฅเบฝเบšเบ‡เปˆเบฒเบ. เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ„เบดเบ”เบงเปˆเบฒเบˆเบฐเบšเปเปˆเบกเบตเบ—เบฒเบ‡เบญเบญเบเบ”เบฝเบงเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบเปเบฅเบฐเบ™เบต, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบกเบฑเบ™เบชเบฐเป€เบซเบกเบตเบกเบตเบซเบผเบฒเบ nuances เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเปเบกเปˆเบ™เบ‚เบถเป‰เบ™เบเบฑเบšเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบชเบฐเป€เบžเบฒเบฐ. เบ—เบตเปˆเป€เบงเบปเป‰เบฒ, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ‚เปเปเบ™เบฐเบ™เปเบฒ GitOps เบชเบนเบ‡ - เบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบŠเบตเบงเบดเบ”เบ‡เปˆเบฒเบเบ‚เบถเป‰เบ™เบซเบผเบฒเบเปเบฅเบฐเบ›เบฑเบšเบ›เบธเบ‡เบ„เบงเบฒเบกเบ›เบญเบ”เป„เบž.

เบ‚เป‰เบญเบเบซเบงเบฑเบ‡เบงเปˆเบฒเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰เบ™เบตเป‰เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบงเปˆเบฒเบงเบดเบ—เบตเบเบฒเบ™เปƒเบ” เป€เปเบฒเบฐ เบชเบปเบกเบเบงเปˆเบฒเบเบฑเบšเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™ เบ™เบณ เปƒเบŠเป‰เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ, เปเบฅเบฐเบ‚เป‰เบญเบเบเบดเบ™เบ”เบตเบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบเบดเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ.

PS เบซเบกเบฒเบเป€เบซเบ”เบˆเบฒเบเบ™เบฑเบเปเบ›

เบ‚เปเป‰เป€เบชเบเบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ”เบถเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบญเบปเบฒเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ Git, เปเบ•เปˆเบšเปเปˆเบกเบตเบ‚เปเป‰เป€เบชเบเบ—เบตเปˆเบ—เปเปˆ CD เปƒเบ™เบ•เบปเบงเปเบšเบšเบ”เบถเบ‡เบขเบนเปˆเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบˆเบฒเบเบเบฒเบ™เบกเป‰เบงเบ™เปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™เบเบฒเบเป€เบ›เบฑเบ™เบ—เปเปˆเบ›เบฐเป€เบžเบ”. เบชเบฐเปเบฑเบเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบซเบผเบฒเบเบเบดเปˆเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบเบฑเบšเบเปเบฒเบชเบฐเบ–เบฒเบ™เบฐเบžเบฒเบšเบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบˆเบฒเบเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐ somehow เปƒเบซเป‰เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบšเบฑเบ™เบ—เบถเบ / เบชเบฐเบ–เบฒเบ™เบฐเบžเบฒเบš, เบ”เบตเบเบงเปˆเบฒเป‚เบ”เบเบญเป‰เบฒเบ‡เบญเบตเบ‡เปƒเบชเปˆเบฅเบฐเบšเบปเบš CD.

เปƒเบ™เบ„เบงเบฒเบกเบซเบกเบฒเบเบ™เบตเป‰, เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบŠเบธเบเบเบนเป‰เป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡ rollout, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ•เบฐเบซเบผเบญเบ”เบŠเบตเบงเบดเบ”เบ‚เบญเบ‡เบ—เปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบ—เบปเปˆเบฒเบเบฑเบšเบญเบฒเบเบธเบ‚เบญเบ‡ rollout.

เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบกเบ—เบฑเบ‡เบชเบญเบ‡เปเบšเบšเปเบฅเบฐเป„เบ”เป‰เบชเบฐเบซเบผเบธเบšเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบก:

  1. เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ”เบถเบ‡เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบžเบงเบเป€เบฎเบปเบฒเปƒเบ™เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเปƒเบ™เบเบธเปˆเบกเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ (เป€เบšเบดเปˆเบ‡. เบšเบปเบ”เบ„เบงเบฒเบกเบเปˆเบฝเบงเบเบฑเบš addon-operator).
  2. เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบŠเบธเบเบเบนเป‰เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ GitLab CI เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบ”เบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเป‚เบ”เบเปƒเบŠเป‰เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ Helm. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบ‚เบญเบ‡เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบžเบฒเบเปƒเบ™เบ—เปเปˆเปเบกเปˆเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเป‚เบ”เบเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡เบกเบท werf. เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เปƒเบ™เบชเบฐเบžเบฒเบšเบเบฒเบ™เบ‚เบญเบ‡เป‚เบ„เบ‡เบเบฒเบ™เบ™เบตเป‰เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบเบดเบ™ "GitOps" เบ„เบปเบ‡เบ—เบตเปˆเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบปเบ™เบ—เบฐเบ™เบฒเบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบฎเบตเบšเบ”เปˆเบงเบ™เบ‚เบญเบ‡เบงเบดเบชเบฐเบงเบฐเบเบญเบ™ DevOps เบขเบนเปˆเบ—เบตเปˆเบˆเบธเบ”เบขเบทเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆ KubeCon Europe'19.

PPS เบˆเบฒเบเบ™เบฑเบเปเบ›

เบญเปˆเบฒเบ™เบเบฑเบ‡เบขเบนเปˆเปƒเบ™ blog เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ:

เบžเบฝเบ‡เปเบ•เปˆเบœเบนเป‰เปƒเบŠเป‰เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบชเปเบฒเบซเบผเบงเบ”. เป€เบ‚เบปเป‰เบฒโ€‹เบชเบนเปˆโ€‹เบฅเบฐโ€‹เบšเบปเบšเบเบฐเบฅเบธเบ™เบฒ.

เป€เบˆเบปเป‰เบฒเปƒเบŠเป‰ GitOps เบšเป?

  • เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ”เบถเบ‡เบงเบดเบ—เบตเบเบฒเบ™

  • เปเบกเปˆเบ™เปเบฅเป‰เบง, เบเบนเป‰

  • เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ”เบถเบ‡ + เบเบนเป‰

  • เปเบกเปˆเบ™เปเบฅเป‰เบง, เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบญเบทเปˆเบ™

  • เบšเปเปˆโ€‹เบกเบต

30 เบœเบนเป‰เปƒเบŠเป‰เบฅเบปเบ‡เบ„เบฐเปเบ™เบ™เบชเบฝเบ‡. 10 เบœเบนเป‰เปƒเบŠเป‰เบ‡เบปเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™