Π¨Ρ‚ΠΎ Π΅ GitOps?

Π—Π°Π±Π΅Π»Π΅ΡˆΠΊΠ°. ΠΏΡ€Π΅Π²ΠΎΠ΄.: По Π½Π΅ΠΎΠ΄Π°ΠΌΠ½Π΅ΡˆΠ½ΠΎΡ‚ΠΎ ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΡ˜Π°Π» Π·Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π° Π²Π»Π΅Ρ‡Π΅ΡšΠ΅ ΠΈ Ρ‚ΡƒΡ€ΠΊΠ°ΡšΠ΅ Π²ΠΎ GitOps, Π²ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ интСрСс Π·Π° овој ΠΌΠΎΠ΄Π΅Π» Π²ΠΎΠΎΠΏΡˆΡ‚ΠΎ, Π½ΠΎ имашС ΠΌΠ½ΠΎΠ³Ρƒ ΠΌΠ°Π»ΠΊΡƒ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° руски јазик Π½Π° ΠΎΠ²Π°Π° Ρ‚Π΅ΠΌΠ° (Сдноставно Π½Π΅ΠΌΠ° Ρ‚Π°ΠΊΠ²ΠΈ Π½Π° HabrΓ©). Π—Π°Ρ‚ΠΎΠ°, со задоволство Π²ΠΈ Π½ΡƒΠ΄ΠΈΠΌΠ΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° Π΄Ρ€ΡƒΠ³Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° - ΠΈΠ°ΠΊΠΎ ΠΏΡ€Π΅Π΄ рСчиси Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π°! β€” ΠΎΠ΄ Weaveworks, Ρ‡ΠΈΡ˜Π° Π³Π»Π°Π²Π° Π³ΠΎ измисли Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΡ‚ β€žGitOpsβ€œ. ВСкстот ја ΠΎΠ±Ρ˜Π°ΡΠ½ΡƒΠ²Π° ΡΡƒΡˆΡ‚ΠΈΠ½Π°Ρ‚Π° Π½Π° пристапот ΠΈ ΠΊΠ»ΡƒΡ‡Π½ΠΈΡ‚Π΅ Ρ€Π°Π·Π»ΠΈΠΊΠΈ ΠΎΠ΄ постоСчкитС.

ΠŸΡ€Π΅Π΄ Π΅Π΄Π½Π° Π³ΠΎΠ΄ΠΈΠ½Π° објавивмС Π²ΠΎΠ²Π΅Π΄ Π²ΠΎ GitOps. Вогаш, сподСливмС ΠΊΠ°ΠΊΠΎ Ρ‚ΠΈΠΌΠΎΡ‚ Π½Π° Weaveworks Π»Π°Π½ΡΠΈΡ€Π°ΡˆΠ΅ SaaS цСлосно заснован Π½Π° Kubernetes ΠΈ Ρ€Π°Π·Π²ΠΈ Π·Π±ΠΈΡ€ Π½Π° ΠΏΡ€ΠΎΠΏΠΈΡˆΠ°Π½ΠΈ Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π·Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅, ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΈ слСдСњС Π²ΠΎ домашна срСдина Π½Π° ΠΎΠ±Π»Π°ΠΊ.

Π‘Ρ‚Π°Ρ‚ΠΈΡ˜Π°Ρ‚Π° сС ΠΏΠΎΠΊΠ°ΠΆΠ° ΠΏΠΎΠΏΡƒΠ»Π°Ρ€Π½Π°. Π”Ρ€ΡƒΠ³ΠΈ Π»ΡƒΡ“Π΅ ΠΏΠΎΡ‡Π½Π°Π° Π΄Π° Π·Π±ΠΎΡ€ΡƒΠ²Π°Π°Ρ‚ Π·Π° GitOps ΠΈ ΠΏΠΎΡ‡Π½Π°Π° Π΄Π° ΠΎΠ±Ρ˜Π°Π²ΡƒΠ²Π°Π°Ρ‚ Π½ΠΎΠ²ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° git push, Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π°, Ρ‚Π°Ρ˜Π½ΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π° ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°ΠΌΡƒ. Π‘Π΅ појави Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° Π²Π΅Π±-страница Π³ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ Π½Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ случаи Π½Π° ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π° Π½Π° GitOps. Но, Π½Π΅ΠΊΠΎΠΈ Π»ΡƒΡ“Π΅ сè ΡƒΡˆΡ‚Π΅ ΠΈΠΌΠ°Π°Ρ‚ ΠΏΡ€Π°ΡˆΠ°ΡšΠ°. Како ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π° ΠΎΠ΄ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΠΎΡ‚? инфраструктура ΠΊΠ°ΠΊΠΎ ΠΊΠΎΠ΄ ΠΈ ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° испорака (ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° испорака)? Π”Π°Π»ΠΈ Π΅ Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΎ Π΄Π° сС користи Kubernetes?

Наскоро сфативмС Π΄Π΅ΠΊΠ° Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π΅Π½ Π½ΠΎΠ² опис, Π½ΡƒΠ΄Π΅Ρ˜ΡœΠΈ:

  1. Π“ΠΎΠ»Π΅ΠΌ Π±Ρ€ΠΎΡ˜ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ ΠΈ ΠΏΡ€ΠΈΠΊΠ°Π·Π½ΠΈ;
  2. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π° Π·Π° GitOps;
  3. Π‘ΠΏΠΎΡ€Π΅Π΄Π±Π° со Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½Π°Ρ‚Π° ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° испорака.

Π’ΠΎ ΠΎΠ²Π°Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° сС ΠΎΠ±ΠΈΠ΄ΠΎΠ²ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΏΠΎΠΊΡ€ΠΈΠ΅ΠΌΠ΅ ситС ΠΎΠ²ΠΈΠ΅ Ρ‚Π΅ΠΌΠΈ. ΠžΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π½ Π²ΠΎΠ²Π΅Π΄ Π²ΠΎ GitOps ΠΈ пСрспСктива Π·Π° Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈ ΠΈ CI/CD. НиС првСнствСно сС фокусирамС Π½Π° Kubernetes, ΠΈΠ°ΠΊΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π³Π΅Π½Π΅Ρ€Π°Π»ΠΈΠ·ΠΈΡ€Π°.

Π—Π°ΠΏΠΎΠ·Π½Π°Ρ˜Ρ‚Π΅ Π³ΠΎ GitOps

ЗамислСтС ја Алис. Π’Π°Π° Ρ€Π°ΠΊΠΎΠ²ΠΎΠ΄ΠΈ со ΡΠ΅ΠΌΠ΅Ρ˜Π½ΠΎΡ‚ΠΎ ΠΎΡΠΈΠ³ΡƒΡ€ΡƒΠ²Π°ΡšΠ΅, ΠΊΠΎΠ΅ Π½ΡƒΠ΄ΠΈ здравствСно, автомобилско, Π΄ΠΎΠΌ ΠΈ ΠΏΠ°Ρ‚Π½ΠΈΡ‡ΠΊΠΎ ΠΎΡΠΈΠ³ΡƒΡ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π»ΡƒΡ“Π΅ ΠΊΠΎΠΈ сС ΠΏΡ€Π΅ΠΌΠ½ΠΎΠ³Ρƒ Π·Π°Ρ„Π°Ρ‚Π΅Π½ΠΈ Π·Π° Π΄Π° Π³ΠΈ сфатат самитС Π΄Π΅Ρ‚Π°Π»ΠΈ Π·Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅. ΠΠ΅Ρ˜Π·ΠΈΠ½ΠΈΠΎΡ‚ бизнис Π·Π°ΠΏΠΎΡ‡Π½Π° ΠΊΠ°ΠΊΠΎ спорСдСн ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΊΠΎΠ³Π° Алис Ρ€Π°Π±ΠΎΡ‚Π΅ΡˆΠ΅ Π²ΠΎ Π±Π°Π½ΠΊΠ° ΠΊΠ°ΠΊΠΎ Π½Π°ΡƒΡ‡Π½ΠΈΠΊ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ. Π•Π΄Π΅Π½ Π΄Π΅Π½ сфатила Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° користи Π½Π°ΠΏΡ€Π΅Π΄Π½ΠΈ ΠΊΠΎΠΌΠΏΡ˜ΡƒΡ‚Π΅Ρ€ΡΠΊΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° поСфикасно Π΄Π° Π³ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ ΠΈ Π΄Π° Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π·Π° ΠΎΡΠΈΠ³ΡƒΡ€ΡƒΠ²Π°ΡšΠ΅. Π˜Π½Π²Π΅ΡΡ‚ΠΈΡ‚ΠΎΡ€ΠΈΡ‚Π΅ Π³ΠΎ финансираа ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚, Π° сСга Π½Π΅Ρ˜Π·ΠΈΠ½Π°Ρ‚Π° компанија носи повСќС ΠΎΠ΄ 20 ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ Π΄ΠΎΠ»Π°Ρ€ΠΈ годишно ΠΈ Ρ€Π°ΠΏΠΈΠ΄Π½ΠΎ растС. Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ² Π²Ρ€Π°Π±ΠΎΡ‚ΡƒΠ²Π° 180 Π»ΡƒΡ“Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Ова Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΡˆΠΊΠΈ Ρ‚ΠΈΠΌ кој ја Ρ€Π°Π·Π²ΠΈΠ²Π°, ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π° Π²Π΅Π±-страницата, Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ ја Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ. Π’ΠΈΠΌΠΎΡ‚ ΠΎΠ΄ 60 Π»ΡƒΡ“Π΅ Π³ΠΎ ΠΏΡ€Π΅Π΄Π²ΠΎΠ΄ΠΈ Π‘ΠΎΠ±, Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΈΠΎΡ‚ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ˜Π°Ρ‚Π°.

Π’ΠΈΠΌΠΎΡ‚ Π½Π° Π‘ΠΎΠ± распорСдува производствСни систСми Π²ΠΎ ΠΎΠ±Π»Π°ΠΊΠΎΡ‚. НивнитС основни Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π½Π° GKE, ΠΈΡΠΊΠΎΡ€ΠΈΡΡ‚ΡƒΠ²Π°Ρ˜ΡœΠΈ Π³ΠΈ прСдноститС Π½Π° Kubernetes Π½Π° Google Cloud. ΠŸΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, Ρ‚ΠΈΠ΅ користат Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ ΠΈ Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ° Π²ΠΎ Π½ΠΈΠ²Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π°.

