БСрия постов ΠΏΠΎ 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 прСкрасно ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ обращСния ΠΊ микросСрвисам ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ ΠΊ Π½ΡƒΠΆΠ½Ρ‹ΠΌ pod’ам. Π’ этом ΠΈ Π΅ΡΡ‚ΡŒ ΠΎΠ΄Π½Π° ΠΈΠ· Ρ†Π΅Π»Π΅ΠΉ сущСствования Kubernetes – ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ балансировка Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. А Ρ‡Ρ‚ΠΎ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° Π±ΠΎΠ»Π΅Π΅ тонкая ΠΈ изощрСнная ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ? НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π²Π΅ вСрсии микросСрвиса. Как здСсь ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Istio Route Rules?

ΠŸΡ€Π°Π²ΠΈΠ»Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ – это ΠΏΡ€Π°Π²ΠΈΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅, собствСнно, Π·Π°Π΄Π°ΡŽΡ‚ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°. ΠŸΡ€ΠΈ любом ΡƒΡ€ΠΎΠ²Π½Π΅ слоТности систСмы ΠΎΠ±Ρ‰ΠΈΠΉ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этих ΠΏΡ€Π°Π²ΠΈΠ» остаСтся простым: запросы ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° основС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² HTTP.
ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ…:

Kubernetes ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Β«50 Π½Π° 50Β»

Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² OpenShift Π΄Π²Π΅ вСрсии микросСрвиса, Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΠΈΡ… v1 ΠΈ v2. КаТдая вСрсия запускаСтся Π² собствСнном pod’С Kubernetes, ΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ здСсь Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ€Π°Π²Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎ сбалансированная цикличСская ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΡ (evenly balanced round robin routing). ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ pod ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ свою долю запросов ΠΏΠΎ числу Π΅Π³ΠΎ экзСмпляров микросСрвиса, ΠΈΠ½Π°Ρ‡Π΅ говоря, Ρ€Π΅ΠΏΠ»ΠΈΠΊ. 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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