Какво С GitOps?

Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°. ΠΏΡ€Π΅Π²ΠΎΠ΄: Π‘Π»Π΅Π΄ ΡΠΊΠΎΡ€ΠΎΡˆΠ½Π° публикация ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» относно ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° изтСглянС ΠΈ натисканС Π² GitOps, видяхмС интСрСс към Ρ‚ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» ΠΊΠ°Ρ‚ΠΎ цяло, Π½ΠΎ имашС ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΊΠΎ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π° руски Π΅Π·ΠΈΠΊ ΠΏΠΎ Ρ‚Π°Π·ΠΈ Ρ‚Π΅ΠΌΠ° (просто няма Ρ‚Π°ΠΊΠΈΠ²Π° Π½Π° HabrΓ©). Π—Π°Ρ‚ΠΎΠ²Π° ΠΈΠΌΠ°ΠΌΠ΅ удоволствиСто Π΄Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΠΌ Π½Π° Π²Π°ΡˆΠ΅Ρ‚ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€Π΅Π²ΠΎΠ΄ Π½Π° Π΄Ρ€ΡƒΠ³Π° статия – ΠΌΠ°ΠΊΠ°Ρ€ ΠΈ ΠΏΡ€Π΅Π΄ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π°! β€” ΠΎΡ‚ Weaveworks, Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡΡ‚ Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ измисли Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π° β€žGitOpsβ€œ. Π’Π΅ΠΊΡΡ‚ΡŠΡ‚ обяснява ΡΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΈ основнитС Ρ€Π°Π·Π»ΠΈΠΊΠΈ ΠΎΡ‚ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅.

ΠŸΡ€Π΅Π΄ΠΈ Π³ΠΎΠ΄ΠΈΠ½Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ…ΠΌΠ΅ въвСдСниС Π² GitOps. Π’ΠΎΠ³Π°Π²Π° сподСлихмС ΠΊΠ°ΠΊ Π΅ΠΊΠΈΠΏΡŠΡ‚ Π½Π° Weaveworks стартира SaaS, изцяло Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Kubernetes, ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ прСдписани Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π·Π° внСдряванС, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ наблюдСниС Π² ΠΎΠ±Π»Π°Ρ‡Π½Π° срСда.

Бтатията сС ΠΎΠΊΠ°Π·Π° популярна. Π”Ρ€ΡƒΠ³ΠΈ Ρ…ΠΎΡ€Π° Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° говорят Π·Π° GitOps ΠΈ Π·Π°ΠΏΠΎΡ‡Π½Π°Ρ…Π° Π΄Π° ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ‚ Π½ΠΎΠ²ΠΈ инструмСнти Π·Π° git push, Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ Π½Π°, Ρ‚Π°ΠΉΠ½ΠΈ, функция, Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° интСграция ΠΈ Ρ‚Π°ΠΊΠ° Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ. Появи сС Π½Π° нашия уСбсайт голям Π±Ρ€ΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ случаи Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° GitOps. Но някои Ρ…ΠΎΡ€Π° всС ΠΎΡ‰Π΅ ΠΈΠΌΠ°Ρ‚ Π²ΡŠΠΏΡ€ΠΎΡΠΈ. Π‘ ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π° ΠΎΡ‚ традиционния? инфраструктура ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄ ΠΈ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка (ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½Π° доставка)? НСобходимо Π»ΠΈ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌ Kubernetes?

Π‘ΠΊΠΎΡ€ΠΎ Ρ€Π°Π·Π±Ρ€Π°Ρ…ΠΌΠ΅, Ρ‡Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½ΠΎΠ²ΠΎ описаниС, ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‰ΠΎ:

  1. Голям Π±Ρ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ ΠΈ истории;
  2. Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½Π° дСфиниция Π½Π° GitOps;
  3. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ с Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚Π° доставка.

Π’ Ρ‚Π°Π·ΠΈ статия смС сС ΠΎΠΏΠΈΡ‚Π°Π»ΠΈ Π΄Π° ΠΎΠ±Ρ…Π²Π°Π½Π΅ΠΌ всички Ρ‚Π΅Π·ΠΈ Ρ‚Π΅ΠΌΠΈ. Π’ΠΎΠΉ прСдоставя Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎ въвСдСниС Π² GitOps ΠΈ пСрспСктива Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ ΠΈ CI/CD. Основно сС фокусирамС Π²ΡŠΡ€Ρ…Ρƒ Kubernetes, Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½.

Π—Π°ΠΏΠΎΠ·Π½Π°ΠΉΡ‚Π΅ сС с GitOps

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Ρ‚Π΅ си Алис. Вя управлява Family Insurance, която ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π·Π΄Ρ€Π°Π²Π½ΠΈ, Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ, ΠΆΠΈΠ»ΠΈΡ‰Π½ΠΈ ΠΈ туристичСски застраховки Π½Π° Ρ…ΠΎΡ€Π°, ΠΊΠΎΠΈΡ‚ΠΎ са Ρ‚Π²ΡŠΡ€Π΄Π΅ Π·Π°Π΅Ρ‚ΠΈ, Π·Π° Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π°Ρ‚ сами Ρ‚ΡŠΠ½ΠΊΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Π΄ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΡ‚Π΅. НСйният бизнСс Π·Π°ΠΏΠΎΡ‡Π²Π° ΠΊΠ°Ρ‚ΠΎ страничСн ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Алис Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Π±Π°Π½ΠΊΠ° ΠΊΠ°Ρ‚ΠΎ спСциалист ΠΏΠΎ Π΄Π°Π½Π½ΠΈ. Π•Π΄ΠΈΠ½ Π΄Π΅Π½ тя осъзна, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Π½ΠΈ ΠΊΠΎΠΌΠΏΡŽΡ‚ΡŠΡ€Π½ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΈ Π·Π° ΠΏΠΎ-Π΅Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π΅Π½ Π°Π½Π°Π»ΠΈΠ· Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° застраховатСлни ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈ. Π˜Π½Π²Π΅ΡΡ‚ΠΈΡ‚ΠΎΡ€ΠΈΡ‚Π΅ финансираха ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ сСга Π½Π΅ΠΉΠ½Π°Ρ‚Π° компания носи ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 20 ΠΌΠΈΠ»ΠΈΠΎΠ½Π° Π΄ΠΎΠ»Π°Ρ€Π° годишно ΠΈ сС разраства Π±ΡŠΡ€Π·ΠΎ. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π² Π½Π΅Π³ΠΎ работят 180 Π΄ΡƒΡˆΠΈ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ. Π’ΠΎΠ²Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΡ‡Π΅Π½ Π΅ΠΊΠΈΠΏ, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°, ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° уСбсайта, Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° клиСнтската Π±Π°Π·Π°. Π•ΠΊΠΈΠΏΡŠΡ‚ ΠΎΡ‚ 60 Π΄ΡƒΡˆΠΈ сС Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΠΈ ΠΎΡ‚ Π‘ΠΎΠ±, тСхничСски Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ Π½Π° компанията.

