БСрия постовС Π·Π° 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, повторСния, Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚s, зСркализация, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏΠ°, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π°Π²Π°Π½Π΅ Π½Π° скоростта ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ. И ΠΌΠ°ΠΊΠ°Ρ€ днСс Π΄Π° ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚ мноТСство Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ Π΄Π° осигурят Ρ‚Π΅Π·ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π½ΠΎ Π² ΠΊΠΎΠ΄Π°, с 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 Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅ ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π½Π° 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 – ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΈ Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅. А ΠΊΠ°ΠΊΠ²ΠΎ, Π°ΠΊΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅ ΠΎΡ‚ ΠΏΠΎ-Ρ„ΠΈΠ½ΠΎ ΠΈ слоТнo ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅? НапримСр, Π·Π° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π΄Π²Π΅ вСрсии Π½Π° микросСрвиса. Как Ρ‚ΡƒΠΊ Ρ‰Π΅ ΠΏΠΎΠΌΠΎΠ³Π½Π°Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»Π°Ρ‚Π° Π·Π° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·ΠΈΡ€Π°Π½Π΅ 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

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