ΠŸΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Istio Service Mesh

Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ, дСмонстриращи някои ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Istio Service Mesh Π² комбинация с Red Hat OpenShift ΠΈ Kubernetes.

ΠŸΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Istio Service Mesh

Част ΠΏΡŠΡ€Π²Π° днСс:

  • НСка обясним концСпцията Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ с кошовС Π½Π° Kubernetes ΠΈ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€Π°ΠΌΠ΅ Π»Π°ΠΉΡ‚ΠΌΠΎΡ‚ΠΈΠ²Π° Π½Π° Ρ‚Π°Π·ΠΈ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: "Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° промСнятС Π½ΠΈΡ‰ΠΎ във вашия ΠΊΠΎΠ΄".
  • НСка си прСдставим Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΎΡ‚ΠΎ Π½Π΅Ρ‰ΠΎ Π½Π° Istio - ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅. Всички останали Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Istio са ΠΈΠ·Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π²ΡŠΡ€Ρ…Ρƒ тях, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π²ΠΈ позволяват Π΄Π° насочватС Ρ‚Ρ€Π°Ρ„ΠΈΠΊ към микроуслуги, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ YAML Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, външни Π·Π° ΠΊΠΎΠ΄Π° Π½Π° услугата. НиС ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Ρ€Π°Π·Π³Π»Π΅ΠΆΠ΄Π°ΠΌΠ΅ схСмата Π·Π° Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° Canary Deployment. НовогодишСн бонус - 10 ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Istio ΡƒΡ€ΠΎΠΊΠ°


Част Π²Ρ‚ΠΎΡ€Π°, която Ρ‰Π΅ ΠΈΠ·Π»Π΅Π·Π΅ скоро, Ρ‰Π΅ Π²ΠΈ ΠΊΠ°ΠΆΠ΅:

  • Как Istio ΠΏΡ€ΠΈΠ»Π°Π³Π° Pool Ejection във Π²Ρ€ΡŠΠ·ΠΊΠ° с Circuit Breaker ΠΈ дСмонстрира ΠΊΠ°ΠΊ Istio Π²ΠΈ позволява Π΄Π° ΠΏΡ€Π΅ΠΌΠ°Ρ…Π½Π΅Ρ‚Π΅ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ ΠΈΠ»ΠΈ лошо Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ ΠΏΠΎΠ΄ ΠΎΡ‚ балансовата схСма.
  • Π©Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΈ Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π·Π° ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Ρ‡Π° Π½Π° Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° ΠΎΡ‚ ΠΏΡŠΡ€Π²Π°Ρ‚Π° публикация Π·Π° Ρ‚ΠΎΠ²Π° ΠΊΠ°ΠΊ Istio ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚ΡƒΠΊ. Π©Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈ Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π°ΠΌΠ΅ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ Π±Π΅Π· Π½ΠΈ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ° промяна Π² ΠΊΠΎΠ΄Π° Π½Π° услугата, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ YAML ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π½ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ.

Ρ‚Ρ€Π΅Ρ‚Π° част:

  • Π˜ΡΡ‚ΠΎΡ€ΠΈΡ Π·Π° прослСдяванС ΠΈ наблюдСниС, която Π²Π΅Ρ‡Π΅ Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½Π° ΠΈΠ»ΠΈ лСсно Π΄ΠΎΠ±Π°Π²Π΅Π½Π° към Istio. Π©Π΅ Π²ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ инструмСнти ΠΊΠ°Ρ‚ΠΎ Prometheus, Jaeger ΠΈ Grafana във Π²Ρ€ΡŠΠ·ΠΊΠ° с ΠΌΠ°Ρ‰Π°Π±ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° OpenShift, Π·Π° Π΄Π° управляватС Π±Π΅Π· усилиС Π²Π°ΡˆΠ°Ρ‚Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π½Π° микросСрвизи.
  • ΠŸΡ€Π΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΎΡ‚ наблюдСниС ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ към ΡƒΠΌΠΈΡˆΠ»Π΅Π½ΠΎΡ‚ΠΎ ΠΈΠΌ въвСТданС Π² систСмата. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, Π½Π°ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ сС Π΄Π° ΠΏΡ€Π°Π²ΠΈΠΌ ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, Π±Π΅Π· Π΄Π° промСнямС изходния ΠΊΠΎΠ΄, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ Π³Π»Π΅Π΄Π½Π° Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π° тСстванСто - Π·Π°Ρ‰ΠΎΡ‚ΠΎ Π°ΠΊΠΎ ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ самия ΠΊΠΎΠ΄ Π·Π° Ρ‚ΠΎΠ²Π°, Ρ‚ΠΎΠ³Π°Π²Π° ΠΈΠΌΠ° риск ΠΎΡ‚ въвСТданС Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ Π³Ρ€Π΅ΡˆΠΊΠΈ.

