БСрия ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Istio Service Mesh

Π—Π°ΠΏΠΎΡ‡Π²Π°ΠΌΠ΅ ΠΏΠΎΡ€Π΅Π΄ΠΈΡ†Π° ΠΎΡ‚ постовС, Π² ΠΊΠΎΠΈΡ‚ΠΎ Ρ‰Π΅ дСмонстрирамС някои ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΎΠ±Ρ€ΠΎΠΉΠ½ΠΈΡ‚Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ Π½Π° сСрвизната ΠΌΡ€Π΅ΠΆΠ° Istio Service Mesh Π² комбинация с Red Hat OpenShift ΠΈ Kubernetes.

БСрия ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Istio Service Mesh

Част ΠΏΡŠΡ€Π²Π°, Π΄Π½Π΅ΡˆΠ½Π°Ρ‚Π°:

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


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

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

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

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

Накрая, Π² послСдния пост ΠΏΠΎ Istio Service Mesh:

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

И Ρ‚Π°ΠΊΠ°, Π΄Π° Π·Π°ΠΏΠΎΡ‡Π½Π΅ΠΌ...

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ Π·Π° ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Istio – всичко Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° координация Π½Π° микросСрвизитС Π² сСрвисната ΠΌΡ€Π΅ΠΆΠ° service mesh.

Какво Π΅ сСрвисна ΠΌΡ€Π΅ΠΆΠ° Istio

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

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

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

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

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ опСрационная ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ микросСрвисов Π½Π΅ связана Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с ΠΊΠΎΠ΄ΠΎΠΌ, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΈΡ… ΡΠΊΡΠΏΠ»ΡƒΠ°Ρ‚Π°Ρ†ΠΈΡŽ ИВ-спСциалистам. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ circuit breaker’ах ΠΈ fault injection? Он ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½ΠΎ ΠΊΠΎΠ³ΠΎ Π²ΠΎΠ»Π½ΡƒΠ΅Ρ‚ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈ созданиС? Π£Π±Ρ€Π°Π² это ΠΈΠ· ΠΊΠΎΠ΄Π°, программисты смогут ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅, Π° сам ΠΊΠΎΠ΄ станСт ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈ ΠΏΡ€ΠΎΡ‰Π΅.

БСрвисна ΠΌΡ€Π΅ΠΆΠ°

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

Как Istio Ρ€Π°Π±ΠΎΡ‚ΠΈ с микросСрвиситС

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

БСрия ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Istio Service Mesh

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

А ΠΊΠΎΠ»ΠΊΠΎ Ρ‰Π΅ ΠΌΠΈ струва?

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

НаучСтС сами

Π•ΠΊΠΈΠΏΡŠΡ‚ Π½Π° Red Hat Developer Experience Team Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΈ Π·Π°Π΄ΡŠΠ»Π±ΠΎΡ‡Π΅Π½ΠΎ практичСско Ρ€ΡŠΠΊΠΎΠ²ΠΎΠ΄ΡΡ‚Π²ΠΎ ΠΏΠΎ 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 – ΠΎΠΏΠΈΡ‚Π΅Π½ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»

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

Circuit Breaker Π² Istio
30 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΌΠ΅ Siege Π·Π° стрСс тСстиранС Π½Π° сайтовС ΠΈ ΡƒΡ‡ΠΈΠΌ ΠΊΠ°ΠΊ Π΄Π° осигурим отказоустойчивост Π½Π° Π±Π΅ΠΊΠ΅Π½Π΄Π° с ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° повторСния, circuit breaker ΠΈ pool ejection.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

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

Istio ΠΈ Kiali
15 ΠΌΠΈΠ½ΡƒΡ‚ΠΈ
Π£Ρ‡ΠΈΠΌ сС ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Kiali, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΠ±Ρ‰Π° прСдстава Π·Π° сСрвисната ΠΌΡ€Π΅ΠΆΠ° ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Π΅Ρ‚Π΅ Π½Π° запитвания ΠΈ Π΄Π°Π½Π½ΠΈ.
Π—Π°ΠΏΠΎΡ‡Π½Π΅Ρ‚Π΅

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

Π‘Π»ΠΎΠΊ 3.1 β€” Π”ΡŠΠ»Π±ΠΎΡ‡ΠΈΠ½Π½ΠΎ потапянС: Istio Service Mesh Π·Π° микросСрвизи

БСрия ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Istio Service Mesh
Π—Π° ΠΊΠ°ΠΊΠ²ΠΎ Π΅ ΠΊΠ½ΠΈΠ³Π°Ρ‚Π°:

  • Какво Π΅ сСрвисна ΠΌΡ€Π΅ΠΆΠ° service mesh.
  • БистСмата Istio ΠΈ Π½Π΅ΠΉΠ½Π°Ρ‚Π° роля Π² микросСрвисната Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°.
  • Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Istio ΠΏΡ€ΠΈ Ρ€Π΅ΡˆΠ°Π²Π°Π½Π΅ Π½Π° слСднитС Π·Π°Π΄Π°Ρ‡ΠΈ:
    • ΠžΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚;
    • ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ;
    • Π₯аос тСстванС;
    • Бигурност;
    • Π‘ΡŠΠ±ΠΈΡ€Π°Π½Π΅ Π½Π° тСлСмСтрия Ρ‡Ρ€Π΅Π· прослСдяванС, ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ ΠΈ Grafana.