Π•ΠΊΠΈΠΏΡŠΡ‚ Π½Π° Π‘ΠΎΠ± внСдрява производствСни систСми Π² ΠΎΠ±Π»Π°ΠΊΠ°. Π’Π΅Ρ…Π½ΠΈΡ‚Π΅ основни прилоТСния работят Π½Π° GKE, ΠΊΠ°Ρ‚ΠΎ сС Π²ΡŠΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚ Kubernetes Π² Google Cloud. ОсвСн Ρ‚ΠΎΠ²Π° Ρ‚Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ инструмСнти Π·Π° Π΄Π°Π½Π½ΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈ Π² Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° си.

Family Insurance Π½Π΅ си постави Π·Π° Ρ†Π΅Π» Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, Π½ΠΎ бСшС ΡƒΠ²Π»Π΅Ρ‡Π΅Π½Π° ΠΎΡ‚ Снтусиазма Π½Π° Docker. ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡΡ‚Π° скоро ΠΎΡ‚ΠΊΡ€ΠΈ, Ρ‡Π΅ GKE улСснява внСдряванСто Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ Π·Π° тСстванС Π½Π° Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. ДТСнкинс Π·Π° CI ΠΈ Quay бяха Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅, написани бяха скриптовС Π·Π° ДТСнкинс, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·Π±ΡƒΡ‚Π°Ρ…Π° Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ към GKE.

Мина извСстно Π²Ρ€Π΅ΠΌΠ΅. Алис ΠΈ Π‘ΠΎΠ± бяха Ρ€Π°Π·ΠΎΡ‡Π°Ρ€ΠΎΠ²Π°Π½ΠΈ ΠΎΡ‚ СфСктивността Π½Π° избрания ΠΎΡ‚ тях ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΈ Π²ΡŠΠ·Π΄Π΅ΠΉΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ ΠΌΡƒ Π²ΡŠΡ€Ρ…Ρƒ бизнСса. Π’ΡŠΠ²Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ производитСлността Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π°, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ Π΅ΠΊΠΈΠΏΡŠΡ‚ сС надявашС. Понякога внСдряванСто сС ΡΡ‡ΡƒΠΏΠ²Π°ΡˆΠ΅ ΠΈ Π½Π΅ бСшС ясно Π΄Π°Π»ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ‚Π° Π·Π° Ρ‚ΠΎΠ²Π° са ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² ΠΊΠΎΠ΄Π°. Π‘ΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° сС ΠΎΠΊΠ°Π·Π° Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π΄Π° сС прослСдят ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π² конфигурацията. ЧСсто бСшС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС създадС Π½ΠΎΠ² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ ΠΈ Π΄Π° сС прСмСстят прилоТСния Π² Π½Π΅Π³ΠΎ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ Ρ‚ΠΎΠ²Π° бСшС Π½Π°ΠΉ-лСсният Π½Π°Ρ‡ΠΈΠ½ Π΄Π° сС ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅ Π±ΡŠΡ€ΠΊΠΎΡ‚ΠΈΡΡ‚Π°, Π² която сС ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π° систСмата. Алис сС ΡΡ‚Ρ€Π°Ρ…ΡƒΠ²Π°ΡˆΠ΅, Ρ‡Π΅ ситуацията Ρ‰Π΅ сС влоши с Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ (освСн Ρ‚ΠΎΠ²Π° сС подготвя Π½ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅). Π‘ΠΎΠ± бСшС Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π» ΠΏΠΎ-голямата част ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° ΠΈ Π½Π΅ Ρ€Π°Π·Π±ΠΈΡ€Π°ΡˆΠ΅ Π·Π°Ρ‰ΠΎ Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΡŠΡ‚ всС ΠΎΡ‰Π΅ Π΅ нСстабилСн, Π½Π΅ сС ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π° Π΄ΠΎΠ±Ρ€Π΅ ΠΈ изисква ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½Π° Ρ€ΡŠΡ‡Π½Π° намСса?

Π’ΠΎΠ³Π°Π²Π° Π½Π°ΡƒΡ‡ΠΈΡ…Π° Π·Π° GitOps. Π’ΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ сС ΠΎΠΊΠ°Π·Π° Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚ΠΎΠ²Π°, ΠΎΡ‚ ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ…Π°, Π·Π° Π΄Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠ°Ρ‚ ΡƒΠ²Π΅Ρ€Π΅Π½ΠΎ Π½Π°ΠΏΡ€Π΅Π΄.

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

Family Insurance Ρ€Π΅ΡˆΠ°Π²Π° Π΄Π° Π²Π½Π΅Π΄Ρ€ΠΈ GitOps. ΠšΠΎΠΌΠΏΠ°Π½ΠΈΡΡ‚Π° Π²Π΅Ρ‡Π΅ Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π° с Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ ΠΌΠΎΠ΄Π΅Π» Π½Π° Ρ€Π°Π±ΠΎΡ‚Π°, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с Kubernetes ΠΈ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π° скорост с стабилностзащото Ρ‚Π΅:

  • установи, Ρ‡Π΅ производитСлността Π½Π° Π΅ΠΊΠΈΠΏΠ° сС Π΅ ΡƒΠ΄Π²ΠΎΠΈΠ»Π°, Π±Π΅Π· Π½ΠΈΠΊΠΎΠΉ Π΄Π° ΠΏΠΎΠ»ΡƒΠ΄Π΅Π΅;
  • спря Π΄Π° обслуТва скриптовС. ВмСсто Ρ‚ΠΎΠ²Π° Ρ‚Π΅ Π²Π΅Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС ΡΡŠΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡Π°Ρ‚ Π²ΡŠΡ€Ρ…Ρƒ Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π΄Π° подобрят ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈ - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ въвСТданС Π½Π° Canary rollouts ΠΈ подобряванС Π½Π° тСстванСто;
  • ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈΡ…ΠΌΠ΅ процСса Π½Π° внСдряванС, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ рядко Π΄Π° сС ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ;
  • ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ…Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° внСдрявания слСд частични ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈ Π±Π΅Π· Ρ€ΡŠΡ‡Π½Π° намСса;
  • Π·Π°ΠΊΡƒΠΏΠ΅Π½ΠΈ използваниоПо-голямо Π΄ΠΎΠ²Π΅Ρ€ΠΈΠ΅ Π² систСмитС Π·Π° доставка. Алис ΠΈ Π‘ΠΎΠ± ΠΎΡ‚ΠΊΡ€ΠΈΡ…Π°, Ρ‡Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° раздСлят Π΅ΠΊΠΈΠΏΠ° Π½Π° Π΅ΠΊΠΈΠΏΠΈ Π·Π° микросСрвизи, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ;
  • ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ 30-50 ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° всСки Π΄Π΅Π½ Ρ‡Ρ€Π΅Π· усилията Π½Π° всяка Π³Ρ€ΡƒΠΏΠ° ΠΈ Π΄Π° ΠΎΠΏΠΈΡ‚Π° Π½ΠΎΠ²ΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ;
  • лСсно Π΅ Π΄Π° ΠΏΡ€ΠΈΠ²Π»Π΅Ρ‡Π΅Ρ‚Π΅ Π½ΠΎΠ²ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ към ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° внСдряват Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² продукцията, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ заявки Π·Π° изтСглянС Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° няколко часа;
  • лСсно ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°Π½Π΅ Π½Π° ΠΎΠ΄ΠΈΡ‚ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° SOC2 (Π·Π° ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ Π½Π° доставчицитС Π½Π° услуги с изискванията Π·Π° сигурно ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΈ; ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅, Π½Π°ΠΏΡ€. Ρ‚ΡƒΠΊ - ΠΏΡ€ΠΈΠ±Π». ΠΏΡ€Π΅Π²ΠΎΠ΄).