Π‘Π΅ΠΌΠ΅Ρ˜Π½ΠΎΡ‚ΠΎ ΠΎΡΠΈΠ³ΡƒΡ€ΡƒΠ²Π°ΡšΠ΅ Π½Π΅ сС ΠΎΠ±ΠΈΠ΄Π΅ Π΄Π° користи ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ, Π½ΠΎ сС Π·Π°Ρ„Π°Ρ‚ΠΈ со Π΅Π½Ρ‚ΡƒΠ·ΠΈΡ˜Π°Π·ΠΌΠΎΡ‚ Π½Π° Π”ΠΎΠΊΠ΅Ρ€. ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡ˜Π°Ρ‚Π° наскоро ΠΎΡ‚ΠΊΡ€ΠΈ Π΄Π΅ΠΊΠ° GKE Π³ΠΎ олСсни ΠΈ Π±Π΅Π· Π½Π°ΠΏΠΎΡ€ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ кластСри Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ЏСнкинс Π·Π° CI ΠΈ КСј Π±Π΅Π° Π΄ΠΎΠ΄Π°Π΄Π΅Π½ΠΈ Π·Π° Π΄Π° сС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π° рСгистарот Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ, Π·Π° ЏСнкинс Π±Π΅Π° напишани скрипти ΠΊΠΎΠΈ Ρ‚ΡƒΡ€ΠΊΠ°Π° Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π° GKE.

Помина Π½Π΅ΠΊΠΎΠ΅ Π²Ρ€Π΅ΠΌΠ΅. Алис ΠΈ Π‘ΠΎΠ± Π±Π΅Π° Ρ€Π°Π·ΠΎΡ‡Π°Ρ€Π°Π½ΠΈ ΠΎΠ΄ пСрформанситС Π½Π° Π½ΠΈΠ²Π½ΠΈΠΎΡ‚ ΠΈΠ·Π±Ρ€Π°Π½ пристап ΠΈ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ влијаниС Π²Ρ€Π· бизнисот. Π’ΠΎΠ²Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ Π½Π΅ ја ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ продуктивноста ΠΊΠΎΠ»ΠΊΡƒ ΡˆΡ‚ΠΎ сС надСвашС Ρ‚ΠΈΠΌΠΎΡ‚. ПонСкогаш Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ°Ρ‚Π° сС ΠΏΡ€Π΅ΠΊΠΈΠ½ΡƒΠ²Π°Π° ΠΈ Π½Π΅ бСшС јасно Π΄Π°Π»ΠΈ сС Π²ΠΈΠ½ΠΎΠ²Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° ΠΊΠΎΠ΄ΠΎΡ‚. Π˜ΡΡ‚ΠΎ Ρ‚Π°ΠΊΠ°, сС ΠΏΠΎΠΊΠ°ΠΆΠ° Π΄Π΅ΠΊΠ° Π΅ Ρ‚Π΅ΡˆΠΊΠΎ Π΄Π° сС слСдат ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°. ЧСстопати бСшС Π½Π΅ΠΎΠΏΡ…ΠΎΠ΄Π½ΠΎ Π΄Π° сС создадС Π½ΠΎΠ² кластСр ΠΈ Π΄Π° сС ΠΏΡ€Π΅Ρ„Ρ€Π»Π°Ρ‚ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅ Π²ΠΎ Π½Π΅Π³ΠΎ, бидСјќи ΠΎΠ²Π° бСшС Π½Π°Ρ˜Π»Π΅ΡΠ½ΠΈΠΎΡ‚ Π½Π°Ρ‡ΠΈΠ½ Π΄Π° сС Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° Π½Π΅Ρ€Π΅Π΄ΠΎΡ‚ ΡˆΡ‚ΠΎ Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈ систСмот. Алис сС плашСшС Π΄Π΅ΠΊΠ° ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ќС сС влоши ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС Ρ€Π°Π·Π²ΠΈΠ²Π°ΡˆΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° (ΠΏΠΎΠΊΡ€Π°Ρ˜ Ρ‚ΠΎΠ°, сС ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΡƒΠ²Π°ΡˆΠ΅ Π½ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ заснован Π½Π° машинско ΡƒΡ‡Π΅ΡšΠ΅). Π‘ΠΎΠ± Π³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°ΡˆΠ΅ ΠΏΠΎΠ³ΠΎΠ»Π΅ΠΌΠΈΠΎΡ‚ Π΄Π΅Π» ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΈ Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡˆΠ΅ Π·ΠΎΡˆΡ‚ΠΎ гасоводот Π΅ сè ΡƒΡˆΡ‚Π΅ нСстабилСн, Π½Π΅ сС Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΈ Π΄ΠΎΠ±Ρ€ΠΎ ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎ Π±Π°Ρ€Π° Ρ€Π°Ρ‡Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π΅Π½Ρ†ΠΈΡ˜Π°?

ΠŸΠΎΡ‚ΠΎΠ° Π΄ΠΎΠ·Π½Π°Π° Π·Π° GitOps. Оваа ΠΎΠ΄Π»ΡƒΠΊΠ° сС ΠΏΠΎΠΊΠ°ΠΆΠ° Ρ‚ΠΎΠΊΠΌΡƒ ΠΎΠ½Π° ΡˆΡ‚ΠΎ ΠΈΠΌ Ρ‚Ρ€Π΅Π±Π°ΡˆΠ΅ Π·Π° самоувСрСно Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ Π½Π°ΠΏΡ€Π΅Π΄.

Алис ΠΈ Π‘ΠΎΠ± со Π³ΠΎΠ΄ΠΈΠ½ΠΈ ΡΠ»ΡƒΡˆΠ°Π°Ρ‚ Π·Π° Git, DevOps ΠΈ инфраструктурата ΠΊΠ°ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ Ρ‚Π΅ΠΊΠΎΠ²ΠΈ Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ. Она ΡˆΡ‚ΠΎ Π΅ ΡƒΠ½ΠΈΠΊΠ°Ρ‚Π½ΠΎ Π·Π° GitOps Π΅ Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ носи Π·Π±ΠΈΡ€ Π½Π° Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ - ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ‚ΠΈΠ²Π½ΠΈ ΠΈ Π½ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΠ²Π½ΠΈ - Π·Π° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° ΠΎΠ²ΠΈΠ΅ ΠΈΠ΄Π΅ΠΈ Π²ΠΎ контСкст Π½Π° Kubernetes. Оваа Ρ‚Π΅ΠΌΠ° сС Π·Π³ΠΎΠ»Π΅ΠΌΠΈ ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ΠΎ, Π²ΠΊΠ»ΡƒΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΈ Π²ΠΎ Π‘Π»ΠΎΠ³ Π½Π° Weaveworks.

Π‘Π΅ΠΌΠ΅Ρ˜Π½ΠΎΡ‚ΠΎ ΠΎΡΠΈΠ³ΡƒΡ€ΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄Π»ΡƒΡ‡ΡƒΠ²Π° Π΄Π° Π³ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° GitOps. ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡ˜Π°Ρ‚Π° сСга ΠΈΠΌΠ° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° кој Π΅ ΠΊΠΎΠΌΠΏΠ°Ρ‚ΠΈΠ±ΠΈΠ»Π΅Π½ со Kubernetes ΠΈ комбајни Π±Ρ€Π·ΠΈΠ½Π° со ΡΡ‚Π°Π±ΠΈΠ»Π½ΠΎΡΡ‚Π±ΠΈΠ΄Π΅Ρ˜ΡœΠΈ Ρ‚ΠΈΠ΅:

  • ΠΎΡ‚ΠΊΡ€ΠΈΠ»Π΅ Π΄Π΅ΠΊΠ° продуктивноста Π½Π° Ρ‚ΠΈΠΌΠΎΡ‚ сС ΡƒΠ΄Π²ΠΎΠΈΠ»Π° Π±Π΅Π· никој Π΄Π° ΠΏΠΎΠ»ΡƒΠ΄ΠΈ;
  • прСстана Π΄Π° слуТи скрипти. НамСсто Ρ‚ΠΎΠ°, Ρ‚ΠΈΠ΅ сСга ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС фокусираат Π½Π° Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π΄Π° Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ инТСнСрскитС ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ - Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²ΠΎΠ²Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠ°Π½Π°Ρ€ΠΈΠ½Ρ†ΠΈ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π°ΡšΠ΅ Π½Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ;
  • Π³ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΠ²ΠΌΠ΅ процСсот Π½Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Ρ‚ΠΎΡ˜ Ρ€Π΅Ρ‚ΠΊΠΎ сС распаѓа;
  • Π΄ΠΎΠ±ΠΈ моТност Π΄Π° Π³ΠΈ Π²Ρ€Π°Ρ‚ΠΈ распорСдитС ΠΏΠΎ Π΄Π΅Π»ΡƒΠΌΠ½ΠΈ нСуспСси Π±Π΅Π· Ρ€Π°Ρ‡Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²Π΅Π½Ρ†ΠΈΡ˜Π°;
  • ΠΊΡƒΠΏΠ΅Π½Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Π½Π°ΠΎΠŸΠΎΠ³ΠΎΠ»Π΅ΠΌΠ° Π΄ΠΎΠ²Π΅Ρ€Π±Π° Π²ΠΎ систСмитС Π·Π° испорака. Алис ΠΈ Π‘ΠΎΠ± ΠΎΡ‚ΠΊΡ€ΠΈΡ˜Π° Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄Π΅Π»Π°Ρ‚ Ρ‚ΠΈΠΌΠΎΡ‚ Π½Π° Ρ‚ΠΈΠΌΠΎΠ²ΠΈ Π·Π° микросСрвис ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ;
  • ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ 30-50 ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ сСкој Π΄Π΅Π½ ΠΏΡ€Π΅ΠΊΡƒ Π½Π°ΠΏΠΎΡ€ΠΈΡ‚Π΅ Π½Π° сСкоја Π³Ρ€ΡƒΠΏΠ° ΠΈ Π΄Π° ΠΏΡ€ΠΎΠ±Π° Π½ΠΎΠ²ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ;
  • лСсно Π΅ Π΄Π° сС ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π°Ρ‚ Π½ΠΎΠ²ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ΅Ρ€ΠΈ Π²ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚, ΠΊΠΎΠΈ ΠΈΠΌΠ°Π°Ρ‚ моТност Π΄Π° Π²ΠΎΠ²Π΅Π΄Π°Ρ‚ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° Π½Π° производството ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π±Π°Ρ€Π°ΡšΠ° Π·Π° ΠΏΠΎΠ²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ Ρ€ΠΎΠΊ ΠΎΠ΄ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ часа;
  • лСсно ΠΏΠΎΠΌΠΈΠ½ΡƒΠ²Π° Ρ€Π΅Π²ΠΈΠ·ΠΈΡ˜Π° Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° SOC2 (Π·Π° усогласСност Π½Π° Π΄Π°Π²Π°Ρ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° услуги со Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π·Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ; ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ˜Ρ‚Π΅ повСќС, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚ΡƒΠΊΠ° - ΠΏΡ€ΠΈΠ±Π». ΠΏΡ€Π΅Π²ΠΎΠ΄.).