И накрая, Π² послСдната публикация Π½Π° Istio Service Mesh:

  • Π”Π° ΠΎΡ‚ΠΈΠ΄Π΅ΠΌ Π½Π° Π’ΡŠΠΌΠ½Π°Ρ‚Π° страна. По-Ρ‚ΠΎΡ‡Π½ΠΎ, Ρ‰Π΅ сС Π½Π°ΡƒΡ‡ΠΈΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ схСмата Dark Launch, ΠΊΠΎΠ³Π°Ρ‚ΠΎ ΠΊΠΎΠ΄ΡŠΡ‚ сС внСдрява ΠΈ тСства Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π²ΡŠΡ€Ρ…Ρƒ производствСни Π΄Π°Π½Π½ΠΈ, Π½ΠΎ ΠΏΠΎ никакъв Π½Π°Ρ‡ΠΈΠ½ Π½Π΅ засяга Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° систСмата. Π’ΠΎΠ²Π° Π΅ мястото, ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ способността Π½Π° Istio Π΄Π° раздСля Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΈΠ΄Π²Π° Π½Π° ΠΏΠΎΠΌΠΎΡ‰. А способността Π΄Π° сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π°Ρ‚ тСстовС Π²ΡŠΡ€Ρ…Ρƒ производствСни Π΄Π°Π½Π½ΠΈ Π½Π° ΠΆΠΈΠ²ΠΎ, Π±Π΅Π· Π΄Π° сС засяга ΠΏΠΎ никакъв Π½Π°Ρ‡ΠΈΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π° Π½Π° Π±ΠΎΠΉΠ½Π°Ρ‚Π° систСма, Π΅ Π½Π°ΠΉ-убСдитСлният Π½Π°Ρ‡ΠΈΠ½ Π·Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°.
  • НадграТдайки Dark Launch, Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΌΠΎΠ΄Π΅Π»Π° Canary Deployment, Π·Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡ‚Π΅ риска ΠΈ Π΄Π° улСснитС внСдряванСто Π½Π° Π½ΠΎΠ² ΠΊΠΎΠ΄. Π‘Π°ΠΌΠΎΡ‚ΠΎ внСдряванС Π½Π° Canary Π½Π΅ Π΅ Π½ΠΎΠ²ΠΎ, Π½ΠΎ Istio Π²ΠΈ позволява Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΡ‚Π΅ Ρ‚Π°Π·ΠΈ схСма само с прости YAML Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅.
  • Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‰Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Istio Egress, Π·Π° Π΄Π° Π΄Π°Π΄Π΅Ρ‚Π΅ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ услуги Π½Π° Ρ‚Π΅Π·ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ са извън Π²Π°ΡˆΠΈΡ‚Π΅ ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€ΠΈ, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° Istio ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚.

И Ρ‚Π°ΠΊΠ°, Ρ‚Ρ€ΡŠΠ³Π²Π°ΠΌΠ΅...

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡƒΠΌ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Istio - всичко, ΠΎΡ‚ ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅, Π·Π° Π΄Π° ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€Π°Ρ‚Π΅ микроуслуги Π² ΠΌΡ€Π΅ΠΆΠΎΠ²Π° ΠΌΡ€Π΅ΠΆΠ° Π·Π° услуги сСрвизна ΠΌΡ€Π΅ΠΆΠ°.

Какво С Istio Service Mesh

Услугата mesh изпълнява Π·Π° Π³Ρ€ΡƒΠΏΠ° услуги Ρ‚Π°ΠΊΠΈΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°Ρ‚ΠΎ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ Π½Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ°, ΠΎΡ‚ΠΊΡ€ΠΈΠ²Π°Π½Π΅, сигурност, толСрантност към Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΠΈ Π½Π΅Ρ‰Π°. Istio Π²ΠΈ позволява Π΄Π° ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ всичко Ρ‚ΠΎΠ²Π° Π±Π΅Π· Π½ΠΈ Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ° промяна Π² ΠΊΠΎΠ΄Π° Π½Π° самитС услуги. Каква Π΅ Ρ‚Π°ΠΉΠ½Π°Ρ‚Π° Π½Π° магията? Istio прикрСпя своС собствСно прокси към всяка услуга ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с кош (sidecar Π΅ кош Π·Π° ΠΌΠΎΡ‚ΠΎΡ†ΠΈΠΊΠ»Π΅Ρ‚), слСд ΠΊΠΎΠ΅Ρ‚ΠΎ цСлият Ρ‚Ρ€Π°Ρ„ΠΈΠΊ към Ρ‚Π°Π·ΠΈ услуга ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π²Π° ΠΏΡ€Π΅Π· проксито, ΠΊΠΎΠ΅Ρ‚ΠΎ, Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄Π΅Π½ΠΎ ΠΎΡ‚ посочСнитС ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ, Ρ€Π΅ΡˆΠ°Π²Π° ΠΊΠ°ΠΊ, ΠΊΠΎΠ³Π° ΠΈ Π΄Π°Π»ΠΈ Ρ‚ΠΎΠ²Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡŠΡ‚ ΠΈΠ·ΠΎΠ±Ρ‰ΠΎ трябва Π΄Π° достигнС Π΄ΠΎ услугата. Istio ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π²ΠΈ Π΄Π°Π²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π΄Π° внСдряватС ΡƒΡΡŠΠ²ΡŠΡ€ΡˆΠ΅Π½ΡΡ‚Π²Π°Π½ΠΈ DevOps Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ, ΠΊΠ°Ρ‚ΠΎ внСдряванС Π½Π° Canary, ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Ρ‡ΠΈ, ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ.

