ΠΠ°ΠΏΠΎΡΠ²Π°ΠΌΠ΅ ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠ°ΡΠΈ Π½ΡΠΊΠΎΠΈ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Istio Service Mesh Π² ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Ρ Red Hat OpenShift ΠΈ Kubernetes.
Π§Π°ΡΡ ΠΏΡΡΠ²Π° Π΄Π½Π΅Ρ:
- ΠΠ΅ΠΊΠ° ΠΎΠ±ΡΡΠ½ΠΈΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Ρ ΠΊΠΎΡΠΎΠ²Π΅ Π½Π° 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 ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ, ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² Π΅Π΄ΠΈΠ½
ΠΠΎ-Π²Π°ΠΆΠ½ΠΎΡΠΎ Π΅, ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π½Π° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈΡΠ΅ ΠΏΠΎ Π½ΠΈΠΊΠ°ΠΊΡΠ² Π½Π°ΡΠΈΠ½ Π½Π΅ Π΅ ΡΠ²ΡΡΠ·Π°Π½ ΡΡΡ ΡΠ°ΠΌΠΈΡ ΠΊΠΎΠ΄, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ ΡΡΡ Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° ΠΌΠΎΠΆΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Ρ Π²ΡΡΠ»Π΅Π½Π° Π½Π° ΠΠ’ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΈ. ΠΠ°ΠΈΡΡΠΈΠ½Π°, Π·Π°ΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π·Π° ΠΏΡΠ΅ΠΊΡΡΠ²Π°ΡΠΈΡΠ΅ ΠΈ ΠΈΠ½ΠΆΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ? ΠΠ° ΡΠ΅Π°Π³ΠΈΡΠ°Ρ, Π½ΠΎ Π΄Π° Π³ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°Ρ ΠΈ ΡΡΠ·Π΄Π°Π²Π°Ρ? ΠΠΊΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π½Π΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° ΠΎΡ ΠΊΠΎΠ΄Π°, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π½Π°ΠΏΡΠ»Π½ΠΎ Π΄Π° ΡΠ΅ ΡΡΡΡΠ΅Π΄ΠΎΡΠΎΡΠ°Ρ Π²ΡΡΡ Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ. Π ΡΠ°ΠΌΠΈΡΡ ΠΊΠΎΠ΄ ΡΠ΅ ΡΡΠ°Π½Π΅ ΠΏΠΎ-ΠΊΡΠ°ΡΡΠΊ ΠΈ ΠΏΠΎ-ΠΏΡΠΎΡΡ.
Π‘Π΅ΡΠ²ΠΈΠ·Π½Π° ΡΠ΅ΡΠ΅ΡΠΊΠ°
Istio, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈΡΠ΅ ΠΈΠ·Π²ΡΠ½ ΡΠ΅Ρ Π½ΠΈΡ ΠΊΠΎΠ΄ β ΡΠΎΠ²Π° Π΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡΠ° Π½Π° Service Mesh. Π‘ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, ΡΠΎΠ²Π° Π΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½ΠΈΡΠ°Π½Π° Π³ΡΡΠΏΠ° ΠΎΡ Π΅Π΄ΠΈΠ½ ΠΈΠ»ΠΈ ΠΏΠΎΠ²Π΅ΡΠ΅ Π΄Π²ΠΎΠΈΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΊΠΎΠΈΡΠΎ ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Ρ ΠΌΡΠ΅ΠΆΠ° ΠΎΡ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΠ°ΠΊ Istio ΡΠ°Π±ΠΎΡΠΈ Ρ ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ
ΠΡΠΎ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈΡΠ΅ Ρ ΠΊΠΎΡ ΡΠ°Π±ΠΎΡΡΡ Π²ΡΠ² Π²ΡΡΠ·ΠΊΠ° Ρ
Π‘Π΅Π³Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° Istio, Π·Π° Π΄Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ½ΠΆΠ΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°
Π ΠΊΠΎΠ»ΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠ»Π°ΡΠΈΡΠ΅ Π·Π° Π½Π΅Π³ΠΎ?
ΠΡΠΎΠ±ΡΠ΅ Π½Π΅. Istio Π΅ Π΄ΠΎΡΡΠ° Π±ΡΡΠ·, Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π΅
ΠΠ²Π»Π°Π΄Π΅ΠΉΡΠ΅ Π³ΠΎ ΡΠ°ΠΌΠΈ
ΠΠΊΠΈΠΏΡΡ Π·Π° ΠΎΠΏΠΈΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° Red Hat Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΈΠ» Π·Π°Π΄ΡΠ»Π±ΠΎΡΠ΅Π½Π° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ°
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 ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ Π½Π΅ΠΉΠ½Π°ΡΠ° ΡΠΎΠ»Ρ Π² Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈΡΠ΅.
- ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Istio Π·Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π·Π°Π΄Π°ΡΠΈ:
- Π’ΠΎΠ»Π΅ΡΠ°Π½ΡΠ½ΠΎΡΡ ΠΊΡΠΌ Π³ΡΠ΅ΡΠΊΠΈ;
- ΠΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅;
- Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° Ρ Π°ΠΎΡ;
- ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ;
- ΠΠΎΠ»Π΅ΠΊΡΠΈΡ ΠΎΡ ΡΠ΅Π»Π΅ΠΌΠ΅ΡΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅, ΠΌΠ΅ΡΡΠΈΠΊΠ° ΠΈ Grafana.
Π‘Π΅ΡΠΈΡ ΠΎΡ ΡΡΠ°ΡΠΈΠΈ Π·Π° ΡΠ΅ΡΠ²ΠΈΠ·Π½ΠΈ ΠΌΡΠ΅ΠΆΠΈ ΠΈ Istio
ΠΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Istio: ΠΠ°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΡΠ»ΡΠ³ΠΈ ΠΊΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΠΌΡΡΡΠΎ ΠΡΠ΅ΠΊΡΡΠ²Π°ΡΠΈ Π² Isio: Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ·Ρ Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° Π±Π°ΡΠ΅ΠΉΠ½ ΠΡΠ΅ΠΊΡΡΠ²Π°Ρ Π² Istio: ΠΠΎΠ³Π°ΡΠΎ ΠΏΠΎΠ²ΡΠ΅Π΄Π°ΡΠ° Π΅ ΠΎΠΏΡΠΈΡ ΠΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΠΈ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ Π² Istio: ΠΊΡΠ΄Π΅ ΡΠ΅ Π΄Π²ΠΈΠΆΠΈ Π²ΡΠΈΡΠΊΠΎ ΠΈ ΠΊΠΎΠ»ΠΊΠΎ Π±ΡΡΠ·ΠΎ ΠΠ½ΠΆΠ΅Π½Π΅ΡΠΈΠ½Π³ Π½Π° Ρ Π°ΠΎΡΠ° Π² Istio: ΡΡΡΠ±Π²Π°ΡΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Dark Launch Π² Istio: Π’Π°ΠΉΠ½ΠΈΡΠ΅ ΡΠ»ΡΠΆΠ±ΠΈ ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Canary Π² Istio: ΠΎΠΏΡΠΎΡΡΡΠ²Π°Π½Π΅ Π½Π° Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π² Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠ°ΡΠΈΡ ΠΠ·Ρ ΠΎΠ΄ ΠΎΡ Istio: ΠΈΠ·Π»Π΅Π·ΡΠ΅ ΠΏΡΠ΅Π· ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° Π·Π° ΡΡΠ²Π΅Π½ΠΈΡΠΈ
ΠΠΏΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΌΠΈ
Π’Π°Π·ΠΈ ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π½Π΅ Π΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈ Π΄ΡΠ»Π±ΠΎΠΊΠΎ Π³ΠΌΡΡΠΊΠ°Π½Π΅ Π² ΡΠ²Π΅ΡΠ° Π½Π° Istio. ΠΡΠΎΡΡΠΎ ΠΈΡΠΊΠ°ΠΌΠ΅ Π΄Π° Π²ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ΠΌ ΡΡΡ ΡΠ°ΠΌΠ°ΡΠ° ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΠΈ ΠΌΠΎΠΆΠ΅ Π±ΠΈ Π΄Π° Π²ΠΈ Π²Π΄ΡΡ
Π½ΠΎΠ²ΠΈΠΌ Π΄Π° ΠΎΠΏΠΈΡΠ°ΡΠ΅ Istio ΡΠ°ΠΌΠΈ. Π’ΠΎΠ²Π° Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΎ ΠΈ Red Hat ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ, Π·Π° Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ° Ρ OpenShift, Kubernetes, Linux ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ Istio, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ:
ΠΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Istio: ΠΠ°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΡΠ»ΡΠ³ΠΈ ΠΊΡΠΌ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎΡΠΎ ΠΌΡΡΡΠΎ
ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ ΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ°, ΠΊΠΎΠΈΡΠΎ Π²ΡΡΡΠ½ΠΎΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΈΠ·Π±ΠΎΡΠ° Π½Π° ΠΌΠ°ΡΡΡΡΡ. ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, ΠΎΠ±ΡΠΈΡΡ ΠΏΡΠΈΠ½ΡΠΈΠΏ Π·Π°Π΄ ΡΠ΅Π·ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΎΡΡΠ°Π²Π° ΠΏΡΠΎΡΡ: Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΡΠ΅ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Ρ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π½Π° HTTP Π·Π°Π³Π»Π°Π²ΠΊΠ°.
ΠΠ΅ΠΊΠ° Π΄Π° ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠΈ:
Kubernetes ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅: Π’ΡΠΈΠ²ΠΈΠ°Π»Π½ΠΎ β50/50β
Π Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π΄Π²Π΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³Π° Π² OpenShift Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, Π½Π΅ΠΊΠ° Π³ΠΈ Π½Π°ΡΠ΅ΡΠ΅ΠΌ v1 ΠΈ v2. ΠΡΡΠΊΠ° Π²Π΅ΡΡΠΈΡ ΡΠ°Π±ΠΎΡΠΈ Π² ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½ Kubernetes pod ΠΈ ΡΠ°Π²Π½ΠΎΠΌΠ΅ΡΠ½ΠΎ Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½ΠΎΡΠΎ ΠΊΡΡΠ³ΠΎΠ²ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ ΡΡΠΊ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΡΠ΅ΠΊΠΈ pod ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΠ²ΠΎΡ Π΄ΡΠ» ΠΎΡ Π·Π°ΡΠ²ΠΊΠΈ ΡΠΏΠΎΡΠ΅Π΄ Π±ΡΠΎΡ Π½Π° Π½Π΅Π³ΠΎΠ²ΠΈΡΠ΅ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, Ρ Π΄ΡΡΠ³ΠΈ Π΄ΡΠΌΠΈ, ΡΠ΅ΠΏΠ»ΠΈΠΊΠΈ. Istio Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΎΠ·ΠΈ Π±Π°Π»Π°Π½Ρ ΡΡΡΠ½ΠΎ.
ΠΠ° ΠΏΡΠΈΠ΅ΠΌΠ΅ΠΌ, ΡΠ΅ Π²Π½Π΅Π΄ΡΠΈΡ
ΠΌΠ΅ Π΄Π²Π΅ Π²Π΅ΡΡΠΈΠΈ Π½Π° Π½Π°ΡΠ°ΡΠ° ΡΡΠ»ΡΠ³Π° Π·Π° ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ, preporuka-v1 ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΠΈ-v2, Π½Π° OpenShift.
ΠΠ° ΡΠΈΠ³. Π€ΠΈΠ³ΡΡΠ° 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 ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΏΠΎ Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ·ΠΏΡΠ°ΡΠ΅ΡΠ΅ ΡΠ΅Π»ΠΈΡ ΡΡΠ°ΡΠΈΠΊ ΡΠ°ΠΌΠΎ ΠΊΡΠΌ preporuka-v1 ΡΡΡ ΡΠ»Π΅Π΄Π½ΠΈΡ Istio yaml ΡΠ°ΠΉΠ»:
Π’ΡΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎΠ²Π°: ΡΡΡΡΠ»ΠΊΠΈΡΠ΅ ΡΠ΅ ΠΈΠ·Π±ΠΈΡΠ°Ρ ΡΠΏΠΎΡΠ΅Π΄ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅. Π Π½Π°ΡΠΈΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΅ΡΠΈΠΊΠ΅Ρ v1. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡΡΡ "weight: 100" ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ 100% ΠΎΡ ΡΡΠ°ΡΠΈΠΊΠ° ΡΠ΅ Π±ΡΠ΄Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΠΎΠ²Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ°Ρ Π΅ΡΠΈΠΊΠ΅Ρ v1.
Π Π°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠΈΡΠ΅ (Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° Canary)
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡΠ° Π·Π° ΡΠ΅Π³Π»ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΡΠΎΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΊΠ° ΠΊΡΠΌ Π΄Π²Π΅ΡΠ΅ Π³ΡΡΠΏΠΈ, ΠΊΠ°ΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠ°ΡΠ΅ Π±ΡΠΎΡ Π½Π° Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΈΡΠ΅ Π½Π° ΠΌΠΈΠΊΡΠΎΡΡΠ»ΡΠ³ΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π²ΡΠ² Π²ΡΡΠΊΠ° ΠΎΡ ΡΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ Π½Π°ΡΠΎΡΠ²Π°ΠΌΠ΅ 90% ΠΎΡ ΡΡΠ°ΡΠΈΠΊΠ° ΠΊΡΠΌ v1 ΠΈ 10% ΠΊΡΠΌ v2:
ΠΡΠ΄Π΅Π»Π½ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΊΠ° Π½Π° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π΄Π° Π±ΡΠ΄Π΅ Π½Π°ΡΠΎΡΠ΅Π½ ΠΊΡΠΌ ΡΡΠ»ΡΠ³Π°ΡΠ° v2, Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΡΡΠ°Π½Π°Π»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΊΡΠΌ v1. ΠΠ° Π΄Π° Π½Π°ΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠ²Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ, Π·Π° Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΌΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈΡ Π°Π³Π΅Π½Ρ Π² Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ°:
Π‘Π΅Π³Π° Π΅ ΡΠ²ΠΎΠΉ ΡΠ΅Π΄
ΠΡΠΈΠΌΠ΅ΡΡΡ Π·Π° ΡΠ΅Π³ΡΠ»ΡΡΠ΅Π½ ΠΈΠ·ΡΠ°Π· Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠΈ ΡΡΡΠ±Π²Π° Π΄Π° Π²ΠΈ ΠΌΠΎΡΠΈΠ²ΠΈΡΠ° Π΄Π° ΠΏΡΠΎΡΡΠΈΡΠ΅ Π²Π°ΡΠΈΡΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ Π½Π°ΡΠΈΠ½ΠΈ Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Istio. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈΡΠ΅ ΡΡΠΊ ΡΠ° ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠΈΡΠ½ΠΈ, ΡΡΠΉ ΠΊΠ°ΡΠΎ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈΡΠ΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΊΠΈΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ°Ρ Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ°.
Π Π½Π΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅, ΡΠ΅ Ops, Π° Π½Π΅ Dev
ΠΡΠΈΡΠΊΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ ΠΌΠ΅ Π² ΠΏΡΠΈΠΌΠ΅ΡΠΈΡΠ΅ ΠΏΠΎ-Π³ΠΎΡΠ΅, ΡΠ΅ ΠΏΡΠ°Π²ΠΈ Π±Π΅Π· Π½Π°ΠΉ-ΠΌΠ°Π»ΠΊΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π² ΠΈΠ·Ρ ΠΎΠ΄Π½ΠΈΡ ΠΊΠΎΠ΄, Π΄ΠΎΠ±ΡΠ΅, Ρ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ»ΡΡΠ°ΠΈΡΠ΅, ΠΊΠΎΠ³Π°ΡΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ ΡΠΎΡΠΌΠΈΡΠ°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΈ Π·Π°Π³Π»Π°Π²ΠΊΠΈ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ. Istio ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π³ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° ΠΠ’ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎΡΠΎ.
Π’Π°ΠΊΠ° ΡΠ΅ Π½Π΅ΠΊΠ° ΠΏΠΎΠ²ΡΠΎΡΠΈΠΌ ΡΠ΅ΠΌΠ°ΡΠ° Π½Π° ΡΠ°Π·ΠΈ ΠΏΠΎΡΠ΅Π΄ΠΈΡΠ° ΠΎΡ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ: Π½Π΅ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΡΡΠ΅ Π½ΠΈΡΠΎ Π² ΠΊΠΎΠ΄Π° ΡΠΈ. ΠΡΠΌΠ° Π½ΡΠΆΠ΄Π° Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ. ΠΡΠΈΡΠΊΠΎ ΡΠΎΠ²Π° Π΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ ΠΈΠ·Π²ΡΠ½ ΠΊΠΎΠ΄Π°.
Π²ΠΊΠ»ΡΡΠ΅ΡΠ΅ Π²ΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΡΠΈ
Π‘Π°ΠΌΠΎ ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅ΡΠ΅ ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²ΠΈΡΠ΅ Π·Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°Π³Π»Π°Π²ΠΈΡ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΈ ΠΈΠ·ΡΠ°Π·ΠΈ. ΠΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠΈΡΠ΅ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡ ΡΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΊΡΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° Π²Π°ΡΠ°ΡΠ°
ΠΠΏΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΌΠΈ
Π§Π΅ΡΠ΅Π½Π΅ΡΠΎ Π·Π° Istio, Kubernetes ΠΈ OpenShift Π΅ Π΅Π΄Π½ΠΎ, Π½ΠΎ Π·Π°ΡΠΎ Π½Π΅ ΡΠ΅ Π΄ΠΎΠΊΠΎΡΠ½Π΅ΡΠ΅ Π΄ΠΎ Π²ΡΠΈΡΠΊΠΎ ΡΠ°ΠΌΠΈ? ΠΠΊΠΈΠΏ
Π ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ: ΠΊΡΠ°ΡΠΈΠ²ΠΎ ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ
ΠΠ½Π΅Ρ Π²ΠΈΠ΄ΡΡ
ΡΠ΅ ΠΊΠ°ΠΊΠ²ΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΏΡΠ°Π²ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Istio. Π‘Π΅Π³Π° ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅ΡΠ΅ Π²ΡΠΈΡΠΊΠΎ ΡΡΡΠΎΡΠΎ, Π½ΠΎ ΡΠ°ΠΌΠΎ Π²ΡΠ² Π²ΡΡΠ·ΠΊΠ° Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈ. Π’ΠΎΡΠ½ΠΎ ΡΠΎΠ²Π° ΡΠ΅ ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ Π² ΡΠ»Π΅Π΄Π²Π°ΡΠ°ΡΠ° ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com