Π¨Ρ‚ΠΎ сС случи?

GitOps Π΅ Π΄Π²Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ:

  1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π·Π° Kubernetes ΠΈ ΠΌΠ°Ρ˜Ρ‡ΠΈΠ½ ΠΎΠ±Π»Π°ΠΊ. ΠžΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° Π·Π±ΠΈΡ€ Π½Π° Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π·Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅, ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΈ слСдСњС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ кластСри ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ. Π•Π»Π΅Π³Π°Π½Ρ‚Π½Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π° Π²ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π΅Π΄Π΅Π½ слајд ΠΎΠ΄ Луис ЀасСира:
  2. ΠŸΠ°Ρ‚ΠΎΡ‚ Π΄ΠΎ создавањС срСдина Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ насочСна ΠΊΠΎΠ½ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈΡ‚Π΅. Π“ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡƒΠ²Π°ΠΌΠ΅ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΎΡ‚ Ρ‚Π΅ΠΊ Π½Π° Git ΠΈ Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜. Π’Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ ΠΈΠΌΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° ΠΎΠ²Π° Π½Π΅ Π΅ само Π·Π° Git push, Ρ‚ΡƒΠΊΡƒ ΠΈ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ†Π΅Π»ΠΈΠΎΡ‚ сСт Π½Π° Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° CI/CD ΠΈ UI/UX.

НСколку Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ Π·Π° Git

Ако Π½Π΅ стС Π·Π°ΠΏΠΎΠ·Π½Π°Π΅Π½ΠΈ со систСмитС Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Π²Π΅Ρ€Π·ΠΈΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈΠΎΡ‚ Ρ‚Π΅ΠΊ Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Git, Ρ‚ΠΎΠΏΠ»ΠΎ Π²ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡ΡƒΠ²Π°ΠΌΠ΅ Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ Π·Π° Π½ΠΈΠ². Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° со Π³Ρ€Π°Π½ΠΊΠΈ ΠΈ Π±Π°Ρ€Π°ΡšΠ°Ρ‚Π° Π·Π° ΠΏΠΎΠ²Π»Π΅ΠΊΡƒΠ²Π°ΡšΠ΅ ΠΌΠΎΠΆΠ΅Π±ΠΈ Π½Π° ΠΏΠΎΡ‡Π΅Ρ‚ΠΎΠΊΠΎΡ‚ ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ‚ ΠΊΠ°ΠΊΠΎ Ρ†Ρ€Π½Π° магија, Π½ΠΎ ΠΏΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈΡ‚Π΅ Π²Ρ€Π΅Π΄Π°Ρ‚ Π·Π° Ρ‚Ρ€ΡƒΠ΄ΠΎΡ‚. Π•Π²Π΅ Π΄ΠΎΠ±Ρ€Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅.

Како Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° Kubernetes

Π’ΠΎ Π½Π°ΡˆΠ°Ρ‚Π° ΠΏΡ€ΠΈΠΊΠ°Π·Π½Π°, Алис ΠΈ Π‘ΠΎΠ± сС свртСа ΠΊΠΎΠ½ GitOps ΠΎΡ‚ΠΊΠ°ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π° со Kubernetes Π½Π΅ΠΊΠΎΠ΅ Π²Ρ€Π΅ΠΌΠ΅. Навистина, GitOps Π΅ тСсно ΠΏΠΎΠ²Ρ€Π·Π°Π½ со Kubernetes - Ρ‚ΠΎΠ° Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π·Π° инфраструктура ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Kubernetes.

Π¨Ρ‚ΠΎ ΠΈΠΌ Π΄Π°Π²Π° Kubernetes Π½Π° корисницитС?

Π•Π²Π΅ Π½Π΅ΠΊΠΎΠ»ΠΊΡƒ Π³Π»Π°Π²Π½ΠΈ карактСристики:

  1. Π’ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ ΠšΡƒΠ±Π΅Ρ€Π½Π΅Ρ‚Π΅Ρ, сè ΠΌΠΎΠΆΠ΅ Π΄Π° сС опишС Π²ΠΎ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Π° Ρ„ΠΎΡ€ΠΌΠ°.
  2. Π‘Π΅Ρ€Π²Π΅Ρ€ΠΎΡ‚ Kubernetes API ја Π·Π΅ΠΌΠ° ΠΎΠ²Π°Π° Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΡ˜Π° ΠΊΠ°ΠΊΠΎ Π²Π»Π΅Π· ΠΈ ΠΏΠΎΡ‚ΠΎΠ° ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Π½ΠΎ сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π° Π΄Π° Π³ΠΎ Π΄ΠΎΠ²Π΅Π΄Π΅ кластСрот Π²ΠΎ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° опишана Π²ΠΎ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°.
  3. Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ сС Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ Π·Π° ΠΎΠΏΠΈΡˆΡƒΠ²Π°ΡšΠ΅ ΠΈ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΡˆΠΈΡ€ΠΎΠΊ спСктар Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ° - β€žΠ°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈβ€œ.
  4. Како Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ°, ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²ΠΎ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΈ кластСрот сС случуваат ΠΏΠΎΡ€Π°Π΄ΠΈ:
    • ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ сликитС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈΡ‚Π΅;
    • ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ‚Π° ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°;
    • Π³Ρ€Π΅ΡˆΠΊΠΈ Π²ΠΎ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° - Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠ°Ρ“Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€.

Π“ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ способности Π·Π° ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π° Π½Π° ΠšΡƒΠ±Π΅Ρ€Π½Π΅Ρ‚Π΅Ρ

Кога администраторот ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°, оркСстраторот Π½Π° Kubernetes ќС Π³ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈ Π²ΠΎ кластСрот сС Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π΅ Π½Π΅ΠΌΠ° Π΄Π° сС ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠΈ Π΄ΠΎ Π½ΠΎΠ²Π°Ρ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°. Овој ΠΌΠΎΠ΄Π΅Π» Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π° сСкој рСсурс Π½Π° ΠšΡƒΠ±Π΅Ρ€Π½Π΅Ρ‚Π΅Ρ ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΎΡˆΠΈΡ€ΠΈ со ΠΏΡ€ΠΈΠ»Π°Π³ΠΎΠ΄Π΅Π½ΠΈ Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΠΈ Π½Π° рСсурси (CRD). Π—Π°Ρ‚ΠΎΠ°, Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ°Ρ‚Π° Π½Π° Kubernetes Π³ΠΈ ΠΈΠΌΠ°Π°Ρ‚ слСднивС прСкрасни ΡΠ²ΠΎΡ˜ΡΡ‚Π²Π°:

  • ΠΠ²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°: ΠΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ°Ρ‚Π° Π½Π° Kubernetes ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° процСсот Π½Π° Π±Π»Π°Π³ΠΎΠ΄Π°Ρ‚Π½ΠΎ ΠΈ Π½Π°Π²Ρ€Π΅ΠΌΠ΅Π½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅.
  • ΠšΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π°: Kubernetes ќС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈ Π΄Π° сС ΠΎΠ±ΠΈΠ΄ΡƒΠ²Π° со Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° Π΄ΠΎΠ΄Π΅ΠΊΠ° Π½Π΅ успСС.
  • Π˜Π΄Π΅ΠΌΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΡ˜Π°: ΠŸΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΡ‚Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π° Π΄ΠΎΠ²Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ Π΄ΠΎ истиот Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚.
  • Π”Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΠ·Π°ΠΌ: Кога рСсурситС сС Π΄ΠΎΠ²ΠΎΠ»Π½ΠΈ, ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π½ΠΈΠΎΡ‚ кластСр зависи само ΠΎΠ΄ посакуваната ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°.

Како Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° GitOps

Π”ΠΎΠ²ΠΎΠ»Π½ΠΎ Π½Π°ΡƒΡ‡ΠΈΠ²ΠΌΠ΅ Π·Π° Kubernetes Π·Π° Π΄Π° објаснимС ΠΊΠ°ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° GitOps.

Π”Π° сС ​​вратимС Π½Π° микросСрвиснитС Ρ‚ΠΈΠΌΠΎΠ²ΠΈ Π½Π° Family Insurance. Π¨Ρ‚ΠΎ ΠΎΠ±ΠΈΡ‡Π½ΠΎ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΡ€Π°Π²Π°Ρ‚? ΠŸΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ ја листата ΠΏΠΎΠ΄ΠΎΠ»Ρƒ (Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΠΈ ставки Π²ΠΎ Π½Π΅Π³ΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ‚ Ρ‡ΡƒΠ΄Π½ΠΈ ΠΈΠ»ΠΈ Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ, Π²Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ Π²ΠΎΠ·Π΄Ρ€ΠΆΠ΅Ρ‚Π΅ сС Π΄Π° ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒΠ²Π°Ρ‚Π΅ ΠΈ останСтС со нас). Ова сС само ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ Ρ‚Π΅ΠΊΠΎΠ²ΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ЏСнкинс. Има ΠΌΠ½ΠΎΠ³Ρƒ Π΄Ρ€ΡƒΠ³ΠΈ процСси ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со Π΄Ρ€ΡƒΠ³ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ.

Π“Π»Π°Π²Π½Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΅ ΡˆΡ‚ΠΎ Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π΄Π΅ΠΊΠ° сСкоС Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π·Π°Π²Ρ€ΡˆΡƒΠ²Π° со ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ конфигурацискитС Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π°Ρ‚Π° Π½Π° Git. ОвиС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π½Π° Git ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΡƒΠ²Π°Π°Ρ‚ β€žΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΡ‚ GitOpsβ€œ Π΄Π° Π³ΠΎ Π°ΠΆΡƒΡ€ΠΈΡ€Π° кластСрот:

1. Π Π°Π±ΠΎΡ‚Π΅Π½ процСс:ЏСнкинс ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ - господар Π³Ρ€Π°Π½ΠΊΠ°".
Бписок со Π·Π°Π΄Π°Ρ‡ΠΈ:

  • ЏСнкинс Π³ΠΈ Ρ‚ΡƒΡ€ΠΊΠ° ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ‚Π΅ слики Π½Π° ΠšΠ΅Ρ˜ΠΎΡ‚;
  • ЏСнкинс Π³ΠΈ Ρ‚ΡƒΡ€ΠΊΠ° конфигурацискитС Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈ ΠΈ Helm Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈΡ‚Π΅ Π΄ΠΎ Π³Π»Π°Π²Π½Π°Ρ‚Π° ΠΊΠΎΡ„Π° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅;
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° ΠΎΠ±Π»Π°ΠΊ Π³ΠΈ ΠΊΠΎΠΏΠΈΡ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈΡ‚Π΅ ΠΎΠ΄ Π³Π»Π°Π²Π½Π°Ρ‚Π° ΠΊΠΎΡ„Π° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ Π³Π»Π°Π²Π½ΠΈΠΎΡ‚ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ Git;
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΡ‚ GitOps Π³ΠΎ Π°ΠΆΡƒΡ€ΠΈΡ€Π° кластСрот.

2. ЏСнкинс ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ - Π³Ρ€Π°Π½ΠΊΠ° Π·Π° ΠΎΡΠ»ΠΎΠ±ΠΎΠ΄ΡƒΠ²Π°ΡšΠ΅ ΠΈΠ»ΠΈ ТСшка ΠΏΠΎΠΏΡ€Π°Π²ΠΊΠ°:

  • ЏСнкинс Π³ΠΈ Ρ‚ΡƒΡ€ΠΊΠ° Π½Π΅ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ‚Π΅ слики Π½Π° ΠšΠ΅Ρ˜ΠΎΡ‚;
  • ЏСнкинс Π³ΠΈ Ρ‚ΡƒΡ€ΠΊΠ° конфигурацискитС Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈ ΠΈ Helm Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈΡ‚Π΅ Π²ΠΎ ΠΊΠΎΡ„Π°Ρ‚Π° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° сцСна;
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° ΠΎΠ±Π»Π°ΠΊ Π³ΠΈ ΠΊΠΎΠΏΠΈΡ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈΡ‚Π΅ ΠΎΠ΄ ΠΊΠΎΡ„Π°Ρ‚Π° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π½Π° сцСна Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ Π·Π° ΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅ Π½Π° Git;
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΡ‚ GitOps Π³ΠΎ Π°ΠΆΡƒΡ€ΠΈΡ€Π° кластСрот.

3. ЏСнкинс ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ - Ρ€Π°Π·Π²ΠΈΠ²Π° ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΊΠ°ΠΆΡƒΠ²Π° Π³Ρ€Π°Π½ΠΊΠ°:

  • ЏСнкинс Π³ΠΈ Ρ‚ΡƒΡ€ΠΊΠ° Π½Π΅ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ‚Π΅ слики Π½Π° ΠšΠ΅Ρ˜ΠΎΡ‚;
  • ЏСнкинс Π³ΠΈ Ρ‚ΡƒΡ€ΠΊΠ° Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° ΠΈ Helm Π²ΠΎ ΠΊΠΎΡ„Π°Ρ‚Π° Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Ρ€Π°Π·Π²ΠΎΡ˜;
  • Π€ΡƒΠ½ΠΊΡ†ΠΈΡ˜Π°Ρ‚Π° ΠΎΠ±Π»Π°ΠΊ Π³ΠΈ ΠΊΠΎΠΏΠΈΡ€Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π° ΠΈ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ½ΠΈΡ‚Π΅ ΠΎΠ΄ ΠΊΠΎΡ„Π°Ρ‚Π° Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° Git;
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΡ‚ GitOps Π³ΠΎ Π°ΠΆΡƒΡ€ΠΈΡ€Π° кластСрот.

4. Π”ΠΎΠ΄Π°Π²Π°ΡšΠ΅ Π½ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½Ρ‚:

  • ΠœΠ΅Π½Π°ΡŸΠ΅Ρ€ΠΎΡ‚ ΠΈΠ»ΠΈ администраторот (LCM/ops) Π³ΠΎ ΠΏΠΎΠ²ΠΈΠΊΡƒΠ²Π° Gradle ΠΏΡ€Π²ΠΈΡ‡Π½ΠΎ Π΄Π° Π³ΠΈ распорСди ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° ΠΌΡ€Π΅ΠΆΠ½ΠΈΡ‚Π΅ балансСри Π½Π° ΠΎΠΏΡ‚ΠΎΠ²Π°Ρ€ΡƒΠ²Π°ΡšΠ΅ (NLB);
  • LCM/ops ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π° Π½ΠΎΠ²Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π·Π° Π΄Π° Π³ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π·Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ°;
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΡ‚ GitOps Π³ΠΎ Π°ΠΆΡƒΡ€ΠΈΡ€Π° кластСрот.

ΠšΡ€Π°Ρ‚ΠΎΠΊ опис Π½Π° GitOps

  1. ΠžΠΏΠΈΡˆΠ΅Ρ‚Π΅ ја саканата ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π½Π° Ρ†Π΅Π»ΠΈΠΎΡ‚ систСм ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ спСцификации Π·Π° сСкоја срСдина (Π²ΠΎ Π½Π°ΡˆΠ°Ρ‚Π° ΠΏΡ€ΠΈΠΊΠ°Π·Π½Π°, Ρ‚ΠΈΠΌΠΎΡ‚ Π½Π° Π‘ΠΎΠ± ја Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° Ρ†Π΅Π»Π°Ρ‚Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π° Π½Π° систСмот Π²ΠΎ Git).
    • Π Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΡƒΠΌΠΎΡ‚ Git Π΅ СдинствСниот ΠΈΠ·Π²ΠΎΡ€ Π½Π° вистината Π²ΠΎ однос Π½Π° посакуваната ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π½Π° Ρ†Π΅Π»ΠΈΠΎΡ‚ систСм.
    • Π‘ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ посакуваната ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° сС ΠΏΡ€Π°Π²Π°Ρ‚ ΠΏΡ€Π΅ΠΊΡƒ Π·Π°Π»ΠΎΠΆΠ±ΠΈ Π²ΠΎ Git.
    • Π‘ΠΈΡ‚Π΅ посакувани ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° кластСрот исто Ρ‚Π°ΠΊΠ° сС Π½Π°Π±Ρ™ΡƒΠ΄ΡƒΠ²Π°Π°Ρ‚ Π²ΠΎ самиот кластСр. На овој Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° ΡƒΡ‚Π²Ρ€Π΄ΠΈΠΌΠ΅ Π΄Π°Π»ΠΈ Ρ‚ΠΈΠ΅ сС совпаѓаат (ΠΊΠΎΠ½Π²Π΅Ρ€Π³ΠΈΡ€Π°Π°Ρ‚, ΠΊΠΎΠ½Π²Π΅Ρ€Π³ΠΈΡ€Π°Π°Ρ‚) ΠΈΠ»ΠΈ сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π°Π°Ρ‚ (Ρ€Π°Π·ΠΌΠΈΠ½ΡƒΠ²Π°Π°Ρ‚, сС Ρ€Π°Π·ΠΌΠΈΠ½ΡƒΠ²Π°Π°Ρ‚) посакуванитС ΠΈ Π½Π°Π±Ρ™ΡƒΠ΄ΡƒΠ²Π°Π½ΠΈΡ‚Π΅ ΡΠΎΡΡ‚ΠΎΡ˜Π±ΠΈ.
  2. Ако посакуванитС ΠΈ Π½Π°Π±Ρ™ΡƒΠ΄ΡƒΠ²Π°Π½ΠΈΡ‚Π΅ ΡΠΎΡΡ‚ΠΎΡ˜Π±ΠΈ сС Ρ€Π°Π·Π»ΠΈΠΊΡƒΠ²Π°Π°Ρ‚, Ρ‚ΠΎΠ³Π°Ρˆ:
    • ΠŸΠΎΡΡ‚ΠΎΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π° кој ΠΏΠΎΡ€Π°Π½ΠΎ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΎΡ†Π½Π° автоматски Π³ΠΈ синхронизира Ρ†Π΅Π»Π½ΠΈΡ‚Π΅ ΠΈ Π½Π°Π±Ρ™ΡƒΠ΄ΡƒΠ²Π°Π½ΠΈΡ‚Π΅ ΡΠΎΡΡ‚ΠΎΡ˜Π±ΠΈ. Π’Π½Π°Ρ‚Ρ€Π΅ Π²ΠΎ кластСрот, ΠšΡƒΠ±Π΅Ρ€Π½Π΅Ρ‚Π΅Ρ Π³ΠΎ ΠΏΡ€Π°Π²ΠΈ ΠΎΠ²Π°.
    • ΠŸΡ€ΠΎΡ†Π΅ΡΠΎΡ‚ Π·Π°ΠΏΠΎΡ‡Π½ΡƒΠ²Π° вСднаш со ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ β€žΠΏΠΎΠ²Ρ€ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π°β€œ.
    • По ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ врСмСнски ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°, ΠΌΠΎΠΆΠ΅ Π΄Π° сС испрати ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ β€žΡ€Π°Π·Π»ΠΈΠΊΠ°β€œ Π΄ΠΎΠΊΠΎΠ»ΠΊΡƒ ΡΠΎΡΡ‚ΠΎΡ˜Π±ΠΈΡ‚Π΅ сС Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ.
  3. На овој Π½Π°Ρ‡ΠΈΠ½, ситС обврски Π²ΠΎ Git ΠΏΡ€Π΅Π΄ΠΈΠ·Π²ΠΈΠΊΡƒΠ²Π°Π°Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π»ΠΈΠ²ΠΈ ΠΈ нСмоќни Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° Π½Π° кластСрот.
    • Π’Ρ€Π°ΡœΠ°ΡšΠ΅ Π΅ ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π° ΠΊΠΎΠ½ ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ посакуваната ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°.
  4. ΠšΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π°Ρ‚Π° Π΅ ΠΊΠΎΠ½Π΅Ρ‡Π½Π°. НСговата појава Π΅ ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π° со:
    • НСма ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ° Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° Π·Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ врСмСнски ΠΏΠ΅Ρ€ΠΈΠΎΠ΄.
    • β€žΠΊΠΎΠ½Π²Π΅Ρ€Π³ΠΈΡ€Π°Π½Π°β€œ Ρ‚Ρ€Π΅Π²ΠΎΠ³Π° (Π½Π° ΠΏΡ€. webhook, настан Π·Π° Π²Ρ€Π°ΡœΠ°ΡšΠ΅ Π½Π° Git).