Как Istio Ρ€Π°Π±ΠΎΡ‚ΠΈ с ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Kubernetes

ΠœΡ€Π΅ΠΆΠ°Ρ‚Π° Π½Π° услугата Istio Π΅ рСализация Π½Π° всичко Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° създаванС ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° микроуслуги: наблюдСниС, прослСдяванС, ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Ρ‡ΠΈ, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅, балансиранС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ, ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΈ ΠΎΠΏΠΈΡ‚ΠΈ, ΠΈΠ·Ρ‡Π°ΠΊΠ²Π°Π½Π΅, ΠΎΠ³Π»Π΅Π΄Π°Π»Π½ΠΎ отразяванС, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ°, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° скоростта ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ. И Π²ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ днСс ΠΈΠΌΠ° Ρ‚ΠΎΠ½ΠΎΠ²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² ΠΊΠΎΠ΄Π°, с Istio ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ ΡΡŠΡ‰ΠΎΡ‚ΠΎ, Π±Π΅Π· Π΄Π° промСнятС Π½ΠΈΡ‰ΠΎ Π² ΠΊΠΎΠ΄Π° си.

Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° коша, Istio Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² Linux ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€, ΠΊΠΎΠΉΡ‚ΠΎ сС Π½Π°ΠΌΠΈΡ€Π° Π² Π΅Π΄ΠΈΠ½ Kubernetes-pod с ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Π½Π° услуга ΠΈ внСдрява (inject) ΠΈ ΠΈΠ·Π²Π»ΠΈΡ‡Π° (extract) функционалност ΠΈ информация спорСд Π΄Π°Π΄Π΅Π½Π°Ρ‚Π° конфигурация. ΠŸΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π²Π°ΠΌΠ΅, Ρ‡Π΅ Ρ‚ΠΎΠ²Π° Π΅ ваша собствСна конфигурация ΠΈ тя ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π° извън вашия ΠΊΠΎΠ΄. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»Π½ΠΎ ΠΊΠΎΠ΄ΡŠΡ‚ става ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-опростСн ΠΈ ΠΊΡ€Π°Ρ‚ΡŠΠΊ.

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

Π‘Π΅Ρ€Π²ΠΈΠ·Π½Π° Ρ€Π΅ΡˆΠ΅Ρ‚ΠΊΠ°

Istio, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈΡ‚Π΅ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° микроуслугитС извън тСхния ΠΊΠΎΠ΄ – Ρ‚ΠΎΠ²Π° Π΅ концСпцията Π½Π° Service Mesh. Π‘ Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, Ρ‚ΠΎΠ²Π° Π΅ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½ΠΈΡ€Π°Π½Π° Π³Ρ€ΡƒΠΏΠ° ΠΎΡ‚ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅Ρ‡Π΅ Π΄Π²ΠΎΠΈΡ‡Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π°Ρ‚ ΠΌΡ€Π΅ΠΆΠ° ΠΎΡ‚ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.

Как Istio Ρ€Π°Π±ΠΎΡ‚ΠΈ с микроуслуги

Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈΡ‚Π΅ с кош работят във Π²Ρ€ΡŠΠ·ΠΊΠ° с Kubernetes ΠΈ минисмяна ΠΈΠ·Π³Π»Π΅Π΄ ΠΎΡ‚ ΠΏΡ‚ΠΈΡ‡ΠΈ ΠΏΠΎΠ³Π»Π΅Π΄: стартирайтС инстанция Π½Π° Minishift, ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Istio (Π΄Π° Π³ΠΎ Π½Π°Ρ€Π΅Ρ‡Π΅ΠΌ β€žistio-systemβ€œ), инсталирайтС ΠΈ стартирайтС всички ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, ΡΠ²ΡŠΡ€Π·Π°Π½ΠΈ с Istio. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π°, Π΄ΠΎΠΊΠ°Ρ‚ΠΎ ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ ΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅, Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ информация Π·Π° конфигурацията към Π²Π°ΡˆΠΈΡ‚Π΅ внСдрявания ΠΈ Π²Π°ΡˆΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π·Π°ΠΏΠΎΡ‡Π²Π°Ρ‚ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Istio. ΠžΠΏΡ€ΠΎΡΡ‚Π΅Π½Π° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚Π°ΠΊΠ°:

ΠŸΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Istio Service Mesh

Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ настройкитС Π½Π° Istio, Π·Π° Π΄Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ, ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ Π½Π° Canary ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° Istio - ΠΈ всичко Ρ‚ΠΎΠ²Π° Π±Π΅Π· Π΄Π° докосватС ΠΊΠΎΠ΄Π° Π½Π° самитС прилоТСния. Π”Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ искатС Π΄Π° прСнасочитС цСлия ΡƒΠ΅Π± Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΎΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π½Π° Π½Π°ΠΉ-голСмия си ΠΊΠ»ΠΈΠ΅Π½Ρ‚ (Foo Corporation) към Π½ΠΎΠ²Π° вСрсия Π½Π° вашия сайт. Всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅, Π΅ Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Istio, ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‚ΡŠΡ€ΡΠΈ @foocorporation.com Π² потрСбитСлския ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎ прСнасочва. Π—Π° всички останали ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π½ΠΈΡ‰ΠΎ няма Π΄Π° сС ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈ. ΠœΠ΅ΠΆΠ΄ΡƒΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π²ΠΈΠ΅ Ρ‚ΠΈΡ…ΠΎΠΌΡŠΠ»ΠΊΠΎΠΌ Ρ‰Π΅ тСстватС Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° сайта. И ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄, Ρ‡Π΅ Π·Π° Ρ‚ΠΎΠ²Π° Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ.

И ΠΊΠΎΠ»ΠΊΠΎ трябва Π΄Π° ΠΏΠ»Π°Ρ‚ΠΈΡ‚Π΅ Π·Π° Π½Π΅Π³ΠΎ?

Π’ΡŠΠΎΠ±Ρ‰Π΅ Π½Π΅. Istio Π΅ доста Π±ΡŠΡ€Π·, написано Π΅ Go ΠΈ създава ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»ΠΊΠΈ Ρ€Π΅ΠΆΠΈΠΉΠ½ΠΈ Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈ. Π’ допълнСниС, възмоТна Π·Π°Π³ΡƒΠ±Π° Π½Π° ΠΎΠ½Π»Π°ΠΉΠ½ производитСлност сС компСнсира ΠΎΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° производитСлността Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅. ПонС Π½Π° тСория: Π½Π΅ забравяйтС, Ρ‡Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π΅ Ρ†Π΅Π½Π½ΠΎ. По ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ Π·Π° софтуСр, Istio Π΅ софтуСр с ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΅ Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π°Π½Π΅ ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅.

ΠžΠ²Π»Π°Π΄Π΅ΠΉΡ‚Π΅ Π³ΠΎ сами

Π•ΠΊΠΈΠΏΡŠΡ‚ Π·Π° ΠΎΠΏΠΈΡ‚ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° Red Hat Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈΠ» Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡Π΅Π½Π° практичСска Ρ€Π°Π±ΠΎΡ‚Π° Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ ΠΎΡ‚ Istio (Π½Π° английски). Π Π°Π±ΠΎΡ‚ΠΈ Π½Π° Linux, MacOS ΠΈ Windows, Π° ΠΊΠΎΠ΄ΡŠΡ‚ сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° във Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈ Π½Π° Java ΠΈ Node.js.

10 ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΈ Istio ΡƒΡ€ΠΎΠΊΠ°

Π‘Π»ΠΎΠΊ 1 - Π—Π° Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‰ΠΈ

Π’ΡŠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² Istio
30 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
Π—Π°ΠΏΠΎΠ·Π½Π°Π²Π°ΠΌΠ΅ сС с Service Mesh, Π½Π°ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° инсталирамС Istio Π² ΠΊΠ»ΡŠΡΡ‚Π΅Ρ€Π° Kubernetes OpenShift.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

ВнСдряванС Π½Π° микроуслуги Π² Istio
30 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
ИзползвамС Istio Π·Π° внСдряванС Π½Π° Ρ‚Ρ€ΠΈ микроуслуги с Spring Boot ΠΈ Vert.x.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

Π‘Π»ΠΎΠΊ 2 - срСдно Π½ΠΈΠ²ΠΎ

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ прослСдяванС Π² Istio
60 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
Π Π°Π·Π³Π»Π΅Π΄Π°ΠΉΡ‚Π΅ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈΡ‚Π΅ инструмСнти Π·Π° наблюдСниС Π½Π° Istio, пСрсонализирани ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ ΠΈ OpenTracing Ρ‡Ρ€Π΅Π· Prometheus ΠΈ Grafana.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

ЛСсно ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π² Istio
60 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
НаучСтС ΠΊΠ°ΠΊ Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°Ρ‚Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π² Istio, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ прости ΠΏΡ€Π°Π²ΠΈΠ»Π°.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