Какво стана?

GitOps Π΅ Π΄Π²Π΅ Π½Π΅Ρ‰Π°:

  1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π·Π° Kubernetes ΠΈ нативния ΠΎΠ±Π»Π°ΠΊ. Π’ΠΎΠΉ прСдоставя Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ Π·Π° внСдряванС, ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ наблюдСниС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ ΠΈ прилоТСния. Π•Π»Π΅Π³Π°Π½Ρ‚Π½Π° дСфиниция във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΅Π΄ΠΈΠ½ слайд ΠΎΡ‚ Луис ЀасСйра:
  2. ΠŸΡŠΡ‚ΡΡ‚ към създаванС Π½Π° ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° към Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ срСда Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° прилоТСния. НиС ΠΏΡ€ΠΈΠ»Π°Π³Π°ΠΌΠ΅ работния процСс Π½Π° Git ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Моля, ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ Π½Π΅ става Π΄ΡƒΠΌΠ° само Π·Π° Git push, Π° Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° цСлия Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ CI/CD ΠΈ UI/UX инструмСнти.

Няколко Π΄ΡƒΠΌΠΈ Π·Π° Git

Ако Π½Π΅ стС Π·Π°ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ със систСмитС Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° вСрсиитС ΠΈ базирания Π½Π° Git Ρ€Π°Π±ΠΎΡ‚Π΅Π½ процСс, силно ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌΠ΅ Π΄Π° Π½Π°ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° тях. Π Π°Π±ΠΎΡ‚Π°Ρ‚Π° с ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ ΠΈ заявки Π·Π° изтСглянС ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΊΠ°Ρ‚ΠΎ Ρ‡Π΅Ρ€Π½Π° магия Π² Π½Π°Ρ‡Π°Π»ΠΎΡ‚ΠΎ, Π½ΠΎ ΠΏΠΎΠ»Π·ΠΈΡ‚Π΅ си заслуТават усилиСто. Π’ΡƒΠΊ Π΄ΠΎΠ±Ρ€Π° статия Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π°.

Как Ρ€Π°Π±ΠΎΡ‚ΠΈ Kubernetes

Π’ Π½Π°ΡˆΠ°Ρ‚Π° история Алис ΠΈ Π‘ΠΎΠ± сС ΠΎΠ±ΡŠΡ€Π½Π°Ρ…Π° към GitOps, слСд ΠΊΠ°Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈΡ…Π° извСстно Π²Ρ€Π΅ΠΌΠ΅ с Kubernetes. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ GitOps Π΅ тясно ΡΠ²ΡŠΡ€Π·Π°Π½ с Kubernetes - Ρ‚ΠΎΠ²Π° Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π·Π° инфраструктура ΠΈ прилоТСния, Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Kubernetes.

Какво Π΄Π°Π²Π° Kubernetes Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅?

Π•Ρ‚ΠΎ някои основни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

  1. Π’ ΠΌΠΎΠ΄Π΅Π»Π° Kubernetes всичко ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС описано Π² Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Π° Ρ„ΠΎΡ€ΠΌΠ°.
  2. API ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π½Π° Kubernetes ΠΏΡ€ΠΈΠ΅ΠΌΠ° Ρ‚Π°Π·ΠΈ дСкларация ΠΊΠ°Ρ‚ΠΎ Π²Ρ…ΠΎΠ΄ ΠΈ слСд Ρ‚ΠΎΠ²Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ сС ΠΎΠΏΠΈΡ‚Π²Π° Π΄Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ, описано Π² дСкларацията.
  3. Π”Π΅ΠΊΠ»Π°Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ, Π·Π° Π΄Π° ΠΎΠΏΠΈΡˆΠ°Ρ‚ ΠΈ управляват голямо Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠ΅ ΠΎΡ‚ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ натоварвания β€” β€žΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡβ€œ.
  4. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° Π½Π°ΡΡ‚ΡŠΠΏΠ²Π°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΏΠΎΡ€Π°Π΄ΠΈ:
    • ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² изобраТСнията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ;
    • ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Π°Ρ‚Π° спСцификация;
    • Π³Ρ€Π΅ΡˆΠΊΠΈ Π² срСдата - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сривовС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ.

Π‘Ρ‚Ρ€Π°Ρ…ΠΎΡ‚Π½ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π·Π° конвСргСнция Π½Π° Kubernetes

ΠšΠΎΠ³Π°Ρ‚ΠΎ администратор Π½Π°ΠΏΡ€Π°Π²ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² конфигурацията, ΠΎΡ€ΠΊΠ΅ΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° Kubernetes Ρ‰Π΅ Π³ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈ към ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ ΠΌΡƒ Π΅ няма Π΄Π° сС Π΄ΠΎΠ±Π»ΠΈΠΆΠΈ Π΄ΠΎ Π½ΠΎΠ²Π°Ρ‚Π° конфигурация. Π’ΠΎΠ·ΠΈ ΠΌΠΎΠ΄Π΅Π» Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π° всСки рСсурс Π½Π° Kubernetes ΠΈ Π΅ Ρ€Π°Π·ΡˆΠΈΡ€ΠΈΠΌ с пСрсонализирани Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ†ΠΈΠΈ Π½Π° рСсурси (CRD). Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ внСдряванията Π½Π° Kubernetes ΠΈΠΌΠ°Ρ‚ слСднитС прСкрасни свойства:

  • Автоматизация: АктуализациитС Π½Π° Kubernetes осигуряват ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° процСса Π½Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π΅Π»Π΅Π³Π°Π½Ρ‚Π½ΠΎ ΠΈ своСврСмСнно.
  • ΠšΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ†ΠΈΡ: Kubernetes Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈ Π΄Π° ΠΏΡ€Π°Π²ΠΈ ΠΎΠΏΠΈΡ‚ΠΈ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎ успСх.
  • Π˜Π΄Π΅ΠΌΠΏΠΎΡ‚Π΅Π½Ρ‚Π½ΠΎΡΡ‚: ΠŸΠΎΠ²Ρ‚Π°Ρ€ΡΡ‰ΠΈΡ‚Π΅ сС прилоТСния Π½Π° конвСргСнция водят Π΄ΠΎ ΡΡŠΡ‰ΠΈΡ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚.
  • Π”Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΠ·ΡŠΠΌ: ΠšΠΎΠ³Π°Ρ‚ΠΎ рСсурситС са Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΈ, ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° актуализирания ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ зависи само ΠΎΡ‚ ΠΆΠ΅Π»Π°Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅.