Π¨Ρ‚ΠΎ Π΅ Π΄ΠΈΠ²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π°?

Π”Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌΠ΅ ΡƒΡˆΡ‚Π΅ Сднаш: ситС посакувани ΡΠ²ΠΎΡ˜ΡΡ‚Π²Π° Π½Π° кластСрот ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π°Ρ‚ Π·Π°Π±Π΅Π»Π΅ΠΆΠ»ΠΈΠ²ΠΈ Π²ΠΎ самиот кластСр.

НСкои ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π½Π° Π΄ΠΈΠ²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π°:

  • ΠŸΡ€ΠΎΠΌΠ΅Π½Π° Π²ΠΎ конфигурациската Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΡ€Π°Π΄ΠΈ ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ Π³Ρ€Π°Π½ΠΊΠΈ Π²ΠΎ Git.
  • ΠŸΡ€ΠΎΠΌΠ΅Π½Π° Π²ΠΎ конфигурациската Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠ° ΠΏΠΎΡ€Π°Π΄ΠΈ Git commit Π½Π°ΠΏΡ€Π°Π²Π΅Π½ ΠΎΠ΄ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ GUI.
  • ΠŸΠΎΠ²Π΅ΡœΠ΅ΠΊΡ€Π°Ρ‚Π½ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ саканата ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° ΠΏΠΎΡ€Π°Π΄ΠΈ PR Π²ΠΎ Git прослСдСни со Π³Ρ€Π°Π΄Π΅ΡšΠ΅ Π½Π° сликата Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°Ρ‚Π°.
  • ΠŸΡ€ΠΎΠΌΠ΅Π½Π° Π²ΠΎ ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°Ρ‚Π° Π½Π° кластСрот ΠΏΠΎΡ€Π°Π΄ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ°, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ со рСсурси ΡˆΡ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚ΠΈΡ€Π° со β€žΠ»ΠΎΡˆΠΎ ΠΎΠ΄Π½Π΅ΡΡƒΠ²Π°ΡšΠ΅β€œ ΠΈΠ»ΠΈ Сдноставно ΡΠ»ΡƒΡ‡Π°Ρ˜Π½ΠΎ ΠΎΡ‚ΡΡ‚Π°ΠΏΡƒΠ²Π°ΡšΠ΅ ΠΎΠ΄ ΠΏΡ€Π²ΠΎΠ±ΠΈΡ‚Π½Π°Ρ‚Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°.

Кој Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΡ‚ Π½Π° ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π°?

НСколку ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ:

  • Π—Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ ΠΈ кластСри, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΡ‚ Π·Π° ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π° Π΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅Π½ ΠΎΠ΄ Kubernetes.
  • Π˜ΡΡ‚ΠΈΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ дизајни Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Kubernetes (ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС Istio ΠΈ Kubeflow).
  • ΠžΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ‚Π° ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ†ΠΈΡ˜Π° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ Kubernetes, ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π·Π° слики ΠΈ Git GitOps ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Weave Flux, кој Π΅ Π΄Π΅Π» Π’ΠΊΠ°Π°Ρ‚ ΠΎΠ±Π»Π°ΠΊ.
  • Π—Π° основнитС машини, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΡ‚ Π·Π° ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π° ΠΌΠΎΡ€Π° Π΄Π° Π±ΠΈΠ΄Π΅ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΈ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ΅Π½. Од сопствСното искуство ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΊΠ°ΠΆΠ΅ΠΌΠ΅ Ρ‚ΠΎΠ° Terraform Π½Π°Ρ˜Π±Π»ΠΈΡΠΊΡƒ Π΄ΠΎ ΠΎΠ²Π°Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°, Π½ΠΎ сСпак Π±Π°Ρ€Π° Ρ‡ΠΎΠ²Π΅Ρ‡ΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°. Π’ΠΎ ΠΎΠ²Π°Π° смисла, GitOps ја ΠΏΡ€ΠΎΡˆΠΈΡ€ΡƒΠ²Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΡ˜Π°Ρ‚Π° Π½Π° Infrastructure as Code.

GitOps Π³ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π° Git со ΠΎΠ΄Π»ΠΈΡ‡Π½ΠΈΠΎΡ‚ ΠΌΠΎΡ‚ΠΎΡ€ Π·Π° ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π° Π½Π° Kubernetes Π·Π° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΌΠΎΠ΄Π΅Π» Π·Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°Ρ‚Π°Ρ†ΠΈΡ˜Π°.

GitOps Π½ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌΠ΅: Π‘Π°ΠΌΠΎ ΠΎΠ½ΠΈΠ΅ систСми ΡˆΡ‚ΠΎ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° сС ΠΎΠΏΠΈΡˆΠ°Ρ‚ ΠΈ Π½Π°Π±Ρ™ΡƒΠ΄ΡƒΠ²Π°Π°Ρ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π°Ρ‚ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π°Ρ‚.

GitOps Π΅ Π½Π°ΠΌΠ΅Π½Π΅Ρ‚ Π·Π° Ρ†Π΅Π»ΠΈΠΎΡ‚ ΠΌΠ°Π³Π°Ρ†ΠΈΠ½ Π½Π° ΠΎΠ±Π»Π°ΠΊ (Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Terraform, ΠΈΡ‚Π½.)

GitOps Π½Π΅ Π΅ само Kubernetes. Π‘Π°ΠΊΠ°ΠΌΠ΅ Ρ†Π΅Π»ΠΈΠΎΡ‚ систСм Π΄Π° сС Π²ΠΎΠ·ΠΈ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈ Π΄Π° користи ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π°. Под Ρ†Π΅Π»ΠΈΠΎΡ‚ систСм ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°ΠΌΠ΅ Π·Π±ΠΈΡ€ΠΊΠ° срСдини ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ со Kubernetes - Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, β€ždev кластСр 1β€œ, β€žΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡ‚Π²ΠΎβ€œ ΠΈΡ‚Π½. БСкоја срСдина Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π° машини, кластСри, Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊΠΎ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅Ρ˜ΡΠΈ Π·Π° Π½Π°Π΄Π²ΠΎΡ€Π΅ΡˆΠ½ΠΈ услуги ΠΊΠΎΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°Π°Ρ‚ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ сл.

Π—Π°Π±Π΅Π»Π΅ΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠ»ΠΊΡƒ Terraform Π΅ Π²Π°ΠΆΠ΅Π½ Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΡ‚ со подигањС Π²ΠΎ овој ΡΠ»ΡƒΡ‡Π°Ρ˜. Kubernetes ΠΌΠΎΡ€Π° Π΄Π° сС распорСди Π½Π΅ΠΊΠ°Π΄Π΅, Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ Π½Π° Terraform Π·Π½Π°Ρ‡ΠΈ Π΄Π΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ΠΌΠ΅ Π΄Π° Π³ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌΠ΅ иститС Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ Ρ‚Π΅ΠΊΠΎΠ²ΠΈ Π½Π° GitOps Π·Π° Π΄Π° создадСмС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅Π½ слој ΡˆΡ‚ΠΎ Π³ΠΈ ΠΏΠΎΡ‚ΠΏΠΈΡ€Π° Kubernetes ΠΈ Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈΡ‚Π΅. Ова Π΅ корисна Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°.

Има силСн фокус Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Π½Π° Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ΠΈΡ‚Π΅ Π½Π° GitOps Π½Π° слоСви Π½Π° Π²Ρ€Π²ΠΎΡ‚ Π½Π° ΠšΡƒΠ±Π΅Ρ€Π½Π΅Ρ‚. Π’ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠΎΡΡ‚ΠΎΡ˜Π°Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π° ΠΎΠ΄ Ρ‚ΠΈΠΏΠΎΡ‚ GitOps Π·Π° Istio, Helm, Ksonnet, OpenFaaS ΠΈ Kubeflow, ΠΊΠ°ΠΊΠΎ ΠΈ, Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π·Π° Pulumi, ΠΊΠΎΠΈ создаваат слој Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π·Π° cloud native.

Kubernetes CI/CD: ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° GitOps со Π΄Ρ€ΡƒΠ³ΠΈ пристапи

Како ΡˆΡ‚ΠΎ Π΅ Π½Π°Π²Π΅Π΄Π΅Π½ΠΎ, GitOps Π΅ Π΄Π²Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ:

  1. ΠœΠΎΠ΄Π΅Π»ΠΎΡ‚ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π·Π° Kubernetes ΠΈ ΠΌΠ°Ρ˜Ρ‡ΠΈΠ½ ΠΎΠ±Π»Π°ΠΊ опишан ΠΏΠΎΠ³ΠΎΡ€Π΅.
  2. ΠŸΠ°Ρ‚ΠΎΡ‚ Π΄ΠΎ ΠΎΠΏΠΊΡ€ΡƒΠΆΡƒΠ²Π°ΡšΠ΅ Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ насочСни ΠΊΠΎΠ½ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈΡ‚Π΅.

Π—Π° ΠΌΠ½ΠΎΠ³ΡƒΠΌΠΈΠ½Π°, GitOps Π΅ првСнствСно Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Ρ‚Π΅ΠΊ заснован Π½Π° Git pushs. И Ρ‚ΠΎΡ˜ Π½ΠΈ сС Π΄ΠΎΠΏΠ°Ρ“Π°. Но, Ρ‚ΠΎΠ° Π½Π΅ Π΅ сè: ајдС сСга Π΄Π° Π³ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅ΠΌΠ΅ Ρ†Π΅Π²ΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅ CI/CD.

GitOps ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ (Π¦Π”) Π·Π° Kubernetes