Π Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅
60 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
Π—Π°ΠΏΠΎΠ·Π½Π°Π²Π°ΠΌΠ΅ сС с ΠΈΠ½Ρ‚Π΅Π»ΠΈΠ³Π΅Π½Ρ‚Π½ΠΎΡ‚ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π² Istio, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ°, балансиранС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° скоростта.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

Π‘Π»ΠΎΠΊ 3 - Π Π°Π·ΡˆΠΈΡ€Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»

Π˜Π½ΠΆΠ΅ΠΊΡ‚ΠΈΡ€Π°Π½Π΅ Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ Π² Istio
60 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
НиС ΠΈΠ·ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ сцСнарии Π·Π° справянС с нСизправности Π² Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ прилоТСния, създавайки HTTP Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ закъснСния ΠΈ Π½Π°ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°ΠΌΠ΅ хаос ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€ΠΈΠ½Π³ Π·Π° Π²ΡŠΠ·ΡΡ‚Π°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° срСдата.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

ΠŸΡ€Π΅ΠΊΡŠΡΠ²Π°Ρ‡ Π² Istio
30 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
НиС инсталирамС Siege Π·Π° сайтовС Π·Π° стрСс тСстванС ΠΈ Π½Π°ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΠΊΠ°ΠΊ Π΄Π° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€Π°ΠΌΠ΅ толСрантност към Π³Ρ€Π΅ΡˆΠΊΠΈ Π² Π±Π΅ΠΊΠ΅Π½Π΄Π°, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΈ ΠΎΠΏΠΈΡ‚ΠΈ, ΠΏΡ€Π΅ΠΊΡŠΡΠ²Π°Ρ‡ Π½Π° Π²Π΅Ρ€ΠΈΠ³Π°Ρ‚Π° ΠΈ ΠΈΠ·Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° ΠΏΡƒΠ»Π°.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

ЕгрСс ΠΈ Π˜ΡΡ‚ΠΈΠΎ
10 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
НиС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΠΈΠ·Ρ…ΠΎΠ΄Π½ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈ, Π·Π° Π΄Π° създадСм ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° взаимодСйствиС Π½Π° Π²ΡŠΡ‚Ρ€Π΅ΡˆΠ½ΠΈ услуги с външни API ΠΈ услуги.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

Π˜ΡΡ‚ΠΈΠΎ ΠΈ Киали
15 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
НаучаванС ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Kiali, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ цялостна ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° ΠΌΡ€Π΅ΠΆΠ° Π½Π° услугата ΠΈ Π΄Π° ΠΏΡ€ΠΎΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠ° ΠΎΡ‚ заявки ΠΈ Π΄Π°Π½Π½ΠΈ.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

Π’Π·Π°ΠΈΠΌΠ΅Π½ TLS Π² Istio
15 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
НиС създавамС Istio Gateway ΠΈ VirtualService, слСд ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ Π²Π·Π°ΠΈΠΌΠ½ΠΎ TLS (mTLS) ΠΈ Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ настройки Π² Π΄Π΅Ρ‚Π°ΠΉΠ»ΠΈ.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

ΠšΠ°Ρ€Π΅ 3.1 – Π”ΡŠΠ»Π±ΠΎΠΊΠΎ Π³ΠΌΡƒΡ€ΠΊΠ°Π½Π΅: Istio Service Mesh Π·Π° микроуслуги

ΠŸΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Istio Service Mesh
Π—Π° ΠΊΠ°ΠΊΠ²ΠΎ сС Ρ€Π°Π·ΠΊΠ°Π·Π²Π° Π² ΠΊΠ½ΠΈΠ³Π°Ρ‚Π°:

  • Какво Π΅ сСрвизна ΠΌΡ€Π΅ΠΆΠ°.
  • Istio систСма ΠΈ Π½Π΅ΠΉΠ½Π°Ρ‚Π° роля Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°Ρ‚Π° Π½Π° микросСрвизитС.
  • ИзползванС Π½Π° Istio Π·Π° слСднитС Π·Π°Π΄Π°Ρ‡ΠΈ:
    • ВолСрантност към Π³Ρ€Π΅ΡˆΠΊΠΈ;
    • ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅;
    • ВСстванС Π½Π° хаос;
    • сигурност;
    • ΠšΠΎΠ»Π΅ΠΊΡ†ΠΈΡ ΠΎΡ‚ тСлСмСтрия с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° прослСдяванС, ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° ΠΈ Grafana.

Π—Π° Π΄Π° ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈΡ‚Π΅ ΠΊΠ½ΠΈΠ³Π°

БСрия ΠΎΡ‚ статии Π·Π° сСрвизни ΠΌΡ€Π΅ΠΆΠΈ ΠΈ Istio

ΠžΠΏΠΈΡ‚Π°ΠΉΡ‚Π΅ сами