Как Ρ€Π°Π±ΠΎΡ‚ΠΈ GitOps

НаучихмС Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½ΠΎ Π·Π° Kubernetes, Π·Π° Π΄Π° обясним ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ GitOps.

Π”Π° сС β€‹β€‹Π²ΡŠΡ€Π½Π΅ΠΌ към Π΅ΠΊΠΈΠΏΠΈΡ‚Π΅ Π·Π° микроуслуги Π½Π° Family Insurance. Какво ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ трябва Π΄Π° правят? Π’ΠΈΠΆΡ‚Π΅ списъка ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ (Π°ΠΊΠΎ някои Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈ Π² Π½Π΅Π³ΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ странни ΠΈΠ»ΠΈ Π½Π΅ΠΏΠΎΠ·Π½Π°Ρ‚ΠΈ, моля, спрСтС Π΄Π° ΠΊΡ€ΠΈΡ‚ΠΈΠΊΡƒΠ²Π°Ρ‚Π΅ ΠΈ останСтС с нас). Π’ΠΎΠ²Π° са само ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Jenkins Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ процСси. Има ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ процСси ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Ρ€ΡƒΠ³ΠΈ инструмСнти.

ΠžΡΠ½ΠΎΠ²Π½ΠΎΡ‚ΠΎ Π΅, Ρ‡Π΅ Π²ΠΈΠΆΠ΄Π°ΠΌΠ΅, Ρ‡Π΅ всяка актуализация Π·Π°Π²ΡŠΡ€ΡˆΠ²Π° с ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Git Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ‚Π°. Π’Π΅Π·ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² Git ΠΊΠ°Ρ€Π°Ρ‚ "ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° GitOps" Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°:

1. Π Π°Π±ΠΎΡ‚Π΅Π½ процСс: "Jenkins build - Π³Π»Π°Π²Π΅Π½ ΠΊΠ»ΠΎΠ½".
Бписък със Π·Π°Π΄Π°Ρ‡ΠΈ:

  • ДТСнкинс ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ΠΈ изобраТСния към Quay;
  • ДТСнкинс ΠΈΠ·Π±ΡƒΡ‚Π²Π° конфигурацията ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈΡ‚Π΅ Π½Π° Helm Π² основната ΠΊΠΎΡ„Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅;
  • ΠžΠ±Π»Π°Ρ‡Π½Π°Ρ‚Π° функция ΠΊΠΎΠΏΠΈΡ€Π° конфигурацията ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈΡ‚Π΅ ΠΎΡ‚ основната ΠΊΠΎΡ„Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Π³Π»Π°Π²Π½ΠΎΡ‚ΠΎ Git Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅;
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ GitOps Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.

2. Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ДТСнкинс - ΠΊΠ»ΠΎΠ½ Π·Π° освобоТдаванС ΠΈΠ»ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»Π½Π° корСкция:

  • ДТСнкинс ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π½Π΅ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ΠΈ изобраТСния Π½Π° Quay;
  • ДТСнкинс ΠΈΠ·Π±ΡƒΡ‚Π²Π° конфигурацията ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈΡ‚Π΅ Π½Π° Helm Π² ΠΊΠΎΡ„Π°Ρ‚Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅;
  • Ѐункцията Π² ΠΎΠ±Π»Π°ΠΊΠ° ΠΊΠΎΠΏΠΈΡ€Π° конфигурацията ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈΡ‚Π΅ ΠΎΡ‚ ΠΊΠΎΡ„Π°Ρ‚Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Π΅Ρ‚Π°ΠΏΠΈ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° Git Π·Π° Π΅Ρ‚Π°ΠΏΠΈ;
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ GitOps Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.

3. Π˜Π·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° Jenkins - Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ»ΠΈ Ρ€Π°Π·ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ Π½Π° характСристикитС:

  • ДТСнкинс ΠΈΠ·ΠΏΡ€Π°Ρ‰Π° Π½Π΅ΠΌΠ°Ρ€ΠΊΠΈΡ€Π°Π½ΠΈ изобраТСния Π½Π° Quay;
  • ДТСнкинс натиска конфигурацията ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈΡ‚Π΅ Π½Π° Helm Π² ΠΊΠΎΡ„Π°Ρ‚Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ;
  • ΠžΠ±Π»Π°Ρ‡Π½Π°Ρ‚Π° функция ΠΊΠΎΠΏΠΈΡ€Π° конфигурацията ΠΈ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΈΡ‚Π΅ ΠΎΡ‚ ΠΊΠΎΡ„Π°Ρ‚Π° Π·Π° ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° Git Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°;
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ GitOps Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.

4. ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠ»ΠΈΠ΅Π½Ρ‚:

  • ΠœΠ΅Π½ΠΈΠ΄ΠΆΡŠΡ€ΡŠΡ‚ ΠΈΠ»ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ (LCM/ops) сС ΠΎΠ±Π°ΠΆΠ΄Π° Π½Π° Gradle Π·Π° ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ внСдряванС ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° балансиращи устройства Π·Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π° (NLB);
  • LCM/ops Π°Π½Π³Π°ΠΆΠΈΡ€Π° Π½ΠΎΠ²Π° конфигурация, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈ внСдряванСто Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ;
  • ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΡŠΡ‚ GitOps Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.

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

  1. ΠžΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΆΠ΅Π»Π°Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° цялата систСма, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ спСцификации Π·Π° всяка срСда (Π² Π½Π°ΡˆΠ°Ρ‚Π° история Π΅ΠΊΠΈΠΏΡŠΡ‚ Π½Π° Π‘ΠΎΠ± Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° цялата систСмна конфигурация Π² Git).
    • Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Ρ‚ΠΎ Π½Π° Git Π΅ СдинствСният ΠΈΠ·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ Π½Π° истина относно ΠΆΠ΅Π»Π°Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° цялата систСма.
    • Всички ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΆΠ΅Π»Π°Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ сС правят Ρ‡Ρ€Π΅Π· Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ Π² Git.
    • Всички ΠΆΠ΅Π»Π°Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΡΡŠΡ‰ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚ Π² самия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π΄Π°Π»ΠΈ Ρ‚Π΅ ΡΡŠΠ²ΠΏΠ°Π΄Π°Ρ‚ (ΠΊΠΎΠ½Π²Π΅Ρ€Π³ΠΈΡ€Π°Ρ‚, клоня) ΠΈΠ»ΠΈ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚ (Ρ€Π°Π·ΠΌΠΈΠ½Π°Π²Π°Ρ‚ сС, Ρ€Π°Π·ΠΌΠΈΠ½Π°Π²Π°Ρ‚ сС) ΠΆΠ΅Π»Π°Π½ΠΈ ΠΈ наблюдавани ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ.
  2. Ако ΠΆΠ΅Π»Π°Π½ΠΈΡ‚Π΅ ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Π½ΠΈΡ‚Π΅ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ сС Ρ€Π°Π·Π»ΠΈΡ‡Π°Π²Π°Ρ‚, Ρ‚ΠΎΠ³Π°Π²Π°:
    • Има ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° конвСргСнция, ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π½ΠΎ ΠΈΠ»ΠΈ късно Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ синхронизира Ρ†Π΅Π»Π΅Π²ΠΎΡ‚ΠΎ ΠΈ Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. Π’ΡŠΡ‚Ρ€Π΅ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° Kubernetes ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π°.
    • ΠŸΡ€ΠΎΡ†Π΅ΡΡŠΡ‚ Π·Π°ΠΏΠΎΡ‡Π²Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ с ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ β€žΠΈΠ·Π²ΡŠΡ€ΡˆΠ΅Π½Π° ΠΏΡ€ΠΎΠΌΡΠ½Π°β€œ.
    • Π‘Π»Π΅Π΄ извСстСн ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Π½ΠΎ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° β€žΡ€Π°Π·Π»ΠΈΠΊΠ°β€œ, Π°ΠΊΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡΡ‚Π° са Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ.
  3. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ всички Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚ΠΈ Π² Git причиняват ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌΠΈ ΠΈ ΠΈΠ΄Π΅ΠΌΠΏΠΎΡ‚Π΅Π½Ρ‚Π½ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.
    • Π’Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π°Π·Π°Π΄ Π΅ конвСргСнция към ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΆΠ΅Π»Π°Π½ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅.
  4. Π‘Π±Π»ΠΈΠΆΠ°Π²Π°Π½Π΅Ρ‚ΠΎ Π΅ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»Π½ΠΎ. ΠŸΠΎΡΠ²Π°Ρ‚Π° ΠΌΡƒ сС ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΎΡ‚:
    • Π‘Π΅Π· сигнали Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ ΠΎΡ‚ Π²Ρ€Π΅ΠΌΠ΅.
    • "ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ‚Π΅Π½" сигнал (Π½Π°ΠΏΡ€. webhook, ΡΡŠΠ±ΠΈΡ‚ΠΈΠ΅ Π·Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ записванС Π½Π° Git).