GitOps Π½ΡƒΠ΄ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ ΡˆΡ‚ΠΎ ја Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π°Ρ‚Π° ΠΎΠ΄ посСбни β€žΡΠΈΡΡ‚Π΅ΠΌΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎβ€œ. Kubernetes ја Π²Ρ€ΡˆΠΈ Ρ†Π΅Π»Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π° Π·Π° вас.

  • ΠΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π°Ρ‚Π° Π±Π°Ρ€Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π²ΠΎ Git. Ова Π΅ трансакциско Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π΄ΠΎ посакуваната ΡΠΎΡΡ‚ΠΎΡ˜Π±Π°. β€žΠ Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎβ€œ ΠΏΠΎΡ‚ΠΎΠ° сС Π²Ρ€ΡˆΠΈ Π²ΠΎ кластСрот ΠΎΠ΄ самиот ΠšΡƒΠ±Π΅Ρ€Π½Π΅Ρ‚Π΅Ρ Π²Ρ€Π· основа Π½Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π½ΠΈΠΎΡ‚ опис.
  • ΠŸΠΎΡ€Π°Π΄ΠΈ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π°Ρ‚Π° Π½Π° Ρ‚ΠΎΠ° ΠΊΠ°ΠΊΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€Π° Kubernetes, ΠΎΠ²ΠΈΠ΅ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° сС ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ‚Π½ΠΈ. Ова ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·Π°ΠΌ Π·Π° ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½ΠΎ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ ΠΊΠΎΠ΅ ситС Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° сС атомски.
  • Π—Π°Π±Π΅Π»Π΅ΡˆΠΊΠ°: Π’ΠΊΠ°Π°Ρ‚ ΠΎΠ±Π»Π°ΠΊ Π½ΡƒΠ΄ΠΈ GitOps ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ кој Π³ΠΈ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π° Git ΠΈ Kubernetes ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡƒΠ²Π° Π¦Π” Π΄Π° сС ΠΈΠ·Π²Π΅Π΄ΡƒΠ²Π° со ΡƒΡΠΎΠ³Π»Π°ΡΡƒΠ²Π°ΡšΠ΅ Π½Π° саканата ΠΈ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Π»Π½Π°Ρ‚Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π½Π° кластСрот.

Π‘Π΅Π· kubectl ΠΈ скрипти

Π’Ρ€Π΅Π±Π° Π΄Π° ΠΈΠ·Π±Π΅Π³Π½ΡƒΠ²Π°Ρ‚Π΅ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Kubectl Π·Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π²Π°ΡˆΠΈΠΎΡ‚ кластСр, Π° особСно ΠΈΠ·Π±Π΅Π³Π½ΡƒΠ²Π°Ρ˜Ρ‚Π΅ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ скрипти Π·Π° Π³Ρ€ΡƒΠΏΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π½Π° kubectl. НамСсто Ρ‚ΠΎΠ°, со гасоводот GitOps, корисникот ΠΌΠΎΠΆΠ΅ Π΄Π° Π³ΠΎ Π°ΠΆΡƒΡ€ΠΈΡ€Π° ΡΠ²ΠΎΡ˜ΠΎΡ‚ кластСр Kubernetes ΠΏΡ€Π΅ΠΊΡƒ Git.

ΠŸΡ€ΠΈΠ΄ΠΎΠ±ΠΈΠ²ΠΊΠΈΡ‚Π΅ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Π°Ρ‚:

  1. Π’ΠΎ ΠΏΡ€Π°Π²ΠΎ. Π“Ρ€ΡƒΠΏΠ° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΏΡ€ΠΈΠΌΠ΅Π½Π°Ρ‚, ΠΊΠΎΠ½Π²Π΅Ρ€Π³ΠΈΡ€Π°Π°Ρ‚ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ Π΄Π° сС ΠΏΠΎΡ‚Π²Ρ€Π΄Π°Ρ‚, ΡˆΡ‚ΠΎ Π½Γ¨ Π΄ΠΎΠ±Π»ΠΈΠΆΡƒΠ²Π° Π΄ΠΎ Ρ†Π΅Π»Ρ‚Π° Π·Π° атомско Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅. Π‘ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎ Π½Π° Ρ‚ΠΎΠ°, ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅Ρ‚ΠΎ скрипти Π½Π΅ Π΄Π°Π²Π° Π½ΠΈΠΊΠ°ΠΊΠ²Π° Π³Π°Ρ€Π°Π½Ρ†ΠΈΡ˜Π° Π·Π° ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π° (повСќС Π·Π° ΠΎΠ²Π° ΠΏΠΎΠ΄ΠΎΠ»Ρƒ).
  2. бСзбСдност. Π¦ΠΈΡ‚ΠΈΡ€Π°ΡšΠ΅ КСлси Π₯Π°Ρ˜Ρ‚Π°ΡƒΠ΅Ρ€: β€žΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Ρ‚Π΅ Π³ΠΎ пристапот Π΄ΠΎ Π²Π°ΡˆΠΈΠΎΡ‚ кластСр Kubernetes Π½Π° Π°Π»Π°Ρ‚ΠΊΠΈΡ‚Π΅ Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ˜Π° ΠΈ администраторитС ΠΊΠΎΠΈ сС ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ Π·Π° Π΄Π΅Π±Π°Π³ΠΈΡ€Π°ΡšΠ΅ ΠΈΠ»ΠΈ ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°ΡšΠ΅β€œ. исто Ρ‚Π°ΠΊΠ° Π²ΠΈΠ΄ΠΈ ΠΌΠΎΡ˜Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡ˜Π° Π·Π° бСзбСдноста ΠΈ усогласСноста со Ρ‚Π΅Ρ…Π½ΠΈΡ‡ΠΊΠΈΡ‚Π΅ спСцификации, ΠΊΠ°ΠΊΠΎ ΠΈ ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° Π·Π° Ρ…Π°ΠΊΠΈΡ€Π°ΡšΠ΅ Π½Π° Homebrew со ΠΊΡ€Π°ΠΆΠ±Π° Π½Π° ΠΈΠ½Π³Π΅Ρ€Π΅Π½Ρ†ΠΈΠΈΡ‚Π΅ ΠΎΠ΄ Π½Π΅Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»Π½ΠΎ Π½Π°ΠΏΠΈΡˆΠ°Π½ΠΎΡ‚ΠΎ сцСнарио Π½Π° ЏСнкинс.
  3. ΠšΠΎΡ€ΠΈΡΠ½ΠΈΡ‡ΠΊΠΎ искуство. ΠšΡƒΠ±Π΅ΠΊΡ‚Π» ја ΠΈΠ·Π»ΠΎΠΆΡƒΠ²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ°Ρ‚Π° Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ Π½Π° ΠΎΠ±Ρ˜Π΅ΠΊΡ‚ΠΈ ΠšΡƒΠ±Π΅Ρ€Π½Π΅Ρ‚Π΅Ρ, ΠΊΠΎΠΈ сС доста слоТСни. ИдСално, корисницитС Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚ со систСмот Π½Π° повисоко Π½ΠΈΠ²ΠΎ Π½Π° Π°ΠΏΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡ˜Π°. Π’ΡƒΠΊΠ° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ќС сС осврнам Π½Π° КСлси ΠΈ ќС ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡Π°ΠΌ Π΄Π° Π³Π»Π΅Π΄Π°Ρ‚Π΅ Ρ‚Π°ΠΊΠ²Π° Π±ΠΈΠΎΠ³Ρ€Π°Ρ„ΠΈΡ˜Π°.

Π Π°Π·Π»ΠΈΠΊΠ° ΠΏΠΎΠΌΠ΅Ρ“Ρƒ CI ΠΈ CD

GitOps Π³ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΡƒΠ²Π° постоСчкитС ΠΌΠΎΠ΄Π΅Π»ΠΈ CI/CD.

ΠœΠΎΠ΄Π΅Ρ€Π΅Π½ CI сСрвСр Π΅ оркСстрациона Π°Π»Π°Ρ‚ΠΊΠ°. ОсобСно, Ρ‚ΠΎΠ° Π΅ Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° ΠΎΡ€ΠΊΠ΅ΡΡ‚Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° Ρ†Π΅Π²ΠΊΠΎΠ²ΠΎΠ΄ΠΈ CI. Π’ΠΈΠ΅ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Π°Ρ‚ ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°, Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅, ΡΠΏΠΎΡ˜ΡƒΠ²Π°ΡšΠ΅ Π²ΠΎ Π±Π°Π³Π°ΠΆΠ½ΠΈΠΊΠΎΡ‚ ΠΈΡ‚Π½. CI сСрвСритС Π³ΠΎ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π°Ρ‚ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со слоТСни ΠΏΠΎΠ²Π΅ΡœΠ΅ΡΡ‚Π΅ΠΏΠ΅Π½ΠΈ Ρ†Π΅Π²ΠΊΠΎΠ²ΠΎΠ΄ΠΈ. Π’ΠΎΠΎΠ±ΠΈΡ‡Π°Π΅Π½ΠΎ ΠΈΡΠΊΡƒΡˆΠ΅Π½ΠΈΠ΅ Π΅ Π΄Π° сС скриптира Π·Π±ΠΈΡ€ Π½Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° Π½Π° Kubernetes ΠΈ Π΄Π° сС ΠΈΠ·Π²Ρ€ΡˆΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π΅Π» ΠΎΠ΄ гасоводот Π·Π° Π΄Π° сС ΠΏΠΎΡ‚Ρ‚ΠΈΠΊΠ½Π°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π²ΠΎ кластСрот. Навистина, Ρ‚ΠΎΠ° Π΅ ΠΎΠ½Π° ΡˆΡ‚ΠΎ Π³ΠΎ ΠΏΡ€Π°Π²Π°Ρ‚ ΠΌΠ½ΠΎΠ³Ρƒ СкспСрти. Π‘Π΅ΠΏΠ°ΠΊ, ΠΎΠ²Π° Π½Π΅ Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎ, Π° Π΅Π²Π΅ Π·ΠΎΡˆΡ‚ΠΎ.

CI Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС користи Π·Π° ΠΏΡ€ΠΈΡ‚ΠΈΡΠΊΠ°ΡšΠ΅ Π½Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ°Ρ‚Π° Π΄ΠΎ Π±Π°Π³Π°ΠΆΠ½ΠΈΠΊΠΎΡ‚, Π° кластСрот Kubernetes Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ самиот Π²Ρ€Π· основа Π½Π° Ρ‚ΠΈΠ΅ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° Π·Π° Π΄Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π° со Π¦Π”-Ρ‚ΠΎ Π²Π½Π°Ρ‚Ρ€Π΅ΡˆΠ½ΠΎ. НиС Π³ΠΎ Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π°ΠΌΠ΅ Π²Π»Π΅Ρ‡Π΅ ΠΌΠΎΠ΄Π΅Π» Π·Π° Π¦Π”, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΎΡ‚ CI push. Π¦Π”-Ρ‚ΠΎ Π΅ Π΄Π΅Π» Ρ‚Ρ€Π°Π΅ΡšΠ΅ ΠΎΡ€ΠΊΠ΅ΡΡ‚Ρ€Π°Ρ†ΠΈΡ˜Π°.

Π—ΠΎΡˆΡ‚ΠΎ CI сСрвСритС Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΏΡ€Π°Π²Π°Ρ‚ Π¦Π”-Π° ΠΏΡ€Π΅ΠΊΡƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° Π²ΠΎ Kubernetes

