ááľáłááť. áľááá: á¨á
áἠáá á
áľááľ á áá
á¨á ááľ á ááľ á áłáľáááá˘
á˝áá á°ááłá
ááᢠááá˝ á°áá˝ áľá GitOps áááŤáľ ááአáĽá á áłá˛áľ ááłáŞáŤáá˝á áá°á áááŠ
áĽáá áłááá á á˛áľ ááá፠áĽáá°ááŤáľááá á°ááááĽá áŁ
- áĽá ááĽá áŤáá¸á ááłááá˝ áĽá áłáŞáŽá˝;
- ᨠGitOps á¨á°áá°á áľááá;
- á¨á°áááˇá á°á¨áłáłá á á ááŚáľ áá áááłá°á.
á áá á˝áá ááľáĽ áĽááá á áá áááśá˝ ááá¸áá ááá¨áá. á GitOps áĽá áááᢠáĽá áá˛á á/á˛á˛ áĽááł á¨ááá ááá˘áŤ áŤáááŁáᢠáá´á á á á ááá áá ááá á˘á˝áá á ááááľ á áŠá áááľáľ áá áĽáá°áŠáŤáá.
GitOpsá áŤáá
á ááľ á ááá áááá ááłáá ᢠá¨á¤á°á°áĽ ááľáá áľá°áŤáá˝áŁ áá á á¨á¤áᣠá¨ááŞáᣠá¨á¤áľ áĽá á¨áá á˘áášáŤááľá áŤáłá¸á á¨áá ááášá áĽá ááŁáá˝á áááá á áŁá áľáŤ áá áá á°áá˝ ááᢠá ááľ á áŁáá áĽáá° áłáł áłááá˛áľáľ áľáľá°áŤ ááᡠáĽáá° áá ááŽáááľ ááá¨á˘ á ááľ áá á¨áá á¨áŽáááá°á áľáá° áááŽá˝á á áá áá áá¨áá á áĽááľ ááá°áá°á áĽá á¨á˘áášáŤááľ ááŹáá˝á ááá á¨á˝ áĽáá°ááľá˝á á°áááá á˝á˘ áŁáááĽáśá˝ ááŽáááąá áááááľ á áľááááᣠáĽá á áá áŠáŁááŤá á á ááľ á¨20 áááŽá áśáá á áá áᢠáĽáŤáľááá˝ áĽá á ááĽááľ áĽáŤá°á ááᢠá á áá áá áľ 180 á°áá˝á á á°ááŤáŠ á¨áľáŤ áá°áŚá˝ áá ááĽáŻáᢠáá á¨á´áááá áĄáľá á¨ááŤáłáĽáᣠáľá ᨠáášá á¨áá áĽá ᣠá¨ááἠááłáá áĽá á¨á°áá áá˝á áá°á¨áľ á¨áá°ááľá áŤáŤáľáłáᢠ60 á°áá˝ áŤááľ áĄáľá á¨áááŤá á¨áŠáŁááŤá á´áááŤá áłááŹáá°á á áááľ áŚáĽ ááá˘
á¨áŚáĽ áĄáľá á¨áááľ áľáááśá˝á á á°áá ááľáĽ áŤá°ááŤáᢠá¨áĽáááą áá áá°áá áŞáŤ á Google ááááľ áá Kubernetes á áá áá á GKE áá áá°áŤáᢠá á°á¨ááŞá, á áľáŤá¸á ááľáĽ á¨á°ááŤáŠ á¨áá¨á áĽá á¨áľááłá ááłáŞáŤáá˝á áá ááá.
á¨á¤á°á°áĽ á˘áášáŤááľ áŽáá´áááŽá˝á ááá áá á áá°á áᣠááá áá á áśá¨á áááľ ááľáĽ ááŁá˘ áŠáŁááŤá áĽáá áłááá GKE á áłá˛áľ áŁá áŞáŤáľá áááá°á˝ áľáĽáľáŚá˝á ááá°ááŤáľ ááá áĽá ááá áĽá¨áľ áĽááłá°á¨á á ááᢠá¨ááŤáŁáá áááἠááá°áŤááľ áááŞááľ á CI áĽá Quay á°á¨áá¨áá ᣠáľááŞááśá˝ ááááŞááľ á°áá á á˛áľ áŽáá´áááŽá˝á áĽá áá áŽá˝á áá° GKE ááá˘
á¨á°áá°á áá á ááá. á ááľ áĽá áŚáĽ á áá¨áĄáľ á ááŤá¨áĽ á ááťá¸á áĽá á áááą áá áŁáá á°á˝áĽá á á á°á°áá°á áá áᢠá¨áŽáá´áááŽá˝ ááá˘áŤ áĄáľá áŤá°á áá áŤá á áááłáááľá á ááťáťááᢠá ááłááľ áá áá°ááŤáśá˝ áá°á áŤáᣠáĽá á¨áŽáľ áááŚá˝ á°á áŤá ááá á áááá ááá˝ á ááá á¨áᢠáĽáá˛áá á¨áá á áááŚá˝á áá¨áłá°á á áľá¸á᪠áá á°áááˇáᢠáĽááá áá á á˛áľ áááľá°á ááá á áĽá á áááŹá˝áá˝á áá° áĽáą áááá á áľááá áá á ᣠááááŤáąá áľáááą á¨á°áá á¨áá ááĽááĽá áááľáááľ ááá ááááľ áá ááᢠá ááľ á áááŹá˝á áĽáŤá°á á˛ááľ áááłá ââáĽá¨áŁá°á áľ áĽáá°áááľ áááł áá á (á á°á¨ááŞá á áá˝á ááá áá á¨á°áá°á¨á° á á˛áľ ááŽáááľ áĽá¨ááá áá á)ᢠáŚáĽ á áĽáááá áľáŤáá á áŤáľ á°á á°ááś áá á áĽá ááá á¨á§á᧠ááľáá á ááá áŤáá°á¨ááᣠáŤáá°ááŁá á áĽá á á¨ááá á¨áĽá áŁáá ááĽááľ ááá áĽáá°ááŤáľáááá á áááŁáá?
á¨á፠áľá GitOps á°ááŠá˘ áá ááłá á áá ááááľ áá°ááľ áááŤááľ á¨ááŤáľáááá¸áá á áľááá ááá˘
á ááľ áĽá áŚáĽ áľá GitᣠDevOps áĽá áá á¨á° áááľ áĽáá° áŽáľ á¨áľáŤ áá°áśá˝ ááááłáľ á˛á°á ááá°ááᢠáľá GitOps áአá¨ááá áĽááá
á ááłáŚá˝ á áŠá áááľáľ á ááľ ááľáĽ á°ááŁáŤá áááľá¨á á¨ááἠáááśá˝á áľáĽáľáĽ - ááłá áĽá áá°á á - áŤááŁáᢠáá
ááĽáĽ
á¨á¤á°á°áĽ ááľá GitOpsá á°ááŁáŤá áááľá¨á áááľááᢠáŠáŁááŤá á áá á¨áŠá áááľáľ áá á°áłáá á¨áá á ááśááľáľ áŚááŹá˝á áá´á á ááᢠááĽáᾠᨠáá áá¨áááľááááŤáąá áĽááąáĄ-
- ááá áłáŤáĽáľ á¨áĄáľá áááłáááľ á áĽáĽá á¨ááŻá;
- áľááŞááśá˝á ááááá á áááᢠááááá á áá á á áłá˛áľ áŁá áŞáŤáľ áá áá°áŽá áĽá á¨áá ááľáľá áá´áá˝á ááťáťá áá˝áá - áááłá á¨áŤá᪠áááśá˝á ááľá°ááá áĽá áá¨áŤá ááťáťá;
- á¨áá°ááŤáľ áá°áąá á áťá˝áááá áľááá á áĽááĽáá á áá°á áá;
- áŤá á áĽá áŁáá ááĽááľ á¨áá ááľááśá˝ á áá áľááááśá˝á áá°áá á¨á áľ áááááľ áĽáľáá á áá áŁ
- áĽá á áá á¨áá á¨á°ááĐžá á á ááŚáľ áľáááśá˝ áá á¨á áá á áŤáľ áá°ááá. á ááľ áĽá áŚáĽ áĄáľáá á áľáአá¨áá°áŠ áááᎠá°ááŞáľ áĄáľáá˝ áá¨ááá áĽáá°áá˝á á ááá˘
- á áĽáŤááłááą áĄáľá áĽá¨áśá˝ á á¨áá á ááŽáááą áá 30-50 áááŚá˝á ááľá¨á áĽá á áłá˛áľ á´áááŽá˝á ááá¨á áá˝áá;
- á áłá˛áľ ááá˘áá˝á áá° ááŽáááą áááłáĽ ááá áá ᣠá áĽááľ á°ááłáľ ááľáĽ á¨ááłáĽ áĽáŤááá˝á á áá áá áá° áááľ ááááá˝á ááááá áĽáľá áŤáá¸á áŁ
- á ááá á SOC2 áááá ááľáĽ áŚá˛áľ ááá (á áááááľ á á
áŤá˘áá˝á á°á
áááą á¨á°á á á á¨ááἠá áľá°áłá°á ááľáááśá˝á áááá á ᣠá¨á áá áŤááĽáĄ ᣠáááłá áŁ
áĽáá - á áááľ. áá°ááá).
áááľá áá á¨ááá?
GitOps áááľ áááŽá˝ áá¸ááĄ-
- á¨ááá áá´á á Kubernetes áĽá á¨á°áá á°ááá
ᢠá áŽáá´ááá á¨á°áŤá áľáĽáľáŚá˝á áĽá á áááŹá˝áá˝á ááá°ááŤáľáŁ áááľá°áłá°á áĽá ááááŁá á ááἠá°áááŽáá˝á áŤáááŁáᢠá á
áš ááľáĽ á¨ááŤáá ááş
á ááľ áľáááľ ĐžŃáááľ Faceira : - ááá˘á áŤáá¨á á¨áá°áá áŞáŤ á áľá°áłá°á á áŤáŁá˘á á¨ááá á ááááľá˘ á¨ááľ á¨áľáŤ áá°áľá ááááąá áŚááŹá˝áá˝ áĽá áááľ áĽáá°ááĽáŤááᢠáĽáŁááá áá áľá Git push áĽáť áłááá á á ááá á¨CI/CD áĽá UI/UX ááłáŞáŤáá˝á áá°áŤááľ áá áááá áἠáá áá˘
áľá Git áĽááľ áááľ
á¨áľáŞáľ ááĽáĽá áľáááśá˝á áĽá á ááľ áá á¨á°áá°á¨á° á¨áľáŤ áá°áľá áŤááá áľááĽááą áĽáá˛áአá á áá¨á áĽááááŤááᢠá¨á
áááŤáá˝ áá ááĽáŤáľ áĽá áĽáŤááá˝á ááłáĽ ááááŞáŤ áá áĽáá° áĽáá á áľááľ áááľá áá˝áá, ááá áá áĽá
ááš áĽá¨áłá¸á á¨áááŁá¸á áá¸á. áĽáá
Kubernetes áĽáá´áľ áĽáá°áá°áŤ
á áłáŞáŤá˝áᣠá ááľ áĽá áŚáĽ á¨áŠá áááľáľ áá áá°áá°á áá á¨á°áŠ á áá áá° GitOps áá¨ááᢠá áĽááἠGitOps ᨠKubernetes áá á á áá áľ á¨á°ááá° áá - áĽáą á Kubernetes áá á¨á°áá á¨á° á¨áá á¨á° áááľ áĽá á¨áá°áá áŞáŤáá˝ áá´á ááá˘
Kubernetes áá°á áááá˝ áá áá°áŁá?
á ááłááľ áá áá áŁá áŞáŤáľ áĽáááá:
- á Kubernetes áá´á ááľáĽ, ááá ááá ááá á áá ááአáááá˝ áá˝áá.
- á¨áŠá áááľáľ á¤áá á á áááá áá áá ááá፠áĽáá° ááĽá áľ áááľá°áá áĽá á ááá á ááááá á áááá ááľáĽ áá°á°ááá¸á áááľ ááááŁáľ ááááŤáá˘
- ááááŤáá˝ á¨á°ááŤáŠ á¨áĽáŤ áŤááá˝á ááááá áĽá áááľá°áłá°á á á áá¸áââáá°áá áŞáŤáá˝âá˘
- á áá¤áąáᣠá áá°áá áŞáŤá áĽá á áááľá°á áá á¨á°á°á¨á áááŚá˝ á áá¨á°ááľ ááááŤáľ áá¨á°áłááĄ-
- á¨ááŤáŁ ááľáá˝ áááŚá˝;
- á ááááŤá áááá áá áááŚá˝;
- á á á¨áŁá˘á ááľáĽ áŤá áľá á°áśá˝ - áááłá á¨ááŤáŁ áĽáá˝áśá˝.
á¨áŠá áááľáľ áłáá á¨áááŁá á á˝ááłáá˝
á ááľ á áľá°áłáłáŞ á¨áá á¨áľ áááŚá˝á á˛áŤá°áá á¨áŠá áááľáľ áŚááŹáľáľáŤ áááą áĽáľáŤá áľá¨áľ á áááľá°á áá áá°ááĽáŤá¸ááᢠáá° á á˛áą áá á á ááááĽáá˘. áá áá´á áááááá á¨áŠá áááľáľ ááĽá áľ á¨áá°áŤ áĽá á áĽá á¨áá¨á ááşáá˝ (á˛á áá˛áá˝) áá°á á¨áá˝á ááᢠáľááá á¨áŠá áááľáľ áá°ááŤáśá˝ á¨áá¨á°ááľ á áľá°áá áŁá áŞáŤáľ á áá¸áá˘
- á ááśáá˛áá¨áŠá áááľáľ ááááá˝ áááŚá˝á á á¸á áĽá á áá á¨áá°áá á áá°áľá á áŤáľ-á°á áááľá¨á á¨ááŤáľá˝á áá´ áá°áŁáá˘
- áááŁá áá˘áŠá áááľáľ áľáŹáłá áĽáľáŞáá áľá¨áľ ááááá˝á ááá¨áŠá áááĽááá˘
- á áááťá: á°á°ááá á¨áááááľ áááá¨áťáá˝ áá° á°ááłáłá áá¤áľ áŤááŤá.
- ááŤáĽááľ: ááĽáśá˝ á á á˛ááᣠá¨áááá á¨áááľá°á áááł á á°áááá áááł áá áĽáť á¨á°á፠ááá˘
GitOps áĽáá´áľ áĽáá°áá°áŤ
GitOps áĽáá´áľ áĽáá°áá°áŤ áááĽáŤáŤáľ áľá Kubernetes á á á áááł á°áá¨ááá˘
áá° á¤á°á°áĽ ááľá á¨áááᎠá áááááľ áĄáľáá˝ áĽááááľá˘ áĽááá áá áá ááľá¨á á ááŁá¸á? á¨áá á áłá˝ áŤááá áááá áááá¨áą (á áĽáą ááľáĽ áŤá ááá¸áá áááá˝ áĽáááł ááá áŤáá°áááą á¨áááľá á¨áá áĽáŁááá á¨áá°á¸áľ ááá ᥠáĽá á¨áĽá áá áááŠ)ᢠáĽááá á áááŞááľ áá á¨á°áá°á¨áą á¨áľáŤ áá°áśá˝ ááłááá˝ áá¸áᢠá¨ááá˝ ááłáŞáŤáá˝ áá á˛á°áŠ ááá˝ áĽá áá°áśá˝ á á.
ááá ááá áĽáŤááłááą ááťáťáŤ á ááááŞáŤ áááá˝ áĽá á Git áá¨ááťáá˝ áá á áá°á¨á áááŚá˝ á˛áŤáá áĽááŤááᢠáĽááá á Git áá á¨á°á°á¨á áááŚá˝ ᨠ"GitOps áŚááŹá°á" áááľá°áá áĽáá˛áŤááá áŤá°áááłááĄ
1. á¨áĽáŤ áá°áľ: "Jenkins áááŁáł - áá á
áááŤáÂť.
á¨á°ááŁá áááááĄ-
- áááŞááľ áá፠á¨á°á°áĄ ááľáá˝á áá° Quay ááááá¸áá;
- áááŞááľ áá á¨áľá áĽá ᨠHelm áťááśá˝á áá° ááá áá¨ááť áŁáᲠááááá;
- á¨á°áá á°ááŁá á ááááŠá áĽá áťááśá˝á á¨ááá áá¨ááť áŁáᲠáá° ááłá Git áá¨ááť áááá áŁá;
- ᨠGitOps áŚááŹá°á áááľá°áá áŤááááá˘
2. á¨áááŞááľ áááŁáł - á¨áááá፠ááá áľáŠáľ á áááŤá:
- áááŞááľ áá፠áŤáá°á°áŁá¸á ááľáá˝á áá° Quay ááááá¸áá;
- áááŞááľ áá á¨áľá áĽá ᨠHelm áťááśá˝á áá° áá፠áá¨ááť áŁáᲠááááá;
- á¨á°áá á°ááŁá á ááááŠá áĽá áťááśášá á¨ááľá¨á áá¨ááť áŁáᲠáá° áľá´ááá ááľ áá¨ááť áááá áŁáá¤
- ᨠGitOps áŚááŹá°á áááľá°áá áŤááááá˘
3. áááŞááľ ááááŁáľ - á áááŤá ááłá á ááá áŁá áŞá:
- áááŞááľ áá፠áŤáá°á°áŁá¸á ááľáá˝á áá° Quay ááááá¸áá;
- áááŞááľ áá á¨áľá áĽá ᨠHelm áťááśá˝á áá° ááłá á áá¨ááť áŁáᲠááľáĽ áááááá˘
- á¨á°áá á°ááŁá á ááááŠá áĽá áťááśášá á¨ááᢠáá¨ááť áŁáᲠáá° Git áá¨ááť áááá áŁáá¤
- ᨠGitOps áŚááŹá°á áááľá°áá áŤááááá˘
4. á á˛áľ á°áá á á áá¨á áá:
- áĽáŤ á áľáŞáŤá ááá á áľá°áłáłáŞá (á¤áá˛á¤á/áŚááľ) á¨ááľááá ááľ áááá˝á (NLBs) ááá°ááŤáľ áĽá ááááá áá° ááŤáľá áá°áááá˘
- LCM/ops áááááá˝ áá°ááŤáľá ááááááľ á á˛áľ áá á¨áľ áá ááá˘
- ᨠGitOps áŚááŹá°á áááľá°áá áŤááááá˘
ᨠGitOps á áá ááááŤ
- ááĽáŤááłááą á áŤáŁá˘ ááá ááááŽá˝á á áá áá á¨á á ááá áľáááąá á¨áááááá áááł ááááš (á áĽá áłáŞáŤá˝á á¨áŚáĽ áĄáľá á ááľ ááľáĽ áŤááá á á ááá á¨áľáááľ áá
á ááááťá)á˘
- á¨ááľ áá¨ááťá á¨áááááá á¨áľáááąá áááł á á°ááá¨á° áĽá¸áá á¨áĽáááľ ááá ááá˘
- á á°áááá áááł áá áŤá ááá áááŚá˝ á Git ááľáĽ á á°á°á¨á ááá áááľ áá á¨áá°á¨ááľá˘
- ááá á¨áááá á¨áááľá°á áááŞáŤáá˝ áĽáá˛á á áááľá°á ááľáĽ ááľá°áááᢠá áá ááááľ áĽááą áááŁá áá (áááŁá á ᣠááááá) ááá áááŤáŠ (á¨á°ááŤáŠáŁ ááŠááľ) á°ááá áĽá á¨á°áľá°áá áááśá˝.
- á¨áááááľ áĽá á¨ááľá°áá áááśá˝ á¨áááŤáŠ á¨áááĄ-
- ááĽáá ááá ááááś ááááá áĽá á¨á°áľá°áá áááśá˝á á áŤáľ-á°á á¨ááŤááłáľá á¨áá°áĽá°á˘áŤ áá´ á áᢠá áááľá°á ááľáĽ áŠá áááľáľ áá á áŤá°áááá˘
- áá°áą áá˛áŤáá "ááἠá¨á°á°á¨á" ááá፠ááááŤá.
- á¨á°áá°á áá á áá áááśáš á¨á°ááŤáŠ á¨áá "ááŠ" ááá፠ááá ááťáá.
- á áá
ááááľáŁ ááá á ááľ ááľáĽ á¨ááá¸ááľ á°ááŁáŤáľ ááááľá°á áá¨ááᥠá¨áá˝á áĽá á ááŤáŤ ááááá˝á áŤáľá¨áľááá˘
- Rollback ááľá áá°ááááá áááł áááŁá á ááá˘
- áá
á°áą á¨áá¨á¨áť ááᢠáá¨á°áą á¨áááá á á áĄ-
- áá°áá°á áá ááá áአááááŤáá˝ á¨ááá˘
- "á¨á°á°á á°á " ááá፠(áááłá webhookᣠGit ááťá፠ááľá°áľ)á˘
ááŠááľ áááľá áá?
áĽáá°áá áĽááľááááĄ- ááá á¨áááá á¨áááľá°á ááĽá¨áśá˝ á áááľá°á ááľáĽ ááłá¨áľ á ááŁá¸á.
á ááłááľ á¨áááŤá¨áľ ááłááá˝áĄ-
- á Git ááľáĽ á áááŤáá˝á á ááááľ ááááŤáľ á¨áá á¨áľ ááá áááĽá˘
- á GUI á°áá á á Git ááá áááľ ááááŤáľ á áááá ááá áá áááĽá˘
- á ááľ ááľáĽ á PR ááááŤáľ áá° á°áááá áááł áĽá áááŚá˝ á¨ááŤá á¨ááŤáŁáá ááľá á ááááŁáľ áĽá á¨áááá áááŚá˝á˘
- á áľá á°áľ ááááŤáľ á¨áááľá°á áááł áááĽáŁ á¨ááĽáľ áááľ "ááĽá áŁá áŞ" áŤáľá¨á°á ááá á ááá á¨ááá áááł á áááá° á¨áá°á¨á ááŠááľá˘
á¨áááŁá á áá´á áááľá áá?
áĽááľ ááłááá˝
- áááŤáŁáá˝ áĽá áááľá°á, á¨áá°áĽá°á˘áŤ áá´á á áŠá áááľáľ ááááŁá.
- á áŠá áááľáľ áá á¨á°áá°á¨áą á áááŹá˝áá˝á áĽá á˛áááá˝á (áĽáá° á˘áľá˛áŽ áĽá áŠá¤ááľáľ áŤá) áááľá°áłá°á á°ááłáłá áá´ áá áá ááťááá˘
- á áŠá áááľáľáŁ á ááľá áá¨ááťáá˝ áĽá á ááľ ááŤá¨á áŤááá á¨á á áŤá ááľá°ááĽá á¨áááŁá áá áľ áá´ áŤáááŁá
GitOps á¨áá Weave Flux , á¨áľáá á áŤá ááááááľ á˝áá . - ááá á¨áľ áá˝áá˝áŁ á¨áá°áĽá°á˘áŤ áá´á ááá áĽá áŤáąá á¨áťá ááá á áá áľá˘ á¨áŤáłá˝á áááľ áĽáá°á áááľ áĽáá˝ááá
Terraform ááá ááş á áŁá á ááĽ, áá á ááá á¨á°á ááĽáĽá áŤáľááááá. á¨áá á áááᣠGitOps á¨áá á¨á° áááľá áá áĽáá° áŽáľ áŤá°áááá˘
GitOps ááĽáá á áá´á ááá á¨áĽ Gitá á¨áŠá áááľáľ ááἠá¨áá°áĽá°á˘áŤ áá°á áá áŤáŁááŤáá˘
GitOps áĽááľáá áŤáľá˝ááááĄ- ááááš áĽá ááłáŠ á¨áá˝á áľáááśá˝ áĽáť á ááśáá˛á áĽá ááĽáĽá áá°á¨á áá˝áá.
GitOps áááá á¨á°áá á¤á°á ááá (áááłá á´áŤááá ááá°) á¨áłá°á ááá˘
GitOps áŠá áááľáľ áĽáť á áá°ááᢠá á ááá áľáááą á á áá áĽáá˛á፠áĽá áá á°áľá áĽáá˛á áá áĽááááááᢠá á á ááá áľáááľ á¨áŠá áááľáľ áá á¨áá°áŠ á¨á áŤáŁá˘áá˝ áľáĽáľáĽ áááłá˝á áá - áááłá ᣠâdev áááľá°á 1â ᣠâáááľâ ᣠááá° áĽáŤááłááą á áŤáŁá˘ áá˝áá˝á ᣠáľáĽáľáŚá˝á ᣠá áááŹá˝áá˝á áĽáá˛áá áá¨áá á¨ááŤááᥠá¨áá á áááááśá˝á áááááá˝á áŤá áááá ᣠááľáľá áĽá ááá°.
á áá ááłá áá á´áŤááá ááĄáľ ááľááť á˝áá áá áŤá á á áľááá áĽáá°áá áἠáá áᢠáŠá áááľáľ á¨áá áŚáł áá°ááŤáľ á áá áľáŁ áĽá Terraformá áá áá áááľ Kubernetes áĽá á áááŹá˝áá˝á á¨áá°áá á¨ááĽáĽá ááĽááĽá áááá á á°ááłáłá ᨠGitOps á¨áľáŤ áá°áśá˝á áá°áá á áĽáá˝ááá áááľ ááᢠáá á áá ááἠááááľ áá.
ᨠGitOps á áá°-ááłáŚá˝á á Kubernetes áá áŁá ááĽááĽáŽá˝ áá á áá°áá á áá á¨áá°á áľáŠá¨áľ á á. á á áá áá á Istio ᣠHelm ᣠKsonnet ᣠOpenFaaS áĽá Kubeflow ᣠáĽáá˛áá áááłá ᣠá Pulumi ᣠᨠGitOps ááááľ áááľááá˝ á á ᣠáá á áCloud á¤á°á áá°áá áŞáŤáá˝á ááááááľ ááĽááĽá áááĽáŤáá˘
Kubernetes CI/CDᥠGitOpsá á¨ááá˝ á ááŤá¨áŚá˝ áá áááłá°á
áĽáá°á°ááá¸áᣠGitOps áááľ áááŽá˝ áá¸ááĄ-
- á¨áá á¨á°ááá¸á á¨áŠá áááľáľ áĽá á¨á°áá á°ááá á¨ááá áá´áá˘
- áá° ááá˘-á°áŽá á¨áá°áá áŞáŤ á áľá°áłá°á á áŤáŁá˘ á¨áááľá°á ááááľá˘
ááĽááá˝ GitOps á áááááľ á ááľ áááśá˝ áá á¨á°áá°á¨á° á¨áľáŤ áá°áľ ááᢠáĽáąáá áĽááá°áááᢠáá ፠áĽáť á áá°ááᥠá áá CI/CD á§áá§áá˝á áĽááá˘
GitOps ááŠá áááľáľ á°á¨áłáłá áá°ááŤáľá (á˛á˛)á áŤáľá˝áá
GitOps á¨á°áᨠâá¨áá°ááŤáľ á áľá°áłá°á áľáááśá˝áâ á áľáááááľ á¨ááŤáľáá ááŁá á¨áá°ááŤáľ áá´á áá°áŁáᢠáŠá áááľáľ áááá áľáŤ ááĽááľá áá°áŤáá˘
- á áááŹá˝áá áááá á Git ááľáĽ ááááá áá áááᢠáá áá°ááááá áááľ á¨ááĽááľ ááťáťáŤ ááᢠ"áá°ááŤáľ" á á°áťáťáá ááá፠áá á áááľá¨áľ á áŤáą á áŠá áááľáľ á áááľá°á ááľáĽ áá¨ááááá˘
- Kubernetes áĽáá´áľ áĽáá°áá°áŤ áŁá ᪠ááááŤáľ áĽááá ááááá˝ áĽááľ á ááľ á¨ááŁáአáá¸áᢠáá ááá ááááá˝ á áśáá á¨ááá áľ ááŁáááľ áŤáá á¨áá°ááŤáľ áá´á áŤáááŁáá˘
- ááľáłááť:
ááááľ á˝áá Git áĽá Kubernetes á¨ááŤáá ᾠᨠGitOps áŚááŹá°á áŤáááŁá áĽá á˛á˛ á¨áááááá áĽá á¨á ááá á¨áááľá°á áááł á ááľáłá¨á áĽáá˛á°áŤ áŤáľá˝áááá˘
áŤá kubectl áĽá áľááŞááśá˝
áááľá°ááá ááááá Kubectlá á¨áá áá ááá ἠá ááĽááľ áĽá á á°ááá ᨠkubectl áľáááá˝á ááá§á°á áľááŞááśá˝á á¨áá áá ááá áĄá˘ á ááľáŠáŁ á GitOps á§áá§áŁ á ááľ á°á áá á¨áŠá áááľáľ áááľá°á á ááľ á áŠá áááá áá˝ááá˘
áĽá ááš á¨áá¨á°ááľá áŤáŤáľáłá:
- áá. á¨ááááá˝ áĄáľá áá°áá áᣠááŁáá áĽá á áá¨á¨áť áá¨ááἠáá˝ááᣠáá á áá° á áśáá áá°ááŤáľ áἠáŤááá ááᢠá á ááťáŠáŁ áľááŞááśá˝á áá áá ááá á áááľ á¨áá°áĽá°áĽ ááľáľá á áá°áĽá (á¨áá á áłá˝ á áá áá á°á¨ááŞ)á˘
- á°á
áááľ.
á ááĽááľ Kelsey Hightowerᥠ"á¨áĽááľáá á¨áŠá áááľáľ áááľá°á áá° á ááśááľáŞ ááłáŞáŤáá˝ áĽá á áľá°áłáłáŞáá˝ ááá¨á ááá ááá áá áááááľ áŤááŁá¸á á áľá°áłáłáŞáá˝ ááłá¨áťá áááľáĄá˘" á°ááá¨áľá¨áĽá áĽáľá áľá á°á áááľ áĽá á´áááŤá ááááŽá˝ ááá á, áĽáá˛áááľá Homebrew á áá ááŁáĽá á áá´áá˝ááľ á¨á°áťá á¨áááŞááľ áľááŞááľ ááľááááśá˝á á ááľá¨á ᢠ- á¨á°á áá á°áááŽ. Kubectl á áŁá ááľáĽáľáĽ á¨áááľá á¨áŠá áááľáľ ááá áá´á ááŤááŽá˝á áŤáááŁáᢠá ááłáĽ á°á¨áᣠá°á áááá˝ á¨áľáááą áá á á¨áá°á á¨á áĽáľáľáŤáá˝á á°á¨á ááľá°ááĽá ááá á á ááŁá¸áᢠáĽáá
áĽáá°áá áá° áŹáᲠáĽá á
áłáá áĽá áĽáá˛ááá¨áą áĽáááŤááá˘
áĽáá°áá áŤá á¨ááá áľ ááĽá .
á á˛á˛ áĽá á á˛á˛ ááŤá¨á áŤáá ááŠááľ
GitOps áŤááľá á¨á˛á á/á˛á˛ áá´áá˝á áŤáťá˝ááá˘
áááá á˛á á á áááá áŚááŹáľáľáŤ ááłáŞáŤ ááᢠá á°ááá ᨠCI á§áá§áá˝á ááááááľ ááłáŞáŤ áá. áĽááá á ááááŁáľáŁ ááá°á˝áŁ á¨áááľ áá áááááᣠááá° á¨ááłá°ááľá áŤáŤáľáłáᢠCI á ááááŽá˝ ááľáĽáľáĽ áŁááĽá á°á¨á á¨á§á᧠ááľááŽá˝á á áŤáľ á°á áŤááááᢠá¨á°ááá°á áá°á á¨áŠá áááľáľ ááááá˝á áľááŞááľ ááľá¨á áĽá áááŚá˝á áá° áááľá°á áááááľ áĽáá° á¨á§á᧠ááľáá á áŤá á áľáá ááľáŹáľ ááᢠá áĽáááĽ, áĽá áŁáááŤáá˝ á¨ááŤá°áááľ áá áá. ááá ᣠáá á áŁá áĽáŠ á áá°áá ᣠáĽá ááá áĽáá°áá áĽááá˘
CI ááááá˝á áá° áááą áááááľ áľáŤ áá ááá á áá áľáŁ áĽá á¨áŠá áááľáľ áááľá°á á˛á˛áá á ááľáĽ áááľá°áłá°á á áĽáá፠ááťáťáŤáá˝ áá á áááľá¨áľ áĽáŤáąá áááἠá áá áľá˘ áĽáá áĽáá áŤááá
ááá CI á ááááŽá˝ Kubernetes ááľáĽ á ááĽáł ááťáťáŤ á áŠá á˛á˛ ááľá¨á á¨áá áľá
á Kubernetes á¨ááĽáł ááááá˝á áĽáá° á¨CI áľáŤáá˝ áľáĽáľáĽ ááááááľ á¨CI á áááá á áá ááᢠáá
áĽá¨á°ááááá áŤááá áá¨-áĽááľ ááá˘
áá° á ááľ áĽá áŚáĽ áĽááááľá˘
áá á˝ááŽá˝ á áá áá¸á? á¨áŚáĽ á˛á á á áááá áááŚášá á áááľá°á áá áá°ááĽáŤáᣠááá áá á áá°áą ááľáĽ á˘á áá˝áŁ áŚáĽ áááľá°á á áá á áááľ áááł ááľáĽ áĽááłá (ááá ááá áĽááłáá áľ) ááá áĽáá´áľ ááľá°áŤá¨á áĽááłáá áľ á áŤáá áᢠá áľáŹáľ ááá á°ááłáłá áá.
á¨áŚáĽ áĄáľá á á˛áľ ááľá áĽáá°ááᣠáĽá á¨ááŤá ááľáá ááá°ááŤáľ áľáŤá¸áá áĽáá°áá á áĽááľáĽ (ááá ᨠCI á§á᧠ááľáá)á˘
ááľá á áá°á áááľ á¨á°ááᣠᣠáá á¨á§á᧠ááľáá áŤáá°áłáŤ ᣠáĄáľá á¨áá¨á°ááľá ááá á áá áľ-
- áááá á°áá áá?
- á á˛áľ áááŁáł áĽá¨áááá áá? áá áá° á ááľááá á¨áááŽá˝ ááłáśá˝ áááŤá - á°ááłáłá á¨áááááἠááľá áááľ áááŁáłáá˝ áááŠáľ áá˝áá?
- áááŁáłáá á¨ááľáŹáľá á ááľ ááááĽáá ááá áá á á á ááĽá?
- á áľááá áá á˝áá á°áá á¨? á¨áľááš áĽááááá˝ áá°áá á ááŁá¸á (áĽá á¨áľááš áááľáá á°á á áá¸á)?
Git áá á¨á°áá°á¨á° á¨áľáŤ áá°áľ áááá á¨áŚáĽ áĄáľá áĽááá á á˝ááŽá˝ áĽááłáŤááĽáá ááľáľá á áá°áĽáᢠá ááá á áááááľáŁ á áá፠ááá á áá áááŞáŤ áľá á°áľ áá አáá˝ááᢠáááᣠáá á áŤááľ á ááá áá° ááá˝ ááá-ááá-ááá á áŤááľ á áŁá á¨áá¨á ááá˘
ááá áááᣠCI á ááááŽá˝ á¨á˛á˛ áá á¨áááááá áľ ááááŤáľ áĽáá á áá˘
- á¨ááá áľááŞááśá˝ áááá á¨áááľá á áá°áá; á áĽááą ááľáĽ áľá á°áśá˝á ááľá¨á ááá áá.
- á¨CI á ááááŽá˝ áá° ááá áááľá°á áá´á á ááŁááŠáá˘
- áŤáľá á á á áá¨ááἠá¨áŁáľ ááᢠá°á áááá˝ á¨áľáááąá áĽáá áľááá áá¨áłáľ á ááŁá¸áá˘
- á¨áá ááľááľ ááááá á¨á áá á¨áŁáľ ááá˘
áľá Helm ááľáłááťáĄ Helmá áá áá á¨áááᥠᨠGitOps áŚááŹá°á áá áĽáá˛áŤáá
áąáľ áĽááááŤáá áááłá
GitOps ááŠá áááľáľ ááŁáááľ áŤáá á á ááŚáľá ááá°áá á áĽáá° ááἠááááľ
á¨á ááľ áĽá á¨áŚáĽ áĄáľá GitOpsá á áá°áá á á¨áśááľáá áááśá˝ áá áááľáŤáľáŁ á¨áá°á á ááťá¸á áĽá áá¨áááľá ááá á á á áŁá ááá áĽáá° áá á ááᢠá á˛áą á ááŤá¨áŁá¸á áá áĽáá°áááľá á ááłá¨áľ áá á á˝áá áĽáááᢠáĽá áá á¨ááááŤá áľá á áááŹá˝áá˝ áĽá á áááááśá˝ áááá á áľáłááľáŁ ááá áá GitOps áááá ááľá¨á áááľá°áłá°á áĽá á áá ááá áá˝ááá˘
á¨ááá áá´á á Kubernetes
á¨áá¨á°ááá áĽáá á°ááá¨áľá˘ ááááľ á¨á°áááŁá አá¨á áááľ áá°áśá˝ Git áĽá á¨áŽáá´ááá ááľá áá¨ááťá áĽáá° á¨á፠ááĽáśá˝ áŤáááŁááĄ
- áááá˝á áá° Git á¨ááŤáἠáĽá á¨áá˝á áĽá á¨ááŤáŁ ááľáá˝ áá¨ááťá á¨ááŤááá ááŁáááľ áŤáá á¨áá á°áľ á§á᧠ááľááá˘
- áá°ááŤáľá á¨á áľá°áłá°á áĽá áłáá˘ááľ áá á¨ááŤáŁáá¨á ᨠRuntime GitOps á§á᧠ááľááᢠáááá˝á áá° Git áŤááŁá áĽá áá˝áá áĽá á¨ááŤáŁ ááľáá˝á ááá¨áľ áá˝ááá˘
ááááš áááśá˝ áááľá áá¸á?
- á¨ááááľ áááŤá¨áľáĽáŁááá áááąá á¨á§á᧠ááľááŽá˝ áááááľ á¨áá˝ááľ Git ááá á¨ááľá áá¨ááťáá á áááá áĽáť áááá áἠáá áᢠá áá á ááááᣠá CI áĽá á runtime á áŤáŁá˘ ááŤá¨á áá¨ááá á áᢠâá¨ááááἠáá¨áááâ áĽááááᢠ(á¨ááááἠáá¨ááá)ááá á¨áá¨ááť ááááá˝ á á˛áľ áľáŞáśá˝á áľááááĽáŠá˘ á áá
áááľ áá áá áá áá¨áᣠáľáááľ 72-87 áááá¨áą
áá á ááŤá¨áĽ . - áááááá CI áĽá Git á áááá áá áá áľá˝ááá GitOps á¨ááááá á áŤá áá áá°áŤáᢠá¨áĽááľáá á°ááłá CI áĽá Git á ááááŽá˝áᣠá¨ááľá áá¨ááťáá˝á áĽá á¨áá¨áŤ áľáĽáľáŚá˝á áá áá ááá á áá˝ááᢠá áá ፠áá áŤá ááá˝ ááá áááľ ááťáá ááŁáááľ áŤáá á¨ááľá¨áľ ááłáŞáŤáá˝ á¨áŤáłá¸áá CI/Git á áááá ááá á¨ááľá áá¨ááť áááááᢠáá á¨á°áá á°ááá áĽáľááľá á¨áááľáĽ ááááŤáľ ááá áá˝ááᢠá GitOps á¨áłáá ááłáŞáŤáá˝á áá áá áá˝ááá˘
- ááľá°áśá˝ áĽáá° áá á°áľ ááŁáŞáŤá Git ááľáĽ áŤáá áá¨á áĽáá°á°áááᣠWeave Flux (ááá á¨Weave ááááľ áŚááŹá°á) á¨áŠáŤ ááá áŤáłáááᢠáŠá áááľáľ á¨ááἠáľáĽáľáĽ á˛áá á Git áááááᢠáá á¨áłá˝ áĽáá°ááłá¨á á GitOps á¨áľáŤ áá°áśá˝á ááá°áŤááľ ááá á¨áá á¨áá á°áľ áá´á áŤáááŁáá˘
áá°áá°ááŤ
GitOps á ááááá áááá á¨á˛á á/á˛á˛ ááłáŞáŤ á¨áááááá á ááŤáŤ á¨ááá ááľáľá áá°áŁááĄ-
- á ááśáá˛á;
- áááŁá á;
- ááťá;
- ááŤáĽááľ.
áá á áľááá áá ááááŤáąá áá°áá á°ááá ááá˘áá˝ á¨á á áŤá áá´á áŤáááŁáá˘
- áľáááśá˝á ááááŁá á áĽá ááááŁá á áŁá áá ááłáŞáŤáá˝ á runbook ááľáĽ á¨áá°áŠ á¨áŚááŹá˝á áĄáľáá˝ áá á¨á°ááŤá áá¸áᢠ(á¨á°áááą áá°áśá˝ áĽá áľáŤáá˝ áľáĽáľáĽ - approx. transl.), á¨á°áá°á áá°ááŤáľ áá á¨á°áŤáŤá.
- á á°áá á¤á°á á áľá°áłá°á ááľáĽ á¨áááľ áĄáľá ááŁá ááá˝ áĽáá˛á°áĽ á¨ááłáá˘áŤ ááłáŞáŤáá˝ á¨á°á°ááŠáľá áá¤áśá˝ ááááŤáľ ááᥠááááľ áá¸áá˘
á á°ááŤáŠ á°áááá˝ áĽá áĽá á áááááśá˝ áá á¨áĄáľáá¸á áĽá á¨áá°ááŤáľ áĽá áľ áá á¨á°á á°á áĽá ááááá˝á á áľáĄáľá˘ GitOps áá á áá á¨á°áľá¨áá¨á ááá áááľá°áłá°á áááá á¨ááááἠáá´á áŤáááŁáá˘
PS á¨á°ááá
á áĽááá˝á áá áŤááĽáĄáĄ-
- ÂŤ
GitOpsᥠá¨ááá°áľ áĽá á¨áá áá´áá˝á áááłá°á "; - ÂŤ
Kubedog á ááľá°ááá ááᣠá¨áŠá áááľáľ ááĽáśá˝á ááá¨áłá°á á¤á°-áá˝áááľá˘ "; - ÂŤ
Kubernetes ááľáááľ áĽá áá፠(á¨áááá áĽá á¨áŞá˛áŽ áááŁ) Âť.
á áłá°áł áĽááą ááľáĽ á¨á°áááᥠá°á áááá˝ áĽáť ááłá°á áá˝ááá˘
áĽááá áááľ áľáááá˝ á áá Ꮰáá á¨ááłá¨áłá¸á á ááľ áľá GitOps áŤááá?
-
á á áááá ááá á áá áá áá˘
-
áá ááŠá áĽáť
-
á¨áá
35 á°á áááá˝ áľáá˝ á°áĽá°ááᢠ10 á°á áááá˝ áľáá á°á á
ጠá áľááááá˘
ááá: hab.com