GitOps: buzzword เบญเบทเปˆเบ™เบซเบผเบทเบ„เบงเบฒเบกเบเป‰เบฒเบงเบซเบ™เป‰เบฒเปƒเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบšเป?

GitOps: buzzword เบญเบทเปˆเบ™เบซเบผเบทเบ„เบงเบฒเบกเบเป‰เบฒเบงเบซเบ™เป‰เบฒเปƒเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบšเป?

เบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบ„เปเบฒเบชเบฑเบšเปƒเบซเบกเปˆเบญเบทเปˆเบ™เปƒเบ™ blogosphere IT เบซเบผเบทเบเบญเบ‡เบ›เบฐเบŠเบธเบก, เบšเปเปˆเบ”เบปเบ™เบซเบผเบทเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ–เบฒเบกเบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™: "เบ™เบตเป‰เปเบกเปˆเบ™เบซเบเบฑเบ‡? เบžเบฝเบ‡เปเบ•เปˆเบ„เปเบฒเบชเบฑเบšเบญเบทเปˆเบ™, "buzzword" เบซเบผเบทเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบชเบปเบกเบ„เบงเบ™เบ—เบตเปˆเบˆเบฐเป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบขเปˆเบฒเบ‡เปƒเบเป‰เบŠเบดเบ”, เบเบฒเบ™เบชเบถเบเบชเบฒเปเบฅเบฐเบ„เปเบฒเบชเบฑเบ™เบเบฒเบ‚เบญเบ‡เบ‚เบญเบšเป€เบ‚เบ”เปƒเบซเบกเปˆ?" เบชเบดเปˆเบ‡เบ”เบฝเบงเบเบฑเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเบฑเบšเบ‚เป‰เบญเบเบเบฑเบšเบ„เปเบฒเบชเบฑเบš GitOps เบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰. เบ›เบฐเบเบญเบšเบญเบฒเบงเบธเบ”เบ—เบตเปˆเบกเบตเบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบกเบตเบขเบนเปˆเปเบฅเป‰เบงเบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เบงเบฒเบกเบฎเบนเป‰เบ‚เบญเบ‡เป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™เบˆเบฒเบเบšเปเบฅเบดเบชเบฑเบ” GitLab, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบกเบŠเบญเบเบซเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบชเบฑเบ”เป€เบ”เบเบฅเบฐเบชเบฒเบ™เบ™เบตเป‰, เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ‚เบญเบ‡เบกเบฑเบ™เบญเบฒเบ”เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”.

เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เบเปˆเบฝเบงเบเบฑเบš novelty เบ‚เบญเบ‡เป„เบฅเบเบฐ GitOps เบเบฒเบ™เบชเปเบฒเบซเบผเบงเบ”เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เป€เบงเบปเป‰เบฒเบงเปˆเบฒ: เบซเบผเบฒเบเบเบงเปˆเบฒเป€เบ„เบดเปˆเบ‡เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เบœเบนเป‰เบ—เบตเปˆเบ–เบทเบเบชเปเบฒเบซเบผเบงเบ”เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เป„เบ”เป‰เป€เบฅเบตเปˆเบกเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบซเบผเบฑเบเบเบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™.

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

เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ Cloud เป„เบ”เป‰เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบขเปˆเบฒเบ‡เบชเปเบฒเป€เบฅเบฑเบ”เบœเบปเบ™เปเบฅเบฐเบกเบฑเบ™เปเบกเปˆเบ™เบžเบงเบเป€เบ‚เบปเบฒเบœเบนเป‰เบ—เบตเปˆเปƒเบซเป‰เบ„เบงเบฒเบกเบเบฐเบ•เบทเบฅเบทเบฅเบปเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเบ•เปเปˆเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบงเบดเบ—เบตเบเบฒเบ™ IaC. เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เป‰. เบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบ—เบฑเบ‡เบซเบกเบปเบ”, เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบเปเบฒเบซเบ™เบปเบ”เบ„เปˆเบฒเบชเบนเบ™เบ‚เปเป‰เบกเบนเบ™ virtual เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™: เบšเปเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ, racks, เบซเบผเบทเบญเบปเบ‡เบ›เบฐเบเบญเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ; เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบญเบฐเบ—เบดเบšเบฒเบเป‚เบ”เบเปƒเบŠเป‰ scripts เปเบฅเบฐเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เปเบกเปˆเบ™เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡? GitOps เบˆเบฒเบ IaC? เบกเบฑเบ™เปเบกเปˆเบ™เบเบฑเบšเบ„เปเบฒเบ–เบฒเบกเบ™เบตเป‰เบ—เบตเปˆเบ‚เป‰เบญเบเป„เบ”เป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบชเบทเบšเบชเบงเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ. เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เป„เบ”เป‰โ€‹เป‚เบญเป‰โ€‹เบฅเบปเบกโ€‹เบเบฑเบšโ€‹เป€เบžเบทเปˆเบญเบ™โ€‹เบฎเปˆเบงเบกโ€‹เบ‡เบฒเบ™โ€‹, เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบชเบปเบกโ€‹เบ—เบฝเบšโ€‹เบ”เบฑเปˆเบ‡โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹เบ™เบตเป‰โ€‹:

GitOps

IaC

เบฅเบฐเบซเบฑเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™ git repository

เบเบฒเบ™เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เปเบกเปˆเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ

เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบฅเบฐเบซเบฑเบ”เบ›เบฐเบเบฒเบ” / Ideempotency

เบ—เบฑเบ‡เบเบฒเบ™เบ›เบฐเบเบฒเบ” เปเบฅเบฐเบ„เบณเบญเบฐเบ—เบดเบšเบฒเบเบ—เบตเปˆเบˆเบณเป€เบ›เบฑเบ™เปเบกเปˆเบ™เบเบญเบกเบฎเบฑเบšเป„เบ”เป‰

เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เบกเบตโ€‹เบœเบปเบ™โ€‹เป‚เบ”เบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบเบปเบ™โ€‹เป„เบโ€‹เบเบฒเบ™โ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เปโ€‹เบเบฒเบ™โ€‹เบฅเบงเบกโ€‹เป€เบ‚เบปเป‰เบฒ / เบ”เบถเบ‡โ€‹เบเบฒเบ™โ€‹เบฎเป‰เบญเบ‡โ€‹เบ‚เปโ€‹

เบ‚เปเป‰เบ•เบปเบเบฅเบปเบ‡, เบเบฒเบ™เบญเบฐเบ™เบธเบกเบฑเบ” เปเบฅเบฐเบเบฒเบ™เบฎเปˆเบงเบกเบกเบทเปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ

เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบญเบฑเบšเป€เบ”เบ”เปเบกเปˆเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”

เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบญเบฑเบšเป€เบ”เบ”เบšเปเปˆเป„เบ”เป‰เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ (เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”, เบ„เบนเปˆเบกเบท, เบเบฒเบ™เบ„เบฑเบ”เบฅเบญเบเป„เบŸเบฅเปŒ, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡, เปเบฅเบฐเบญเบทเปˆเบ™เป†).

เปƒเบ™เบ„เปเบฒเบชเบฑเบšเบ•เปˆเบฒเบ‡เป†เบญเบทเปˆเบ™เป† GitOps เป€เบเบตเบ”เบกเบฒเบขเปˆเบฒเบ‡เปเบ™เปˆเบ™เบญเบ™เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบผเบฑเบเบเบฒเบ™ IaC. เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เปเบšเบšเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™. เบฅเบฐโ€‹เบซเบฑเบ”โ€‹เปเบกเปˆเบ™โ€‹เบ‡เปˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เป€เบเบฑเบšโ€‹เบฎเบฑเบโ€‹เบชเบฒโ€‹, เบ‡เปˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เปเบšเปˆเบ‡โ€‹เบ›เบฑเบ™โ€‹, เบ›เบฝเบšโ€‹เบ—เบฝเบšโ€‹, เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ„เบงเบฒเบกโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹. เบฎเบธเปˆเบ™, เบชเบฒเบ‚เบฒ, เบ›เบฐเบซเบงเบฑเบ”เบชเบฒเบ”. เปเบฅเบฐเบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบขเบนเปˆเปƒเบ™เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบตเบกเบ‡เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเบชเบฐเบšเบฑเบšเป„เบ”เป‰เบเบฒเบเป€เบ›เบฑเบ™เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ—เปเบฒเบกเบฐเบŠเบฒเบ”เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, git, เป€เบ›เบฑเบ™เบ—เบตเปˆเบ™เบดเบเบปเบกเบ—เบตเปˆเบชเบธเบ”.

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

GitOps: buzzword เบญเบทเปˆเบ™เบซเบผเบทเบ„เบงเบฒเบกเบเป‰เบฒเบงเบซเบ™เป‰เบฒเปƒเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบšเป?

เบ„เบงเบฒเบกเบขเบฒเบเบฎเบนเป‰เบขเบฒเบเป€เบซเบฑเบ™ GitOps, เปเบ™เปˆเบ™เบญเบ™, เบเบฑเบ‡เบขเบนเปˆเปƒเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบกเบฑเบ™เบšเปเปˆเปเบกเปˆเบ™เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™, plugin เบซเบผเบทเป€เบงเบ—เบตเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบœเบนเป‰เบ‚เบฒเบเปƒเบ”เป†. เบกเบฑเบ™เป€เบ›เบฑเบ™เปเบšเบšเปเบœเบ™ เปเบฅเบฐ เบซเบผเบฑเบเบเบฒเบ™เบซเบผเบฒเบเบญเบฑเบ™, เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบ„เบณเบชเบฑเบšเบญเบทเปˆเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ„เบธเป‰เบ™เป€เบ„เบตเบเบเบฑเบš: DevOps.

เปƒเบ™เบšเปเบฅเบดเบชเบฑเบ” GitLab เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเบญเบ‡เบ„เปเบฒเบ™เบดเบเบฒเบกเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเบšเปƒเบซเบกเปˆเบ™เบตเป‰: เบ—เบดเบ”เบชเบฐเบ”เบตเปเบฅเบฐเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”. เปƒเบซเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบ—เบดเบ”เบชเบฐเบ”เบต:

GitOps เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆเป€เบญเบปเบฒเบซเบผเบฑเบเบเบฒเบ™ DevOps เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบญเบฑเบšเบžเบฅเบดเป€เบ„เบŠเบฑเบ™, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบ„เบงเบšเบ„เบธเบกเป€เบงเบตเบŠเบฑเบ™, เบเบฒเบ™เบฎเปˆเบงเบกเบกเบท, เบงเบปเบ‡เบ”เบปเบ™เบ•เบต, CI/CD, เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เบเบฑเบšเบชเบดเปˆเบ‡เบ—เป‰เบฒเบ—เบฒเบเบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

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

เบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ›เบฐเบ•เบดเบšเบฑเบ”, เบžเบงเบเป€เบฎเบปเบฒเบญเบฐเบ—เบดเบšเบฒเบ GitOps เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

GitOps: buzzword เบญเบทเปˆเบ™เบซเบผเบทเบ„เบงเบฒเบกเบเป‰เบฒเบงเบซเบ™เป‰เบฒเปƒเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบšเป?

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