Π‘Π²Π°Π»ΠΈ ΠΊΠ½ΠΈΠ³Π°Ρ‚Π°

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

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

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

ΠŸΡ€Π°Π²ΠΈΠ»Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π² Istio: насочвамС сСрвисни заявки ΠΊΡŠΠ΄Π΅Ρ‚ΠΎ Π΅ Π½ΡƒΠΆΠ½ΠΎ

OpenShift ΠΈ Kubernetes ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ сС справят с насочванСто Π½Π° микросСрвизи към Π½ΡƒΠΆΠ½ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΎΠ²Π΅. Π’ Ρ‚ΠΎΠ²Π° Π΅ Π΅Π΄Π½Π° ΠΎΡ‚ Ρ†Π΅Π»ΠΈΡ‚Π΅ Π½Π° Kubernetes – ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΈ балансировка Π½Π° Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅Ρ‚ΠΎ. А ΠΊΠ°ΠΊΠ²ΠΎ, Π°ΠΊΠΎ Π²ΠΈ трябва ΠΏΠΎ-Ρ„ΠΈΠ½Π° ΠΈ изискана ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ? НапримСр, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΄Π²Π΅ вСрсии Π½Π° микросСрвиз Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. Как Ρ‚ΡƒΠΊ Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π² Istio Route Rules?

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

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

Π’ нашия ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‰Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΄Π²Π΅ вСрсии Π½Π° микросСрвиз Π² OpenShift, Π½Π°Ρ€Π΅Ρ‡Π΅Π½ΠΈ v1 ΠΈ v2. Всяка вСрсия сС изпълнява Π² собствСн ΠΏΠΎΠ΄ Π½Π° Kubernetes, Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Ρ‚ΡƒΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ балансирана Ρ†ΠΈΠΊΠ»ΠΈΡ‡Π½Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ (evenly balanced round robin routing). ВсСки ΠΏΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° своя дял заявки Π² зависимост ΠΎΡ‚ броя Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡ‚Π΅ инстанции Π½Π° микросСрвиза, ΠΈΠ½Π°Ρ‡Π΅ ΠΊΠ°Π·Π°Π½ΠΎ, Ρ€Π΅ΠΏΠ»ΠΈΠΊΠΈ. Istio позволява ΠΎΠ±Π°Ρ‡Π΅ Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π° балансиранС Ρ€ΡŠΡ‡Π½ΠΎ.

Π”Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Π΅ смС Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΠ»ΠΈ Π΄Π²Π΅ вСрсии Π½Π° нашия ΠΏΡ€Π΅ΠΏΠΎΡ€ΡŠΡ‡ΠΈΡ‚Π΅Π»Π΅Π½ сСрвис Π² OpenShift, recommendation-v1 ΠΈ recommendation-v2.
На рис. 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 позволява лСсно Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΠΌ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° заявкитС, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ Π½ΡƒΠΆΠ½ΠΎ. НапримСр, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° насочим цСлия Ρ‚Ρ€Π°Ρ„ΠΈΠΊ само към recommendation-v1 с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° слСдния yaml Ρ„Π°ΠΉΠ» Π½Π° Istio:

БСрия ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Istio Service Mesh

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

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ вСрсиитС (Canary Deployment)

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° weight, ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° насочвамС Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° към ΠΈ Π΄Π²Π΅Ρ‚Π΅ pod'ΠΎΠ²Π΅, ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€Π°ΠΉΠΊΠΈ броя Π½Π° инстанциитС Π½Π° микросСрвиситС, стартирани Π² тях. НапримСр, Ρ‚ΡƒΠΊ насочвамС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ 90% ΠΎΡ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° към v1 ΠΈ 10% – към v2:

БСрия ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Istio Service Mesh

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

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

БСрия ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ Istio Service Mesh

Π‘Π΅Π³Π° Π²Π°ΡˆΠΈΡΡ‚ Ρ€Π΅Π΄

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

И ΠΏΠΎΠΌΠ½Π΅Ρ‚Π΅, Ρ‡Π΅ Ops, Π° Π½Π΅ Dev

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

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

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

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Ρ‚Π΅ Π»ΠΈ си ΠΊΠ°ΠΊΠ²ΠΈ пСрспСктиви ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π°Π½Π°Π»ΠΈΠ·ΡŠΡ‚ Π½Π° заглавия с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° рСгулярни ΠΈΠ·Ρ€Π°Π·ΠΈ? Π˜ΡΠΊΠ°Ρ‚Π΅ Π»ΠΈ Π΄Π° прСнасочватС Π½Π°ΠΉ-голСмия си ΠΊΠ»ΠΈΠ΅Π½Ρ‚ към спСциална вСрсия Π½Π° своитС микросСрвизи? Π›Π΅Π³ΠΊΠΎ! НуТна ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ вСрсия для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Chrome? НС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°! Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ практичСски ΠΏΠΎ любой Π΅Π³ΠΎ характСристикС.

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

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

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

ДнСс видяхтС ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠ³Π°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Istio. А сСга си прСдставСтС ΡΡŠΡ‰ΠΎΡ‚ΠΎ, Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠΈΠΌΠΎ Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ. ИмСнно Π·Π° Ρ‚ΠΎΠ²Π° Ρ‰Π΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π² слСдващия пост.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster