Istio

Istio est une plateforme de réseau de services open-source qui offre une manière transparente de sécuriser, connecter et surveiller les services.

Istio est une plate-forme de réseau de services open-source qui fournit un moyen transparent de sécuriser, connecter et surveiller les services. Il est conçu pour gérer la complexité des architectures de microservices en abstrayant la couche réseau. Istio s'exécute généralement comme un ensemble de microservices déployés au sein d'un cluster Kubernetes. Son architecture se compose de deux composants principaux : le Plan de Contrôle et le Plan de Données. Le Plan de Contrôle (par exemple, Pilot, Citadel, Galley) gère et configure les proxys dans le Plan de Données. Le Plan de Données se compose de proxys Envoy déployés en tant que sidecars aux côtés de chaque instance de service. Ces proxys Envoy interceptent tout le trafic réseau entre les services, appliquant les politiques et collectant la télémétrie. Les fonctionnalités clés incluent la gestion du trafic (par exemple, le routage, l'équilibrage de charge, l'injection de fautes), la sécurité (par exemple, l'authentification mutuelle TLS, les politiques d'autorisation) et l'observabilité (par exemple, les métriques, les journaux, le traçage distribué). Les compromis impliquent l'introduction d'une complexité opérationnelle et d'une surcharge de ressources en raison des proxys sidecars, mais cela est souvent compensé par les avantages significatifs dans la gestion des systèmes distribués. Istio permet aux développeurs de se concentrer sur la logique métier plutôt que sur les préoccupations réseau, offrant des capacités avancées comme les déploiements canary, les tests A/B et les modèles de résilience prêts à l'emploi.

        graph LR
  Center["Istio"]:::main
  Rel_advanced_propulsion_systems["advanced-propulsion-systems"]:::related -.-> Center
  click Rel_advanced_propulsion_systems "/terms/advanced-propulsion-systems"
  Rel_microservices["microservices"]:::related -.-> Center
  click Rel_microservices "/terms/microservices"
  Rel_service_mesh["service-mesh"]:::related -.-> Center
  click Rel_service_mesh "/terms/service-mesh"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Test de connaissances

1 / 3

🧒 Explique-moi comme si j'avais 5 ans

C'est comme un contrôleur de trafic super intelligent pour toutes les différentes applications qui tournent dans votre système informatique, s'assurant qu'elles se parlent en toute sécurité, efficacement et sans se perdre.

🤓 Expert Deep Dive

L'architecture d'Istio utilise les proxys Envoy en tant que sidecars, les injectant dans les pods d'application pour intercepter et gérer tout le trafic entrant et sortant. Le Plan de Contrôle, historiquement composé de Pilot (gestion du trafic), Citadel (sécurité) et Galley (validation de configuration), a évolué avec des composants tels que istiod consolidant de nombreuses fonctions. Pilot configure les proxys Envoy via l'API xDS (Discovery Service), permettant le routage dynamique, l'équilibrage de charge et l'injection de fautes. Citadel fournit une authentification et une autorisation fortes entre services en utilisant les identités SPIFFE/SPIRE et gère la rotation des certificats. Galley gère l'ingestion et la validation de la configuration. Les compromis incluent la surcharge de ressources significative (CPU/mémoire) de l'exécution des sidecars Envoy pour chaque instance de service et la latence ajoutée par le saut réseau supplémentaire. Des vulnérabilités peuvent survenir à partir de mauvaises configurations dans les politiques d'autorisation, d'exploitations potentielles du proxy Envoy lui-même, ou de problèmes au sein des composants du plan de contrôle d'Istio. Assurer une application cohérente des politiques dans un environnement de microservices dynamique est un défi majeur.

📚 Sources