Какво Π΅ дивСргСнция?

НСка ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ ΠΎΡ‚Π½ΠΎΠ²ΠΎ: всички ΠΆΠ΅Π»Π°Π½ΠΈ свойства Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° трябва Π΄Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Π½Π°Π±Π»ΡŽΠ΄Π°Π²Π°Ρ‚ Π² самия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€.

Някои ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° Ρ€Π°Π·ΠΌΠΈΠ½Π°Π²Π°Π½Π΅:

  • ΠŸΡ€ΠΎΠΌΡΠ½Π° Π² конфигурационния Ρ„Π°ΠΉΠ» ΠΏΠΎΡ€Π°Π΄ΠΈ сливанС Π½Π° ΠΊΠ»ΠΎΠ½ΠΎΠ²Π΅ Π² Git.
  • ΠŸΡ€ΠΎΠΌΡΠ½Π° Π² конфигурационния Ρ„Π°ΠΉΠ» ΠΏΠΎΡ€Π°Π΄ΠΈ Git Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ‚, Π½Π°ΠΏΡ€Π°Π²Π΅Π½ ΠΎΡ‚ GUI ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.
  • ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΆΠ΅Π»Π°Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΡ€Π°Π΄ΠΈ PR Π² Git, послСдвани ΠΎΡ‚ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° ΠΈ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² конфигурацията.
  • ΠŸΡ€ΠΎΠΌΡΠ½Π° Π² ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΏΠΎΡ€Π°Π΄ΠΈ Π³Ρ€Π΅ΡˆΠΊΠ°, ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ Π½Π° рСсурси, Π²ΠΎΠ΄Π΅Ρ‰ Π΄ΠΎ "лошо ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅" ΠΈΠ»ΠΈ просто ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ ΠΏΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅.

Какъв Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π½Π° конвСргСнция?

Няколко ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°:

  • Π—Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° конвСргСнция сС прСдоставя ΠΎΡ‚ Kubernetes.
  • Π‘ΡŠΡ‰ΠΈΡΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° Kubernetes прилоТСния ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½ΠΈ (ΠΊΠ°Ρ‚ΠΎ Istio ΠΈ Kubeflow).
  • ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Ρ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΡ‚ΠΎ взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ Kubernetes, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π·Π° изобраТСния ΠΈ Git GitOps ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Weave Flux, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ част Weave Cloud.
  • Π—Π° Π±Π°Π·ΠΎΠ²ΠΈΡ‚Π΅ машини ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ Π·Π° конвСргСнция трябва Π΄Π° бъдС Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΈ Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ΅Π½. ΠžΡ‚ нашия собствСн ΠΎΠΏΠΈΡ‚ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ Ρ‚ΠΎΠ²Π° Ρ‚Π΅Ρ€Π°Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π½Π°ΠΉ-Π±Π»ΠΈΠ·ΠΎ Π΄ΠΎ Ρ‚ΠΎΠ²Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Π½ΠΎ всС ΠΏΠ°ΠΊ изисква Ρ‡ΠΎΠ²Π΅ΡˆΠΊΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ». Π’ Ρ‚ΠΎΠ·ΠΈ смисъл GitOps Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π° традицията Π½Π° инфраструктурата ΠΊΠ°Ρ‚ΠΎ ΠΊΠΎΠ΄.

GitOps ΡΡŠΡ‡Π΅Ρ‚Π°Π²Π° Git с ΠΎΡ‚Π»ΠΈΡ‡Π½Π°Ρ‚Π° машина Π·Π° конвСргСнция Π½Π° Kubernetes, Π·Π° Π΄Π° осигури ΠΌΠΎΠ΄Π΅Π» Π·Π° Сксплоатация.

GitOps Π½ΠΈ позволява Π΄Π° ΠΊΠ°ΠΆΠ΅ΠΌ: Π‘Π°ΠΌΠΎ Ρ‚Π΅Π·ΠΈ систСми, ΠΊΠΎΠΈΡ‚ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ описани ΠΈ наблюдавани, ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ.

GitOps Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ Π·Π° цСлия СстСствСн стСк Π² ΠΎΠ±Π»Π°ΠΊΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Terraform ΠΈ Ρ‚.Π½.)

GitOps Π½Π΅ Π΅ само Kubernetes. ИскамС цялата систСма Π΄Π° сС управлява Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎ ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° конвСргСнция. Под цялата систСма ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ колСкция ΠΎΡ‚ срСди, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ с Kubernetes - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€ždev cluster 1β€œ, β€žproductionβ€œ ΠΈ Ρ‚.Π½. Всяка срСда Π²ΠΊΠ»ΡŽΡ‡Π²Π° машини, ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ, прилоТСния, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ интСрфСйси Π·Π° външни услуги, ΠΊΠΎΠΈΡ‚ΠΎ прСдоставят Π΄Π°Π½Π½ΠΈ, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Ρ‚.Π½.