Π’Π°Π·ΠΈ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π½Π΅ Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° Π΄Π° осигури дълбоко Π³ΠΌΡƒΡ€ΠΊΠ°Π½Π΅ Π² свСта Π½Π° Istio. ΠŸΡ€ΠΎΡΡ‚ΠΎ искамС Π΄Π° Π²ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ със самата концСпция ΠΈ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π΄Π° Π²ΠΈ Π²Π΄ΡŠΡ…Π½ΠΎΠ²ΠΈΠΌ Π΄Π° ΠΎΠΏΠΈΡ‚Π°Ρ‚Π΅ Istio сами. Π’ΠΎΠ²Π° Π΅ напълно Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ ΠΈ Red Hat прСдоставя всички Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ инструмСнти, Π·Π° Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π° с OpenShift, Kubernetes, Linux ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ Istio, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ: ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° OpenShift Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° Red Hat, Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ Π·Π° Istio ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ рСсурси Π½Π° нашия сСрвизСн мрСТСст микросайт. НС ΠΎΡ‚Π»Π°Π³Π°ΠΉΡ‚Π΅, Π·Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅ днСс!

ΠŸΡ€Π°Π²ΠΈΠ»Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Istio: НасочванС Π½Π° заявкитС Π·Π° услуги към ΠΏΡ€Π°Π²ΠΈΠ»Π½ΠΎΡ‚ΠΎ място

ΠΎΡ‚Π²ΠΎΡ€Π΅Π½Π° смяна ΠΈ Kubernetes сС справят ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ с микроуслуги насочСн към Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ подс. Π’ΠΎΠ²Π° Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ Ρ†Π΅Π»ΠΈΡ‚Π΅ Π½Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Kubernetes - ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΈ балансиранС Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ. Но ΠΊΠ°ΠΊΠ²ΠΎ Ρ‰Π΅ станС, Π°ΠΊΠΎ ΠΈΠΌΠ°Ρ‚Π΅ Π½ΡƒΠΆΠ΄Π° ΠΎΡ‚ ΠΏΠΎ-Ρ„ΠΈΠ½ΠΎ ΠΈ слоТно ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅? НапримСр, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΄Π²Π΅ вСрсии Π½Π° микроуслуга Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Как ΠŸΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π½Π° Istio Route ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ Ρ‚ΡƒΠΊ?

ΠŸΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ са ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π°, ΠΊΠΎΠΈΡ‚ΠΎ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ опрСдСлят ΠΈΠ·Π±ΠΎΡ€Π° Π½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚. НСзависимо ΠΎΡ‚ слоТността Π½Π° систСмата, общият ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Π·Π°Π΄ Ρ‚Π΅Π·ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° остава прост: заявкитС сС ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚ въз основа Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ ΠΈ стойности Π½Π° HTTP Π·Π°Π³Π»Π°Π²ΠΊΠ°.
НСка Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ:

Kubernetes ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅: Π’Ρ€ΠΈΠ²ΠΈΠ°Π»Π½ΠΎ β€ž50/50β€œ

Π’ нашия ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‰Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΄Π²Π΅ вСрсии Π½Π° микроуслуга Π² OpenShift Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π½Π΅ΠΊΠ° Π³ΠΈ Π½Π°Ρ€Π΅Ρ‡Π΅ΠΌ v1 ΠΈ v2. Всяка вСрсия Ρ€Π°Π±ΠΎΡ‚ΠΈ Π² свой собствСн Kubernetes pod ΠΈ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ балансираното ΠΊΡ€ΡŠΠ³ΠΎΠ²ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ‚ΡƒΠΊ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅. ВсСки pod ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° своя дял ΠΎΡ‚ заявки спорСд броя Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ СкзСмпляри Π½Π° микросСрвизи, с Π΄Ρ€ΡƒΠ³ΠΈ Π΄ΡƒΠΌΠΈ, Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ. Istio Π²ΠΈ позволява Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΠ·ΠΈ баланс Ρ€ΡŠΡ‡Π½ΠΎ.

Π”Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ Π²Π½Π΅Π΄Ρ€ΠΈΡ…ΠΌΠ΅ Π΄Π²Π΅ вСрсии Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° услуга Π·Π° ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈ, preporuka-v1 ΠΈ ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΠΊΠΈ-v2, Π½Π° OpenShift.
На Ρ„ΠΈΠ³. Π€ΠΈΠ³ΡƒΡ€Π° 1 ΠΏΠΎΠΊΠ°Π·Π²Π°, Ρ‡Π΅ ΠΊΠΎΠ³Π°Ρ‚ΠΎ всяка услуга Π΅ прСдставСна Π² Π΅Π΄ΠΈΠ½ СкзСмпляр, заявкитС сС разпрСдСлят Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ ΠΌΠ΅ΠΆΠ΄Ρƒ тях: 1-2-1-2-… Π•Ρ‚ΠΎ ΠΊΠ°ΠΊ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° Kubernetes Ρ€Π°Π±ΠΎΡ‚ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅:

ΠŸΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Istio Service Mesh

ΠŸΡ€Π΅Ρ‚Π΅Π³Π»Π΅Π½ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиитС

На Ρ„ΠΈΠ³. Π€ΠΈΠ³ΡƒΡ€Π° 2 ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΊΠ°ΠΊΠ²ΠΎ сС случва, Π°ΠΊΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚Π΅ броя Π½Π° Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈΡ‚Π΅ Π½Π° услугата v2 ΠΎΡ‚ Π΅Π΄Π½Π° Π½Π° Π΄Π²Π΅ (Ρ‚ΠΎΠ²Π° сС ΠΏΡ€Π°Π²ΠΈ с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° oc scale --replicas=2 deployment/recommendation-v2). ΠšΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, заявкитС ΠΌΠ΅ΠΆΠ΄Ρƒ v1 ΠΈ v2 Π²Π΅Ρ‡Π΅ са Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π² ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π΅Π΄Π½ΠΎ към Ρ‚Ρ€ΠΈ: 1-2-2-1-2-2-…:

ΠŸΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Istio Service Mesh

Π˜Π³Π½ΠΎΡ€ΠΈΡ€Π°ΠΉΡ‚Π΅ вСрсията с Istio

Istio улСснява промяната Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° заявкитС ΠΏΠΎ Π½Π°Ρ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅ΠΌ. НапримСр, ΠΈΠ·ΠΏΡ€Π°Ρ‚Π΅Ρ‚Π΅ цСлия Ρ‚Ρ€Π°Ρ„ΠΈΠΊ само към preporuka-v1 със слСдния Istio yaml Ρ„Π°ΠΉΠ»:

ΠŸΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Istio Service Mesh

Π’ΡƒΠΊ трябва Π΄Π° ΠΎΠ±ΡŠΡ€Π½Π΅Ρ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎΠ²Π°: ΡˆΡƒΡˆΡƒΠ»ΠΊΠΈΡ‚Π΅ сС ΠΈΠ·Π±ΠΈΡ€Π°Ρ‚ спорСд Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈΡ‚Π΅. Π’ нашия ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ v1. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€ΡŠΡ‚ "weight: 100" ΠΎΠ·Π½Π°Ρ‡Π°Π²Π°, Ρ‡Π΅ 100% ΠΎΡ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Ρ‰Π΅ бъдС насочСн към всички ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π½Π° услугата, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠΌΠ°Ρ‚ Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ v1.

Π Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиитС (внСдряванС Π½Π° Canary)

ОсвСн Ρ‚ΠΎΠ²Π°, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° Π·Π° Ρ‚Π΅Π³Π»ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° насочитС Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° към Π΄Π²Π΅Ρ‚Π΅ Π³Ρ€ΡƒΠΏΠΈ, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°Ρ‚Π΅ броя Π½Π° СкзСмпляритС Π½Π° микроуслуги, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ във всяка ΠΎΡ‚ тях. НапримСр, Ρ‚ΡƒΠΊ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ насочвамС 90% ΠΎΡ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° към v1 ΠΈ 10% към v2:

ΠŸΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Istio Service Mesh

ΠžΡ‚Π΄Π΅Π»Π½ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ‰Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ Π΄Π° бъдС насочСн към услугата v2, Π° всички останали ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΠΈ към v1. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Ρ‚ΠΎΠ²Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ, Π·Π° Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ стойността Π½Π° потрСбитСлския Π°Π³Π΅Π½Ρ‚ Π² Π·Π°Π³Π»Π°Π²ΠΊΠ°Ρ‚Π° Π½Π° заявката:

ΠŸΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² Istio Service Mesh

Π‘Π΅Π³Π° Π΅ Ρ‚Π²ΠΎΠΉ Ρ€Π΅Π΄

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΡŠΡ‚ Π·Π° рСгулярСн ΠΈΠ·Ρ€Π°Π· Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠΈ трябва Π΄Π° Π²ΠΈ ΠΌΠΎΡ‚ΠΈΠ²ΠΈΡ€Π° Π΄Π° ΠΏΡ€ΠΎΡƒΡ‡ΠΈΡ‚Π΅ Π²Π°ΡˆΠΈΡ‚Π΅ собствСни Π½Π°Ρ‡ΠΈΠ½ΠΈ Π·Π° ΠΏΡ€ΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Istio. ОсвСн Ρ‚ΠΎΠ²Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Ρ‚ΡƒΠΊ са ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡˆΠΈΡ€Π½ΠΈ, Ρ‚ΡŠΠΉ ΠΊΠ°Ρ‚ΠΎ стойноститС Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠΈΡ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° сС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ‚ Π² изходния ΠΊΠΎΠ΄ Π½Π° прилоТСнията.