НС користСтС CI сСрвСр Π·Π° ΠΎΡ€ΠΊΠ΅ΡΡ‚Ρ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΈ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° Π½Π° Kubernetes ΠΊΠ°ΠΊΠΎ Π·Π±ΠΈΡ€ Π½Π° CI Π·Π°Π΄Π°Ρ‡ΠΈ. Ова Π΅ Π°Π½Ρ‚ΠΈ-ΡˆΠ°Π±Π»ΠΎΠ½ΠΎΡ‚ Π·Π° кој Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ вСќС ΠΊΠ°ΠΆΠ°Π½ΠΎ Π½Π° Π²Π°ΡˆΠΈΠΎΡ‚ Π±Π»ΠΎΠ³.

Π”Π° сС ​​вратимС Π½Π° Алиса ΠΈ Π‘ΠΎΠ±.

Π‘ΠΎ ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ сС ΡΠΎΠΎΡ‡ΠΈΡ˜Π°? CI сСрвСрот Π½Π° Π‘ΠΎΠ± Π³ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡƒΠ²Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° кластСрот, Π½ΠΎ Π°ΠΊΠΎ сС ΡƒΡ€Π½Π° Π²ΠΎ процСсот, Π‘ΠΎΠ± Π½Π΅ΠΌΠ° Π΄Π° Π·Π½Π°Π΅ Π²ΠΎ ΠΊΠ°ΠΊΠ²Π° ΡΠΎΡΡ‚ΠΎΡ˜Π±Π° Π΅ (ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π±ΠΈΠ΄Π΅) кластСрот ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π³ΠΎ ΠΏΠΎΠΏΡ€Π°Π²ΠΈ. Π˜ΡΡ‚ΠΎΡ‚ΠΎ Π²Π°ΠΆΠΈ ΠΈ Π²ΠΎ ΡΠ»ΡƒΡ‡Π°Ρ˜ Π½Π° успСх.

Π”Π° прСтпоставимС Π΄Π΅ΠΊΠ° Ρ‚ΠΈΠΌΠΎΡ‚ Π½Π° Π‘ΠΎΠ± ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠ» Π½ΠΎΠ²Π° слика ΠΈ ΠΏΠΎΡ‚ΠΎΠ° Π³ΠΈ Π·Π°ΠΊΡ€ΠΏΠΈΠ»Π° Π½ΠΈΠ²Π½ΠΈΡ‚Π΅ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ° Π·Π° Π΄Π° ја распорСдат сликата (ситС ΠΎΠ΄ гасоводот CI).

Ако сликата сС ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ, Π½ΠΎ гасоводот Π½Π΅ успСС, Ρ‚ΠΈΠΌΠΎΡ‚ ќС ΠΌΠΎΡ€Π° Π΄Π° ΠΎΡ‚ΠΊΡ€ΠΈΠ΅:

  • Π”Π°Π»ΠΈ ΠΈΠ·Π»Π΅Π·Π΅ Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ?
  • Π”Π°Π»ΠΈ лансирамС Π½ΠΎΠ²Π° Π³Ρ€Π°Π΄Π±Π°? Π”Π°Π»ΠΈ ΠΎΠ²Π° ќС Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π΅ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΈ Π½ΡƒΡΠΏΠΎΡ˜Π°Π²ΠΈ - со моТност Π΄Π° ΠΈΠΌΠ° Π΄Π²Π΅ Π³Ρ€Π°Π΄Π±ΠΈ со иста Π½Π΅ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° слика?
  • Π”Π°Π»ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° Π³ΠΎ Ρ‡Π΅ΠΊΠ°ΠΌΠ΅ слСдното Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ ΠΏΡ€Π΅Π΄ Π΄Π° ја ΠΈΠ·Π²Ρ€ΡˆΠΈΠΌΠ΅ ΠΈΠ·Π³Ρ€Π°Π΄Π±Π°Ρ‚Π°?
  • Π¨Ρ‚ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Ρ€Π³Π½Π° Π½Π°ΠΎΠΏΠ°ΠΊΡƒ? Кои Ρ‡Π΅ΠΊΠΎΡ€ΠΈ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π°Ρ‚ (ΠΈ ΠΊΠΎΠΈ сС Π±Π΅Π·Π±Π΅Π΄Π½ΠΈ Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡƒΠ²Π°ΡšΠ΅)?

Π’ΠΎΡΠΏΠΎΡΡ‚Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅Π½ Ρ‚Π΅ΠΊ заснован Π½Π° Git Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° Π΄Π΅ΠΊΠ° Ρ‚ΠΈΠΌΠΎΡ‚ Π½Π° Π‘ΠΎΠ± Π½Π΅ΠΌΠ° Π΄Π° сС соочи со ΠΎΠ²ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π’ΠΈΠ΅ сè ΡƒΡˆΡ‚Π΅ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° Π½Π°ΠΏΡ€Π°Π²Π°Ρ‚ Π³Ρ€Π΅ΡˆΠΊΠ° со ΠΏΡ€ΠΈΡ‚ΠΈΡΠΊΠ°ΡšΠ΅Ρ‚ΠΎ Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅, ΠΎΠ·Π½Π°ΠΊΠ°Ρ‚Π° ΠΈΠ»ΠΈ нСкој Π΄Ρ€ΡƒΠ³ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Π°Ρ€; сСпак, овој пристап Π΅ сè ΡƒΡˆΡ‚Π΅ ΠΌΠ½ΠΎΠ³Ρƒ поблиску Π΄ΠΎ СксплицитСн пристап β€žΡΠ΅ ΠΈΠ»ΠΈ Π½ΠΈΡˆΡ‚ΠΎβ€œ.

Π”Π° Ρ€Π΅Π·ΠΈΠΌΠΈΡ€Π°ΠΌΠ΅, Π΅Π²Π΅ Π·ΠΎΡˆΡ‚ΠΎ CI сСрвСритС Π½Π΅ Ρ‚Ρ€Π΅Π±Π° Π΄Π° сС Π·Π°Π½ΠΈΠΌΠ°Π²Π°Π°Ρ‚ со Π¦Π”:

  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΈΡ‚Π΅ Π·Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π΅ сС сСкогаш дСтСрминистички; ЛСсно Π΅ Π΄Π° сС ΠΏΡ€Π°Π²Π°Ρ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ Π²ΠΎ Π½ΠΈΠ².
  • CI сСрвСритС Π½Π΅ сС ΡΠΏΠΎΡ˜ΡƒΠ²Π°Π°Ρ‚ со Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΠΎΡ‚ кластСр ΠΌΠΎΠ΄Π΅Π».
  • ВСшко Π΅ Π΄Π° сС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° ΠΈΠΌΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΡ˜Π°. ΠšΠΎΡ€ΠΈΡΠ½ΠΈΡ†ΠΈΡ‚Π΅ ΠΌΠΎΡ€Π° Π΄Π° ја Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ Π΄Π»Π°Π±ΠΎΠΊΠ°Ρ‚Π° сСмантика Π½Π° систСмот.
  • ΠŸΠΎΡ‚Π΅ΡˆΠΊΠΎ Π΅ Π΄Π° сС ΠΎΠΏΠΎΡ€Π°Π²ΠΈ ΠΏΠΎ Π΄Π΅Π»ΡƒΠΌΠ΅Π½ нСуспСх.

Π—Π°Π±Π΅Π»Π΅ΡˆΠΊΠ° Π·Π° Helm: Ако сакатС Π΄Π° Π³ΠΎ користитС Helm, ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡ΡƒΠ²Π°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ со GitOps ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠ°ΠΊΠΎ Π½Π° ΠΏΡ€. Ѐлукс-Π₯Π΅Π»ΠΌ. Ова ќС ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π°. Π‘Π°ΠΌΠΈΠΎΡ‚ шлСм Π½Π΅ Π΅ Π½ΠΈΡ‚Ρƒ дСтСрминистички Π½ΠΈΡ‚Ρƒ атомски.

GitOps ΠΊΠ°ΠΊΠΎ Π½Π°Ρ˜Π΄ΠΎΠ±Π°Ρ€ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΡΠΏΡ€ΠΎΠ²Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° испорака Π·Π° Kubernetes

Π’ΠΈΠΌΠΎΡ‚ Π½Π° Алис ΠΈ Π‘ΠΎΠ± ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° GitOps ΠΈ ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π° Π΄Π΅ΠΊΠ° стана ΠΌΠ½ΠΎΠ³Ρƒ полСсно Π΄Π° сС Ρ€Π°Π±ΠΎΡ‚ΠΈ со софтвСрски ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈ, Π΄Π° сС ΠΎΠ΄Ρ€ΠΆΡƒΠ²Π°Π°Ρ‚ високи пСрформанси ΠΈ стабилност. Π”Π° ја Π·Π°Π²Ρ€ΡˆΠΈΠΌΠ΅ ΠΎΠ²Π°Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π° со ΠΈΠ»ΡƒΡΡ‚Ρ€Π°Ρ†ΠΈΡ˜Π° ΡˆΡ‚ΠΎ ΠΏΠΎΠΊΠ°ΠΆΡƒΠ²Π° ΠΊΠ°ΠΊΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π° Π½ΠΈΠ²Π½ΠΈΠΎΡ‚ Π½ΠΎΠ² пристап. Π˜ΠΌΠ°Ρ˜Ρ‚Π΅ Π½Π° ΡƒΠΌ Π΄Π΅ΠΊΠ° Π½Π°Ρ˜Ρ‡Π΅ΡΡ‚ΠΎ Π·Π±ΠΎΡ€ΡƒΠ²Π°ΠΌΠ΅ Π·Π° Π°ΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ услуги, Π½ΠΎ GitOps ΠΌΠΎΠΆΠ΅ Π΄Π° сС користи Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со Ρ†Π΅Π»Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.

ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π·Π° Kubernetes

ΠŸΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ Π³ΠΎ слСдниот Π΄ΠΈΡ˜Π°Π³Ρ€Π°ΠΌ. Π“ΠΈ прСтставува Git ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ Π·Π° слики Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ ΠΊΠ°ΠΊΠΎ сподСлСни рСсурси Π·Π° Π΄Π²Π° оркСстрирани ΠΆΠΈΠ²ΠΎΡ‚Π½ΠΈ циклуси:

  • ΠšΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° интСграциска линија која Ρ‡ΠΈΡ‚Π° ΠΈ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ Git ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π° ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ Π½Π° слики ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ.
  • Runtime GitOps Ρ†Π΅Π²ΠΊΠΎΠ²ΠΎΠ΄ кој ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅ со ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΈ Π½Π°Π±Ρ™ΡƒΠ΄ΡƒΠ²Π°ΡšΠ΅. Π§ΠΈΡ‚Π° ΠΈ Π·Π°ΠΏΠΈΡˆΡƒΠ²Π° Π΄Π°Ρ‚ΠΎΡ‚Π΅ΠΊΠΈ Π²ΠΎ Git ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅Π·Π΅ΠΌΠ° слики ΠΎΠ΄ ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΈ.

Кои сС Π³Π»Π°Π²Π½ΠΈΡ‚Π΅ Π½Π°ΠΎΠ΄ΠΈ?

  1. ПодСлба Π½Π° Π³Ρ€ΠΈΠΆΠΈ: Π’Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅ ΠΈΠΌΠ°Ρ˜Ρ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Π΄Π΅ΠΊΠ° Π΄Π²Π°Ρ‚Π° Ρ†Π΅Π²ΠΊΠΎΠ²ΠΎΠ΄ΠΈ ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° ΠΊΠΎΠΌΡƒΠ½ΠΈΡ†ΠΈΡ€Π°Π°Ρ‚ само со Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ Π½Π° Git ΠΈΠ»ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ Π·Π° слики. Π‘ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π±ΠΎΡ€ΠΎΠ²ΠΈ, постои Π·Π°ΡˆΡ‚ΠΈΡ‚Π΅Π½ Ρ•ΠΈΠ΄ ΠΏΠΎΠΌΠ΅Ρ“Ρƒ CI ΠΈ ΠΎΠΊΠΎΠ»ΠΈΠ½Π°Ρ‚Π° Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅. НиС Π³ΠΎ Π½Π°Ρ€Π΅ΠΊΡƒΠ²Π°ΠΌΠ΅ β€žΠΎΠ³Π½Π΅Π½ Ρ•ΠΈΠ΄ Π½Π° Π½Π΅ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΎΡΡ‚β€œ (Π·Π°ΡˆΡ‚ΠΈΡ‚Π΅Π½ Ρ•ΠΈΠ΄ Π·Π° нСпромСнливост), бидСјќи ситС Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ° Π½Π° ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅Ρ‚ΠΎ создаваат Π½ΠΎΠ²ΠΈ Π²Π΅Ρ€Π·ΠΈΠΈ. Π—Π° повСќС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° ΠΎΠ²Π°Π° Ρ‚Π΅ΠΌΠ°, ΠΏΠΎΠ³Π»Π΅Π΄Π½Π΅Ρ‚Π΅ Π³ΠΈ ΡΠ»Π°Ρ˜Π΄ΠΎΠ²ΠΈΡ‚Π΅ 72-87 ΠΎΠ²Π°Π° ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°.
  2. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° користитС кој Π±ΠΈΠ»ΠΎ сСрвСр CI ΠΈ Git: GitOps Ρ€Π°Π±ΠΎΡ‚ΠΈ со која Π±ΠΈΠ»ΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. МоТС Π΄Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅ Π΄Π° Π³ΠΈ користитС Π²Π°ΡˆΠΈΡ‚Π΅ ΠΎΠΌΠΈΠ»Π΅Π½ΠΈ сСрвСри CI ΠΈ Git, ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π° Π·Π° слики ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ Π·Π° Ρ‚Π΅ΡΡ‚ΠΈΡ€Π°ΡšΠ΅. РСчиси ситС Π΄Ρ€ΡƒΠ³ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° ΠΊΠΎΠ½Ρ‚ΠΈΠ½ΡƒΠΈΡ€Π°Π½Π° испорака Π½Π° ΠΏΠ°Π·Π°Ρ€ΠΎΡ‚ Π±Π°Ρ€Π°Π°Ρ‚ сопствСн CI/Git сСрвСр ΠΈΠ»ΠΈ ΡΠΊΠ»Π°Π΄ΠΈΡˆΡ‚Π΅ Π·Π° слики. Ова ΠΌΠΎΠΆΠ΅ Π΄Π° станС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΡƒΠ²Π°Ρ‡ΠΊΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π²ΠΎ Ρ€Π°Π·Π²ΠΎΡ˜ΠΎΡ‚ Π½Π° ΠΌΠ°Ρ˜Ρ‡ΠΈΠ½ ΠΎΠ±Π»Π°ΠΊ. Π‘ΠΎ GitOps, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° користитС ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ Π°Π»Π°Ρ‚ΠΊΠΈ.
  3. НастанитС ΠΊΠ°ΠΊΠΎ Π°Π»Π°Ρ‚ΠΊΠ° Π·Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π°: Π¨Ρ‚ΠΎΠΌ ΠΏΠΎΠ΄Π°Ρ‚ΠΎΡ†ΠΈΡ‚Π΅ Π²ΠΎ Git сС Π°ΠΆΡƒΡ€ΠΈΡ€Π°Π°Ρ‚, Weave Flux (ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΡ‚ Weave Cloud) Π³ΠΎ извСстува Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°. БСкогаш ΠΊΠΎΠ³Π° Kubernetes ΠΏΡ€ΠΈΡ„Π°ΡœΠ° сСт Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ, Git сС Π°ΠΆΡƒΡ€ΠΈΡ€Π°. Ова ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° СдноставСн ΠΌΠΎΠ΄Π΅Π» Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡ˜Π° Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ Ρ‚Π΅ΠΊΠΎΠ²ΠΈ Π·Π° GitOps, ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ Π΅ ΠΏΡ€ΠΈΠΊΠ°ΠΆΠ°Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ»Ρƒ.

Π—Π°ΠΊΠ»ΡƒΡ‡ΠΎΠΊ

GitOps ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° силни Π³Π°Ρ€Π°Π½Ρ†ΠΈΠΈ Π·Π° Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ ΡˆΡ‚ΠΎ Π³ΠΈ Π±Π°Ρ€Π° сСкоја ΠΌΠΎΠ΄Π΅Ρ€Π½Π° CI/CD Π°Π»Π°Ρ‚ΠΊΠ°:

  • Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡ˜Π°;
  • ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ˜Π°;
  • ΠΈΠΌΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΡ˜Π°;
  • Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΠ·Π°ΠΌ.

Ова Π΅ Π²Π°ΠΆΠ½ΠΎ Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ Π½ΡƒΠ΄ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π·Π° Ρ€ΠΎΠ΄Π½ΠΈΡ‚Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΈ Π½Π° ΠΎΠ±Π»Π°ΠΊ.

  • Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π°Π»Π½ΠΈΡ‚Π΅ Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ ΠΈ слСдСњС Π½Π° систСмитС сС ΠΏΠΎΠ²Ρ€Π·Π°Π½ΠΈ со ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΡ‚Π΅ Ρ‚ΠΈΠΌΠΎΠ²ΠΈ ΠΊΠΎΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ Π²ΠΎ Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° (Π·Π±ΠΈΡ€ Π½Π° рутински ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ - ΠΏΡ€ΠΈΠ±Π». ΠΏΡ€Π΅Π²ΠΎΠ΄.), Π²Ρ€Π·Π°Π½ΠΈ Π·Π° ΠΎΠ΄Ρ€Π΅Π΄Π΅Π½ΠΎ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅.
  • Π’ΠΎ ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ со ΠΌΠ°Ρ˜Ρ‡ΠΈΠ½ ΠΎΠ±Π»Π°ΠΊ, Π°Π»Π°Ρ‚ΠΊΠΈΡ‚Π΅ Π·Π° Π½Π°Π±Ρ™ΡƒΠ΄ΡƒΠ²Π°ΡšΠ΅ сС Π½Π°Ρ˜Π΄ΠΎΠ±Ρ€ΠΈΠΎΡ‚ Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΌΠ΅Ρ€Π΅ΡšΠ΅ Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΠ΄ Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ°Ρ‚Π°, Ρ‚Π°ΠΊΠ° ΡˆΡ‚ΠΎ Ρ‚ΠΈΠΌΠΎΡ‚ Π·Π° Ρ€Π°Π·Π²ΠΎΡ˜ ΠΌΠΎΠΆΠ΅ Π±Ρ€Π·ΠΎ Π΄Π° Ρ€Π΅Π°Π³ΠΈΡ€Π°.

ЗамислСтС ΠΌΠ½ΠΎΠ³Ρƒ кластСри расфрлани Π½ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠ±Π»Π°Ρ†ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³Ρƒ услуги со свои Ρ‚ΠΈΠΌΠΎΠ²ΠΈ ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²ΠΈ Π·Π° Ρ€Π°ΡΠΏΠΎΡ€Π΅Π΄ΡƒΠ²Π°ΡšΠ΅. GitOps Π½ΡƒΠ΄ΠΈ Π½Π΅ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ² ΠΌΠΎΠ΄Π΅Π» Π·Π° ΡƒΠΏΡ€Π°Π²ΡƒΠ²Π°ΡšΠ΅ со сСто ΠΎΠ²Π° изобилство.

PS ΠΎΠ΄ ΠΏΡ€Π΅Π²Π΅Π΄ΡƒΠ²Π°Ρ‡

ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ˜Ρ‚Π΅ ΠΈ Π½Π° Π½Π°ΡˆΠΈΠΎΡ‚ Π±Π»ΠΎΠ³:

Π‘Π°ΠΌΠΎ рСгистрирани корисници ΠΌΠΎΠΆΠ°Ρ‚ Π΄Π° учСствуваат Π²ΠΎ Π°Π½ΠΊΠ΅Ρ‚Π°Ρ‚Π°. Најави сС, Π²ΠΈΠ΅ стС Π΄ΠΎΠ±Ρ€Π΅Π΄ΠΎΡ˜Π΄Π΅Π½ΠΈ.

Π”Π°Π»ΠΈ Π·Π½Π°Π΅Π²Ρ‚Π΅ Π·Π° GitOps ΠΏΡ€Π΅Π΄ ΠΎΠ²ΠΈΠ΅ Π΄Π²Π° ΠΏΡ€Π΅Π²ΠΎΠ΄ΠΈ Π΄Π° сС ΠΏΠΎΡ˜Π°Π²Π°Ρ‚ Π½Π° HabrΓ©?

  • Π”Π°, Π·Π½Π°Π΅Π² сè

  • Π‘Π°ΠΌΠΎ ΠΏΠΎΠ²Ρ€ΡˆΠ½ΠΎ

  • НС

Гласаа 35 корисници. 10 корисници Π±Π΅Π° Π²ΠΎΠ·Π΄Ρ€ΠΆΠ°Π½ΠΈ.

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€