Π—Π°Π±Π΅Π»Π΅ΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠ»ΠΊΠΎ Π²Π°ΠΆΠ΅Π½ Π΅ Terraform Π·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° с стартиранСто Π² Ρ‚ΠΎΠ·ΠΈ случай. Kubernetes трябва Π΄Π° бъдС Ρ€Π°Π·Π³ΡŠΡ€Π½Π°Ρ‚ някъдС ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Terraform ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌ ΡΡŠΡ‰ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ процСси Π½Π° GitOps, Π·Π° Π΄Π° създадСм контролния слой, ΠΊΠΎΠΉΡ‚ΠΎ Π΅ Π² основата Π½Π° Kubernetes ΠΈ прилоТСнията. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎΠ»Π΅Π·Π½Π° Π½Π°ΠΉ-Π΄ΠΎΠ±Ρ€Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°.

Има силСн фокус Π²ΡŠΡ€Ρ…Ρƒ ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ Π½Π° GitOps към слоСвС Π²ΡŠΡ€Ρ…Ρƒ Kubernetes. Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΈΠΌΠ° Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° GitOps Π·Π° Istio, Helm, Ksonnet, OpenFaaS ΠΈ Kubeflow, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° Pulumi, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚ слой Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° прилоТСния Π·Π° ΠΎΠ±Π»Π°Ρ‡Π΅Π½ Π½Π°Ρ‚ΠΈΠ².

Kubernetes CI/CD: сравняванС Π½Π° GitOps с Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈ

ΠšΠ°ΠΊΡ‚ΠΎ бСшС посочСно, GitOps Π΅ Π΄Π²Π΅ Π½Π΅Ρ‰Π°:

  1. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈΡΡ‚ ΠΌΠΎΠ΄Π΅Π» Π·Π° Kubernetes ΠΈ нативния ΠΎΠ±Π»Π°ΠΊ, описан ΠΏΠΎ-Π³ΠΎΡ€Π΅.
  2. ΠŸΡŠΡ‚ΡΡ‚ към ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Π½Π° към Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ срСда Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° прилоТСния.

Π—Π° ΠΌΠ½ΠΎΠ·ΠΈΠ½Π° GitOps Π΅ ΠΏΡ€Π΅Π΄ΠΈΠΌΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π΅Π½ процСс, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Git push. НиС ΡΡŠΡ‰ΠΎ Π³ΠΎ харСсвамС. Но Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ всичко: Π½Π΅ΠΊΠ° сСга Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ CI/CD Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚Π΅.

GitOps позволява Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ внСдряванС (CD) Π·Π° Kubernetes

GitOps ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ внСдряванС, ΠΊΠΎΠΉΡ‚ΠΎ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° нСобходимостта ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ β€žΡΠΈΡΡ‚Π΅ΠΌΠΈ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Π½Π΅Π΄Ρ€ΡΠ²Π°Π½Π΅Ρ‚ΠΎβ€œ. Kubernetes Π²ΡŠΡ€ΡˆΠΈ цялата Ρ€Π°Π±ΠΎΡ‚Π° вмСсто вас.

  • АктуализиранСто Π½Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ изисква Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π² Git. Π’ΠΎΠ²Π° Π΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΎΠ½Π½Π° актуализация Π΄ΠΎ ΠΆΠ΅Π»Π°Π½ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° β€žΡ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎβ€œ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° ΠΎΡ‚ самия Kubernetes въз основа Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΎΡ‚ΠΎ описаниС.
  • ΠŸΠΎΡ€Π°Π΄ΠΈ СстСството Π½Π° Π½Π°Ρ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚ΠΈ Kubernetes, Ρ‚Π΅Π·ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ са ΠΊΠΎΠ½Π²Π΅Ρ€Π³Π΅Π½Ρ‚Π½ΠΈ. Π’ΠΎΠ²Π° осигурява ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΡŠΠΌ Π·Π° Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ внСдряванС, ΠΏΡ€ΠΈ ΠΊΠΎΠΉΡ‚ΠΎ всички Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ са Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½ΠΈ.
  • Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°: Weave Cloud ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ GitOps, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π° Git ΠΈ Kubernetes ΠΈ позволява CD Π΄Π° сС изпълнява Ρ‡Ρ€Π΅Π· ΡΡŠΠ³Π»Π°ΡΡƒΠ²Π°Π½Π΅ Π½Π° ΠΆΠ΅Π»Π°Π½ΠΎΡ‚ΠΎ ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰ΠΎΡ‚ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π½Π° ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°.

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

Врябва Π΄Π° избягватС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Kubectl Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° вашия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ ΠΈ особСно избягвайтС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° скриптовС Π·Π° Π³Ρ€ΡƒΠΏΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ kubectl. ВмСсто Ρ‚ΠΎΠ²Π°, с Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄Π° GitOps, потрСбитСлят ΠΌΠΎΠΆΠ΅ Π΄Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π° своя Kubernetes ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Ρ‡Ρ€Π΅Π· Git.

ΠŸΡ€Π΅Π΄ΠΈΠΌΡΡ‚Π²Π°Ρ‚Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚:

  1. вярно. Π“Ρ€ΡƒΠΏΠ° ΠΎΡ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈ, ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΈ ΠΈ накрая Π²Π°Π»ΠΈΠ΄ΠΈΡ€Π°Π½ΠΈ, ΠΊΠΎΠ΅Ρ‚ΠΎ Π½ΠΈ Π΄ΠΎΠ±Π»ΠΈΠΆΠ°Π²Π° Π΄ΠΎ Ρ†Π΅Π»Ρ‚Π° Π·Π° Π°Ρ‚ΠΎΠΌΠ½ΠΎ внСдряванС. ΠžΠ±Ρ€Π°Ρ‚Π½ΠΎ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° скриптовС Π½Π΅ осигурява Π½ΠΈΠΊΠ°ΠΊΠ²Π° гаранция Π·Π° конвСргСнция (ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ).
  2. сигурност. Ρ†ΠΈΡ‚ΠΈΡ€Π°Π½Π΅ КСлси Π₯Π°ΠΉΡ‚Π°ΡƒΡŠΡ€: β€žΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Ρ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ вашия ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ Kubernetes Π΄ΠΎ инструмСнти Π·Π° автоматизация ΠΈ администратори, ΠΊΠΎΠΈΡ‚ΠΎ отговарят Π·Π° отстраняванСто Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° ΠΌΡƒ.β€œ Π’ΠΈΠΆΡ‚Π΅ ΡΡŠΡ‰ΠΎ моята публикация относно бСзопасността ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅Ρ‚ΠΎ с тСхничСскитС спСцификации, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ статия Π·Π° Ρ…Π°ΠΊΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Homebrew Ρ‡Ρ€Π΅Π· ΠΊΡ€Π°ΠΆΠ±Π° Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΎΠ½Π½ΠΈ Π΄Π°Π½Π½ΠΈ ΠΎΡ‚ Π½Π΅Π±Ρ€Π΅ΠΆΠ½ΠΎ написан скрипт Π½Π° ДТСнкинс.
  3. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡΠΊΠΈ ΠΎΠΏΠΈΡ‚. Kubectl Ρ€Π°Π·ΠΊΡ€ΠΈΠ²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ°Ρ‚Π° Π½Π° обСктния ΠΌΠΎΠ΄Π΅Π» Kubernetes, която Π΅ доста слоТна. Π’ идСалния случай ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ трябва Π΄Π° взаимодСйстват със систСмата Π½Π° ΠΏΠΎ-високо Π½ΠΈΠ²ΠΎ Π½Π° абстракция. Π’ΡƒΠΊ ΠΎΡ‚Π½ΠΎΠ²ΠΎ Ρ‰Π΅ сС ΠΏΠΎΠ·ΠΎΠ²Π° Π½Π° КСлси ΠΈ Ρ‰Π΅ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π°ΠΌ Π³Π»Π΅Π΄Π°Π½Π΅ Ρ‚Π°ΠΊΠ°Π²Π° автобиография.