И Π½Π΅ забравяйтС, Ρ‡Π΅ Ops, Π° Π½Π΅ Dev

Всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ…ΠΌΠ΅ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈΡ‚Π΅ ΠΏΠΎ-Π³ΠΎΡ€Π΅, сС ΠΏΡ€Π°Π²ΠΈ Π±Π΅Π· Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ° промяна Π² изходния ΠΊΠΎΠ΄, Π΄ΠΎΠ±Ρ€Π΅, с ΠΈΠ·ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° случаитС, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° сС Ρ„ΠΎΡ€ΠΌΠΈΡ€Π°Ρ‚ спСциални Π·Π°Π³Π»Π°Π²ΠΊΠΈ Π½Π° заявки. Istio Ρ‰Π΅ бъдС ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΊΠ°ΠΊΡ‚ΠΎ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‰Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° тСстванС, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π½Π° ИВ систСми, Π½Π° ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π² производството.

Π’Π°ΠΊΠ° Ρ‡Π΅ Π½Π΅ΠΊΠ° ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΠΌ Ρ‚Π΅ΠΌΠ°Ρ‚Π° Π½Π° Ρ‚Π°Π·ΠΈ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° промСнятС Π½ΠΈΡ‰ΠΎ Π² ΠΊΠΎΠ΄Π° си. Няма Π½ΡƒΠΆΠ΄Π° Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ Π½ΠΎΠ²ΠΈ изобраТСния ΠΈΠ»ΠΈ Π΄Π° стартиратС Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. Всичко Ρ‚ΠΎΠ²Π° Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°Π½ΠΎ извън ΠΊΠΎΠ΄Π°.

Π²ΠΊΠ»ΡŽΡ‡Π΅Ρ‚Π΅ Π²ΡŠΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ си

Π‘Π°ΠΌΠΎ си прСдставСтС пСрспСктивитС Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° заглавия с рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ. Π˜ΡΠΊΠ°Ρ‚Π΅ Π΄Π° прСнасочитС Π½Π°ΠΉ-голСмия си ΠΊΠ»ΠΈΠ΅Π½Ρ‚ към спСциална вСрсия Π½Π° Π²Π°ΡˆΠ°Ρ‚Π° микроуслуги? ЛСсно! НуТдаСтС сС ΠΎΡ‚ ΠΎΡ‚Π΄Π΅Π»Π½Π° вСрсия Π·Π° Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π° Chrome? Няма ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ! ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Ρ‚Π΅ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° спорСд ΠΏΠΎΡ‡Ρ‚ΠΈ всяка Π½Π΅Π³ΠΎΠ²Π° характСристика.

ΠžΠΏΠΈΡ‚Π°ΠΉΡ‚Π΅ сами

Π§Π΅Ρ‚Π΅Π½Π΅Ρ‚ΠΎ Π·Π° Istio, Kubernetes ΠΈ OpenShift Π΅ Π΅Π΄Π½ΠΎ, Π½ΠΎ Π·Π°Ρ‰ΠΎ Π½Π΅ сС докоснСтС Π΄ΠΎ всичко сами? Π•ΠΊΠΈΠΏ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Red Hat ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ (Π½Π° английски), ΠΊΠΎΠ΅Ρ‚ΠΎ Ρ‰Π΅ Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΠΎΠ²Π»Π°Π΄Π΅Π΅Ρ‚Π΅ Ρ‚Π΅Π·ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ възмоТно Π½Π°ΠΉ-Π±ΡŠΡ€Π·ΠΎ. Π ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎΡ‚ΠΎ ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ със 100% ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ Π΅ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ достояниС. Π€Π°ΠΉΠ»ΡŠΡ‚ Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° macOS, Linux ΠΈ Windows, Π° изходният ΠΊΠΎΠ΄ Π΅ Π½Π°Π»ΠΈΡ‡Π΅Π½ във вСрсии Π½Π° Java ΠΈ node.js (ΠΎΡ‡Π°ΠΊΠ²Π°ΠΉΡ‚Π΅ скоро ΠΎΡ‰Π΅ Π΅Π·ΠΈΡ†ΠΈ). ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΎΡ‚Π²ΠΎΡ€Π΅Ρ‚Π΅ ΡΡŠΠΎΡ‚Π²Π΅Ρ‚Π½ΠΎΡ‚ΠΎ git Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ във вашия Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ ДСмонстрация Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈ Π½Π° Red Hat.

Π’ слСдващата публикация: красиво Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΈ

ДнСс видяхтС ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° правят ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Istio. Π‘Π΅Π³Π° си прСдставСтС всичко ΡΡŠΡ‰ΠΎΡ‚ΠΎ, Π½ΠΎ само във Π²Ρ€ΡŠΠ·ΠΊΠ° с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. Π’ΠΎΡ‡Π½ΠΎ Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π² слСдващата публикация.

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

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