Merge Request (เบŠเบทเปˆเบ—เบฒเบ‡เป€เบฅเบทเบญเบ Pull Request). เปƒเบ™เบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบ‚เบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™, MR เปเบกเปˆเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเป€เบžเบทเปˆเบญเบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบฅเบฐเบซเบฑเบ”เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ merge เบชเบฒเบ‚เบฒ. เปเบ•เปˆเปƒเบ™เปเบ‡เปˆเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰, เบ™เบตเป‰เปเบกเปˆเบ™เป‚เบญเบเบฒเบ”เบซเบผเบฒเบเบ—เบตเปˆเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบฎเบนเบšเบžเบฒเบšเบ—เบตเปˆเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”: เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเป€เบเบฑเบšเบเปเบฒเบˆเบฒเบเบˆเปเบฒเบ™เบงเบ™เบ„เปเบฒเบซเบกเบฑเป‰เบ™เบชเบฑเบ™เบเบฒ, เปเบ•เปˆเบเบฑเบ‡เบชเบฐเบžเบฒเบšเบเบฒเบ™, เบœเบปเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš, เปเบฅเบฐ. เบœเบปเบ™โ€‹เบ„เบฒเบ”โ€‹เบ„เบฐโ€‹เป€เบ™โ€‹เบชเบธเบ”โ€‹เบ—เป‰เบฒเบโ€‹. เบ–เป‰เบฒเบžเบงเบเป€เบฎเบปเบฒเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบซเบฑเบ”เบžเบทเป‰เบ™เบ–เบฒเบ™เป‚เบ„เบ‡เบฅเปˆเบฒเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบชเบปเบ™เปƒเบˆเบงเปˆเบฒเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบˆเบฐเบ›เปˆเบฝเบ™เปเบ›เบ‡เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡, เบˆเปเบฒเบ™เบงเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปƒเบซเบกเปˆเบˆเบฐเบ–เบทเบเป€เบžเบตเปˆเบกเบซเบผเบทเป€เบญเบปเบฒเบญเบญเบ, เบ›เปˆเบฝเบ™เปเบ›เบ‡. เบกเบฑเบเปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบชเบฐเบ”เบงเบ เปเบฅเบฐเบญเปˆเบฒเบ™เบ‡เปˆเบฒเบเบเบงเปˆเบฒ. เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบ„เบฅเบฒเบง, เบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบˆเบฐเบฎเบนเป‰เบงเปˆเบฒเบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบเบฒเบ™เป€เบ‡เบดเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ™เบตเป‰เบˆเบฐเป€เบ›เบฑเบ™เปเบ™เบงเปƒเบ”.

เปเบ•เปˆ MR เบเบฑเบ‡เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เบฎเปˆเบงเบกเบกเบท, เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš, เปเบฅเบฐเบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™. เบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเบ—เบตเปˆเบฅเบฐเบšเบปเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเปเบฅเบฐเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เป€เบ‚เบปเป‰เบฒเบกเบฒเบซเบผเบดเป‰เบ™. เบˆเบฒเบเบ„เปเบฒเบ„เบดเบ”เป€เบซเบฑเบ™เบ‡เปˆเบฒเบเป†เป„เบ›เบชเบนเปˆเบเบฒเบ™เบญเบฐเบ™เบธเบกเบฑเบ”เปเบฅเบฐเบเบฒเบ™เบญเบฐเบ™เบธเบกเบฑเบ”เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เบเบฒเบ™.

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

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

เปเบฅเบฐเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ—เปˆเบฒเบ™เบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”เบเบฒเบเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป€เบŠเบทเป‰เบญเป€เบŠเบตเบ™เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบšเบดเปˆเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ เปเบกเปˆเบšเบปเบ”เบฎเบฝเบ™, เปƒเบ™เบ—เบตเปˆเบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบšเบญเบเบ—เปˆเบฒเบ™เป€เบ—เบทเปˆเบญเบฅเบฐเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบงเบดเบ—เบตเบเบฒเบ™เปƒเบŠเป‰ GitLab:

  • เบ›เบฐเบ•เบดเบšเบฑเบ”เบซเบผเบฑเบเบเบฒเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡ GitOps

  • เบชเป‰เบฒเบ‡โ€‹เปเบฅเบฐโ€‹เป€เบฎเบฑเบ”โ€‹เปƒเบซเป‰โ€‹เบเบฒเบ™โ€‹เบ›เปˆเบฝเบ™โ€‹เปเบ›เบ‡โ€‹เป‚เบ„เบ‡โ€‹เบฅเปˆเบฒเบ‡โ€‹เบžเบทเป‰เบ™โ€‹เบ–เบฒเบ™โ€‹เบ‚เบญเบ‡โ€‹เบŸเบฑเบ‡ (เป‚เบ”เบโ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹เบ‚เบญเบ‡ Yandex Cloudโ€‹)

  • เบเบฒเบ™เบเบงเบ”เบซเบฒเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบš drift เบˆเบฒเบเบฅเบฑเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบง

GitOps: buzzword เบญเบทเปˆเบ™เบซเบผเบทเบ„เบงเบฒเบกเบเป‰เบฒเบงเบซเบ™เป‰เบฒเปƒเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบšเป?https://bit.ly/34tRpwZ

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

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