Π Π°Π·Π»ΠΈΠΊΠ° ΠΌΠ΅ΠΆΠ΄Ρƒ CI ΠΈ CD

GitOps подобрява ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈΡ‚Π΅ CI/CD ΠΌΠΎΠ΄Π΅Π»ΠΈ.

ΠœΠΎΠ΄Π΅Ρ€Π½ΠΈΡΡ‚ CI ΡΡŠΡ€Π²ΡŠΡ€ Π΅ инструмСнт Π·Π° оркСстрация. По-спСциално, Ρ‚ΠΎΠ²Π° Π΅ инструмСнт Π·Π° оркСстриранС Π½Π° CI Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈ. Π’Π΅ Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ ΠΈΠ·Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅, тСстванС, сливанС към ствол ΠΈ Ρ‚.Π½. CI ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° слоТни ΠΌΠ½ΠΎΠ³ΠΎΠ΅Ρ‚Π°ΠΏΠ½ΠΈ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ΠΈ. ЧСсто срСщано ΠΈΠ·ΠΊΡƒΡˆΠ΅Π½ΠΈΠ΅ Π΅ Π΄Π° сС напишС Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kubernetes ΠΈ Π΄Π° сС изпълни ΠΊΠ°Ρ‚ΠΎ част ΠΎΡ‚ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€, Π·Π° Π΄Π° сС ΠΏΡ€ΠΎΠΊΠ°Ρ€Π°Ρ‚ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°. Π’ΡΡŠΡ‰Π½ΠΎΡΡ‚ Ρ‚ΠΎΠ²Π° Π΅, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ СкспСрти правят. Π’ΠΎΠ²Π° ΠΎΠ±Π°Ρ‡Π΅ Π½Π΅ Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»Π½ΠΎ ΠΈ Π΅Ρ‚ΠΎ Π·Π°Ρ‰ΠΎ.

CI трябва Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ към ствола ΠΈ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΡŠΡ‚ Π½Π° Kubernetes трябва Π΄Π° сС промСня въз основа Π½Π° Ρ‚Π΅Π·ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π·Π° Π΄Π° управлява Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΎ компактдиска. НиС Π³ΠΎ Π½Π°Ρ€ΠΈΡ‡Π°ΠΌΠ΅ Ρ‚Π΅Π³Π»ΠΈΡ‚Π΅Π»Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π·Π° CD, Π·Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ CI push ΠΌΠΎΠ΄Π΅Π»Π°. CD Π΅ част оркСстрация ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС.

Π—Π°Ρ‰ΠΎ CI ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ Π½Π΅ трябва Π΄Π° правят компактдисковС Ρ‡Ρ€Π΅Π· Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Kubernetes

НС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡ‚Π΅ CI ΡΡŠΡ€Π²ΡŠΡ€, Π·Π° Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π° Kubernetes ΠΊΠ°Ρ‚ΠΎ Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ CI Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ΠΎΠ²Π° Π΅ Π°Π½Ρ‚ΠΈΠΌΠΎΠ΄Π΅Π»ΡŠΡ‚, Π·Π° ΠΊΠΎΠΉΡ‚ΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π²Π΅Ρ‡Π΅ ΠΊΠ°Π·Π°Π½ΠΎ във вашия Π±Π»ΠΎΠ³.

Π”Π° сС β€‹β€‹Π²ΡŠΡ€Π½Π΅ΠΌ към Алис ΠΈ Π‘ΠΎΠ±.

Π‘ ΠΊΠ°ΠΊΠ²ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ сС ΡΠ±Π»ΡŠΡΠΊΠ°Ρ…Π°? CI ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π½Π° Π‘ΠΎΠ± ΠΏΡ€ΠΈΠ»Π°Π³Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ към ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π°, Π½ΠΎ Π°ΠΊΠΎ сС сринС Π² процСса, Π‘ΠΎΠ± няма Π΄Π° Π·Π½Π°Π΅ Π² ΠΊΠ°ΠΊΠ²ΠΎ ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΠ΅ Π΅ (ΠΈΠ»ΠΈ трябва Π΄Π° бъдС) ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΡŠΡ‚ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊ Π΄Π° Π³ΠΎ ΠΏΠΎΠΏΡ€Π°Π²ΠΈ. Π‘ΡŠΡ‰ΠΎΡ‚ΠΎ Π²Π°ΠΆΠΈ ΠΈ Π² случай Π½Π° успСх.

Π”Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ Π΅ΠΊΠΈΠΏΡŠΡ‚ Π½Π° Π‘ΠΎΠ± Π΅ ΠΈΠ·Π³Ρ€Π°Π΄ΠΈΠ» Π½ΠΎΠ²ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ слСд Ρ‚ΠΎΠ²Π° Π΅ ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Π» внСдряванията си, Π·Π° Π΄Π° Π²Π½Π΅Π΄Ρ€ΠΈ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ (всички ΠΎΡ‚ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€Π° Π½Π° CI).

Ако ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сС ΠΈΠ·Π³Ρ€Π°Π΄ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»Π½ΠΎ, Π½ΠΎ Ρ‚Ρ€ΡŠΠ±ΠΎΠΏΡ€ΠΎΠ²ΠΎΠ΄ΡŠΡ‚ сС ΠΏΡ€ΠΎΠ²Π°Π»ΠΈ, Π΅ΠΊΠΈΠΏΡŠΡ‚ Ρ‰Π΅ трябва Π΄Π° Ρ€Π°Π·Π±Π΅Ρ€Π΅:

  • Разпространи Π»ΠΈ сС актуализацията?
  • ΠŸΡƒΡΠΊΠ°ΠΌΠ΅ Π»ΠΈ Π½ΠΎΠ²Π° конструкция? Π©Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅ Π»ΠΈ Ρ‚ΠΎΠ²Π° Π΄ΠΎ Π½Π΅Π½ΡƒΠΆΠ½ΠΈ странични Π΅Ρ„Π΅ΠΊΡ‚ΠΈ - с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π΄Π° ΠΈΠΌΠ° Π΄Π²Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΠΈ Π½Π° Π΅Π΄Π½ΠΎ ΠΈ ΡΡŠΡ‰ΠΎ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅?
  • Врябва Π»ΠΈ Π΄Π° ΠΈΠ·Ρ‡Π°ΠΊΠ°ΠΌΠ΅ слСдващата актуализация, ΠΏΡ€Π΅Π΄ΠΈ Π΄Π° стартирамС компилацията?
  • Какво Ρ‚ΠΎΡ‡Π½ΠΎ сС ΠΎΠ±ΡŠΡ€ΠΊΠ°? Кои ΡΡ‚ΡŠΠΏΠΊΠΈ трябва Π΄Π° сС повторят (ΠΈ ΠΊΠΎΠΈ са бСзопасни Π·Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅)?

