ΠΡ Π½Π°ΡΠΈΠ½Π°Π΅ΠΌ ΡΠ΅ΡΠΈΡ ΠΏΠΎΡΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΈ Istio Service Mesh Π² ΡΠΎΡΠ΅ΡΠ°Π½ΠΈΠΈ Ρ Red Hat OpenShift ΠΈ Kubernetes.
Π§Π°ΡΡΡ ΠΏΠ΅ΡΠ²Π°Ρ, ΡΠ΅Π³ΠΎΠ΄Π½ΡΡΠ½ΡΡ:
- ΠΠ±ΡΡΡΠ½ΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ 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 β Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΈΠΈ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² Π² ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠ΅
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ ΡΠ΅ΡΠΊΠ° 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-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ
Π§ΡΠΎ Π΅ΡΠ΅ Π²Π°ΠΆΠ½ΠΎ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ² ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π½ΠΈΠΊΠ°ΠΊ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π° Ρ ΡΠ°ΠΌΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π° Π·Π½Π°ΡΠΈΡ ΠΈΡ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΏΠΎΠΊΠΎΠΉΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΠ’-ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ. Π ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅, ΠΏΠΎΡΠ΅ΠΌΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° circuit breakerβΡ ΠΈ fault injection? Π Π΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ β Π΄Π°, Π½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ? ΠΡΠ»ΠΈ ΡΠ±ΡΠ°ΡΡ Π²ΡΡ ΡΡΠΎΠ³ΠΎ ΠΈΠ· ΠΊΠΎΠ΄Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΡΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π΅. ΠΠ° ΠΈ ΡΠ°ΠΌ ΠΊΠΎΠ΄ ΡΡΠ°Π½Π΅Ρ ΠΊΠΎΡΠΎΡΠ΅ ΠΈ ΠΏΡΠΎΡΠ΅.
Π‘Π΅ΡΠ²ΠΈΡΠ½Π°Ρ ΡΠ΅ΡΠΊΠ°
Istio, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ Π²Π½Π΅ ΠΈΡ ΠΊΠΎΠ΄Π° β ΡΡΠΎ ΠΈ Π΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΊΠΈ Service Mesh. ΠΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΡΡΠΎ ΡΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ Π³ΡΡΠΏΠΏΠ° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±ΡΠ°Π·ΡΡΡ ΡΠ΅ΡΠΊΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ°ΠΊ Istio ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ°ΠΌΠΈ
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°Π±ΠΎΡΠ° sidecar-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ΅Π½ΡΠΎΠ² Ρ ΡΠ²ΡΠ·ΠΊΠ΅ Ρ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Istio, ΡΡΠΎΠ±Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ fault injection, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ
Π Π΄ΠΎΡΠΎΠ³ΠΎ Π·Π° ΡΡΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ Π·Π°ΠΏΠ»Π°ΡΠΈΡΡ?
ΠΡΠ½ΡΠ΄Ρ. Istio ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ Π±ΡΡΡΡΠΎ, ΠΎΠ½ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π°
ΠΡΠ²ΠΎΠΉΡΠ΅ ΡΠ°ΠΌΠΈ
ΠΠΎΠΌΠ°Π½Π΄Π° Red Hat Developer Experience Team ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π»Π° ΡΠ³Π»ΡΠ±Π»Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅
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 Π΄Π»Ρ ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ²
ΠΡΠΎ ΡΡΠΎ ΠΊΠ½ΠΈΠ³Π°:
- Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ²ΠΈΡΠ½Π°Ρ ΡΠ΅ΡΠΊΠ° service mesh.
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Istio ΠΈ Π΅Π΅ ΡΠΎΠ»Ρ Π² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠΉ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ΅.
- ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Istio ΠΏΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ
Π·Π°Π΄Π°Ρ:
- ΠΡΠΊΠ°Π·ΠΎΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ;
- ΠΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ;
- Π₯Π°ΠΎΡ-ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅;
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ;
- Π‘Π±ΠΎΡ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΠΌΠ΅ΡΡΠΈΠΊ ΠΈ Grafana.
Π‘Π΅ΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ ΠΏΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ½ΡΠΌ ΡΠ΅ΡΠΊΠ°ΠΌ ΠΈ Istio
ΠΡΠ°Π²ΠΈΠ»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Istio: Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡ-Π·Π°ΠΏΡΠΎΡΡ ΡΡΠ΄Π°, ΠΊΡΠ΄Π° Π½ΡΠΆΠ½ΠΎ Circuit BreakerβΡ Π² Isio: ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Pool Ejection Circuit Breaker Π² Istio: ΠΊΠΎΠ³Π΄Π° ΠΎΡΠΊΠ°Π· β ΡΡΠΎ Π²Π°ΡΠΈΠ°Π½Ρ Π’ΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ Π² Istio: ΠΊΡΠ΄Π° Π²ΡΠ΅ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ ΠΈ ΠΊΠ°ΠΊ Π±ΡΡΡΡΠΎ Π₯Π°ΠΎΡ-ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠΈΠ½Π³ Π² Istio: ΡΠ°ΠΊ ΠΈ Π±ΡΠ»ΠΎ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ Dark Launch Π² Istio: ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ Canary Deployment Π² Istio: ΡΠΏΡΠΎΡΠ°Π΅ΠΌ Π²Π²ΠΎΠ΄ Π² ΡΡΡΠΎΠΉ Istio Egress: Π²ΡΡ ΠΎΠ΄ ΡΠ΅ΡΠ΅Π· ΡΡΠ²Π΅Π½ΠΈΡΠ½ΡΡ Π»Π°Π²ΠΊΡ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°ΠΌΠΈ
ΠΡΠ° ΡΠ΅ΡΠΈΡ ΠΏΠΎΡΡΠΎΠ² Π½Π΅ ΡΡΠ°Π²ΠΈΡ ΡΠ΅Π»ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΌΠΈΡ Istio. ΠΡ ΠΏΡΠΎΡΡΠΎ Ρ
ΠΎΡΠΈΠΌ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡ Π²Π°Ρ Ρ ΡΠ°ΠΌΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠ΅ΠΉ ΠΈ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ, Π²Π΄ΠΎΡ
Π½ΠΎΠ²ΠΈΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Istio. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ, ΠΈ Red Hat ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΠΎΡΠ²Π°ΠΈΠ²Π°ΡΡ OpenShift, Kubernetes, Linux-ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΈ Istio, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:
ΠΡΠ°Π²ΠΈΠ»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Istio: Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ΅ΡΠ²ΠΈΡ-Π·Π°ΠΏΡΠΎΡΡ ΡΡΠ΄Π°, ΠΊΡΠ΄Π° Π½ΡΠΆΠ½ΠΎ
ΠΡΠ°Π²ΠΈΠ»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ β ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΊΠΎΡΠΎΡΡΠ΅, ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ, Π·Π°Π΄Π°ΡΡ Π²ΡΠ±ΠΎΡ ΠΌΠ°ΡΡΡΡΡΠ°. ΠΡΠΈ Π»ΡΠ±ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΠ±ΡΠΈΠΉ ΠΏΡΠΈΠ½ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΡ ΡΡΠΈΡ
ΠΏΡΠ°Π²ΠΈΠ» ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ: Π·Π°ΠΏΡΠΎΡΡ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΡΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² 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 ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
ΠΠ·Π²Π΅ΡΠ΅Π½Π½ΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ
ΠΠ° ΡΠΈΡ. 2 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ Π±ΡΠ΄Π΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΏΠ»ΠΈΠΊ ΡΠ΅ΡΠ²ΠΈΡΠ° v2 Ρ ΠΎΠ΄Π½ΠΎΠΉ Π΄ΠΎ Π΄Π²ΡΡ (ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ oc scale —replicas=2 deployment/recommendation-v2). ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΠΌ, Π·Π°ΠΏΡΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ v1 ΠΈ v2 ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π΅Π»ΡΡΡΡ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Β«ΠΎΠ΄ΠΈΠ½ ΠΊ ΡΡΠ΅ΠΌΒ»: 1-2-2-1-2-2-β¦:
ΠΠ³Π½ΠΎΡ Π²Π΅ΡΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Istio
Istio ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½ΡΠΆΠ½ΡΠΌ Π½Π°ΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π²Π΅ΡΡ ΡΡΠ°ΡΠΈΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° recommendation-v1 Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ yaml-ΡΠ°ΠΉΠ»Π° Istio:
ΠΠ΄Π΅ΡΡ Π½Π°Π΄ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π²ΠΎΡ Π½Π° ΡΡΠΎ: podβΡ Π²ΡΠ±ΠΈΡΠ°ΡΡΡΡ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΠΌΠ΅ΡΠΊΠ°ΠΌ. Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΊΠ° v1. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«weight: 100Β» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ 100% ΡΡΠ°ΡΠΈΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° Π²ΡΠ΅ podβΡ ΡΠ΅ΡΠ²ΠΈΡΠ°, Ρ ΠΊΠΎΡΠΎΡΡΡ Π΅ΡΡΡ ΠΌΠ΅ΡΠΊΠ° v1.
ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΡΠΌΠΈ (Canary Deployment)
ΠΠ°Π»Π΅Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ weight, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΊ ΠΎΠ±ΠΎΠΈΠΌ podβΠ°ΠΌ, ΠΈΠ³Π½ΠΎΡΠΈΡΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΡΠΎΠ², Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π΄Π΅ΡΡ ΠΌΡ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ 90% ΡΡΠ°ΡΠΈΠΊΠ° Π½Π° v1 ΠΈ 10% β Π½Π° v2:
ΠΡΠ΄Π΅Π»ΡΠ½Π°Ρ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ°ΡΠΈΠΊ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΠ΅ΡΠ²ΠΈΡ v2, Π° Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ β Π½Π° v1. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ user-agent Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ°:
Π’Π΅ΠΏΠ΅ΡΡ Π²Π°ΡΠ° ΠΎΡΠ΅ΡΠ΅Π΄Ρ
ΠΡΠΈΠΌΠ΅Ρ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΌΠΎΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π²Π°Ρ Π½Π° ΠΏΠΎΠΈΡΠΊ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ» ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Istio. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π΄Π΅ΡΡ ΠΎΡΠΊΡΡΠ²Π°ΡΡΡΡ Π²Π΅ΡΡΠΌΠ° ΠΎΠ±ΡΠΈΡΠ½ΡΠ΅, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
Π ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Ops, Π° Π½Π΅ Dev
ΠΡΡ, ΡΡΠΎ ΠΌΡ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Π²ΡΡΠ΅, Π΄Π΅Π»Π°Π΅ΡΡΡ Π±Π΅Π· ΠΌΠ°Π»Π΅ΠΉΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π½Ρ Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ΅Ρ ΡΠ»ΡΡΠ°Π΅Π², ΠΊΠΎΠ³Π΄Π° Π½Π°Π΄ΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΎΡΠΎΠ±ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ². Istio ΠΏΡΠΈΠ³ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΅Π³ΠΎ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ, ΡΠ°ΠΊ ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ ΠΏΠΎ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠ°ΡΠΈΠΈ ΠΠ’-ΡΠΈΡΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠΌ ΠΎΠ½ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π² ΠΏΡΠΎΠ΄Π°ΠΊΡΠ½Π΅.
Π’Π°ΠΊ ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌ Π»Π΅ΠΉΡΠΌΠΎΡΠΈΠ² ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ ΠΏΠΎΡΡΠΎΠ²: Π²Π°ΠΌ Π½Π΅ Π½Π°Π΄ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΠΌΠ΅Π½ΡΡΡ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠ΄Π΅. ΠΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΎΠ±ΡΠ°Π·Ρ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ. ΠΡΠ΅ ΡΡΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ Π²Π½Π΅ ΠΊΠΎΠ΄Π°.
ΠΠΊΠ»ΡΡΠΈΡΠ΅ Π²ΠΎΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
Π’ΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Π°Π½Π°Π»ΠΈΠ· Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ
Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π₯ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΡΡΠΏΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ²ΠΎΠΈΡ
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠ°ΠΌΠΈ
Π§ΠΈΡΠ°ΡΡ ΠΏΡΠΎ Istio, Kubernetes ΠΈ OpenShift β ΡΡΠΎ ΠΎΠ΄Π½ΠΎ, Π½ΠΎ ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ ΠΏΠΎΡΡΠΎΠ³Π°ΡΡ Π²ΡΠ΅ ΡΠ²ΠΎΠΈΠΌΠΈ ΡΡΠΊΠ°ΠΌΠΈ? ΠΠΎΠΌΠ°Π½Π΄Π°
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅: ΠΎΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΊΡΠ°ΡΠΈΠ²ΠΎ
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Π²Ρ ΡΠ²ΠΈΠ΄Π΅Π»ΠΈ, Π½Π° ΡΡΠΎ ΡΠΏΠΎΡΠΎΠ±Π½Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠΈ Istio. Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ Π²ΡΠ΅ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, Π½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ. ΠΠΌΠ΅Π½Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ ΠΌΡ ΠΈ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com