УстановяванСто Π½Π° Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° Git Ρ€Π°Π±ΠΎΡ‚Π΅Π½ процСс Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°, Ρ‡Π΅ Π΅ΠΊΠΈΠΏΡŠΡ‚ Π½Π° Π‘ΠΎΠ± няма Π΄Π° срСщнС Ρ‚Π΅Π·ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ. Π’Π΅ всС ΠΎΡ‰Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° направят Π³Ρ€Π΅ΡˆΠΊΠ° с натисканСто Π½Π° ΠΊΠΎΠΌΠΈΡ‚Π°, Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚Π° ΠΈΠ»ΠΈ някой Π΄Ρ€ΡƒΠ³ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€; ΠΎΠ±Π°Ρ‡Π΅, Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ всС ΠΎΡ‰Π΅ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-близък Π΄ΠΎ изричния ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ β€žΠ²ΡΠΈΡ‡ΠΊΠΎ ΠΈΠ»ΠΈ Π½ΠΈΡ‰ΠΎβ€œ.

Π—Π° Π΄Π° ΠΎΠ±ΠΎΠ±Ρ‰ΠΈΠΌ, Π΅Ρ‚ΠΎ Π·Π°Ρ‰ΠΎ CI ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ Π½Π΅ трябва Π΄Π° работят с CD:

  • Π‘ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ²Π΅Ρ‚Π΅ Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ са Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΡ€Π°Π½ΠΈ; ЛСсно сС правят Π³Ρ€Π΅ΡˆΠΊΠΈ Π² тях.
  • CI ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ Π½Π΅ сС сблиТават с дСкларативния ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π΅Π½ ΠΌΠΎΠ΄Π΅Π».
  • Π’Ρ€ΡƒΠ΄Π½ΠΎ Π΅ Π΄Π° сС Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π° идСмпотСнтност. ΠŸΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ трябва Π΄Π° Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ Π΄ΡŠΠ»Π±ΠΎΠΊΠ°Ρ‚Π° сСмантика Π½Π° систСмата.
  • По-Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ сС Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π° ΠΎΡ‚ частичСн ΠΎΡ‚ΠΊΠ°Π·.

Π‘Π΅Π»Π΅ΠΆΠΊΠ° относно Helm: Ако искатС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Helm, ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡Π²Π°ΠΌΠ΅ Π΄Π° Π³ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ с GitOps ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠΊΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€. Flux-Helm. Π’ΠΎΠ²Π° Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° сС осигури конвСргСнция. Бамият Helm Π½Π΅ Π΅ Π½ΠΈΡ‚ΠΎ дСтСрминистичСн, Π½ΠΈΡ‚ΠΎ Π°Ρ‚ΠΎΠΌΠ΅Π½.

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 инструмСнт:

  • автоматизация;
  • конвСргСнция;
  • идСмпотСнтност;
  • Π΄Π΅Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΈΠ·ΡŠΠΌ.

Π’ΠΎΠ²Π° Π΅ Π²Π°ΠΆΠ½ΠΎ, Π·Π°Ρ‰ΠΎΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π·Π° мСстни Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π² ΠΎΠ±Π»Π°ΠΊ.

  • Π’Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ инструмСнти Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ систСми Π·Π° наблюдСниС са ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΈ Π΅ΠΊΠΈΠΏΠΈ, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ Π² Ρ€Π°ΠΌΠΊΠΈΡ‚Π΅ Π½Π° runbook (Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Ρ€ΡƒΡ‚ΠΈΠ½Π½ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€ΠΈ ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ - ΠΏΡ€ΠΈΠ±Π». ΠΏΡ€Π΅Π².), ΠΎΠ±Π²ΡŠΡ€Π·Π°Π½ΠΈ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ внСдряванС.
  • ΠŸΡ€ΠΈ мСстното ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΎΠ±Π»Π°ΠΊΠ° инструмСнтитС Π·Π° наблюдСниС са Π½Π°ΠΉ-добрият Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΈΠ·ΠΌΠ΅Ρ€Π²Π°Π½Π΅ Π½Π° Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ внСдряванията, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΅ΠΊΠΈΠΏΡŠΡ‚ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π΅Π°Π³ΠΈΡ€Π° Π±ΡŠΡ€Π·ΠΎ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Ρ‚Π΅ си ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ, Ρ€Π°Π·ΠΏΡ€ΡŠΡΠ½Π°Ρ‚ΠΈ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠ±Π»Π°Ρ†ΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ услуги със собствСни Π΅ΠΊΠΈΠΏΠΈ ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° внСдряванС. GitOps ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΌΠ°Ρ‰Π°Π±Π½ΠΎ ΠΈΠ½Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅Π½ ΠΌΠΎΠ΄Π΅Π» Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° цялото Ρ‚ΠΎΠ²Π° ΠΈΠ·ΠΎΠ±ΠΈΠ»ΠΈΠ΅.

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

ΠŸΡ€ΠΎΡ‡Π΅Ρ‚Π΅Ρ‚Π΅ ΡΡŠΡ‰ΠΎ Π² нашия Π±Π»ΠΎΠ³:

Π’ Π°Π½ΠΊΠ΅Ρ‚Π°Ρ‚Π° ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° участват само рСгистрирани ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ. Π’ΠΏΠΈΡˆΠΈ сС, Моля Ρ‚Π΅.

Π—Π½Π°Π΅Ρ‚Π΅ Π»ΠΈ Π·Π° GitOps ΠΏΡ€Π΅Π΄ΠΈ Ρ‚Π΅Π·ΠΈ Π΄Π²Π° ΠΏΡ€Π΅Π²ΠΎΠ΄Π° Π΄Π° сС появят Π½Π° HabrΓ©?

  • Π”Π°, Π·Π½Π°Π΅Ρ… всичко

  • Π‘Π°ΠΌΠΎ ΠΏΠΎΠ²ΡŠΡ€Ρ…Π½ΠΎΡΡ‚Π½ΠΎ

  • НС

35 ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ гласуваха. 10 ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ сС Π²ΡŠΠ·Π΄ΡŠΡ€ΠΆΠ°Ρ…Π°.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€