Istio est un maillage de services open source qui se superpose de manière transparente aux applications distribuées existantes. Les fonctionnalités puissantes d'Istio offrent un moyen uniforme et plus efficace de sécuriser, de connecter et de surveiller les services. Istio est la voie vers l'équilibrage de charge, l'authentification de service à service et la surveillance, avec peu ou pas de modifications du code de service.
Pour des informations détaillées sur l'utilisation d'Istio, visitez istio.io.
Pour poser des questions et obtenir de l'aide de notre communauté, visitez les discussions Github
Pour savoir comment participer à notre communauté globale, visitez notre page communautaire
Dans ce README :
Introduction
Dépôts
Gestion des problèmes
De plus, voici quelques autres documents que vous souhaiterez peut-être lire :
Communauté Istio - décrit comment s'impliquer et contribuer au projet Istio
Guide du développeur Istio : explique comment configurer et utiliser un environnement de développement Istio.
Conventions du projet - décrit les conventions que nous utilisons dans la base de code
Création de code rapide et Lean – conseils et lignes directrices axés sur les performances pour la base de code
Vous trouverez de nombreux autres documents utiles sur notre Wiki.
Istio est une plate-forme ouverte qui fournit un moyen uniforme d'intégrer des microservices, de gérer le flux de trafic entre les microservices, d'appliquer des politiques et de regrouper des données de télémétrie. Le plan de contrôle d'Istio fournit une couche d'abstraction sur la plate-forme de gestion de cluster sous-jacente, telle que Kubernetes.
Istio est composé de ces composants :
Envoy – Proxies side-car par microservice pour gérer le trafic entrant/sortie entre les services du cluster et d'un service vers des services externes. Les proxys forment un maillage de microservices sécurisé offrant un riche ensemble de fonctions telles que la découverte, le routage riche de couche 7, les disjoncteurs, l'application des politiques et les fonctions d'enregistrement/rapport de télémétrie.
Remarque : Le maillage de services n'est pas un réseau superposé. Il simplifie et améliore la façon dont les microservices d'une application communiquent entre eux sur le réseau fourni par la plate-forme sous-jacente.
Istiod - Le plan de contrôle Istio. Il fournit la découverte de services, la configuration et la gestion des certificats. Il se compose des sous-composantes suivantes :
Pilote - Responsable de la configuration des proxys au moment de l'exécution.
Citadelle - Responsable de la délivrance des certificats et de la rotation.
Galley – Responsable de la validation, de l'ingestion, de l'agrégation, de la transformation et de la distribution de la configuration au sein d'Istio.
Opérateur : le composant fournit des options conviviales pour faire fonctionner le maillage de services Istio.
Le projet Istio est réparti sur quelques référentiels GitHub :
istio/api. Ce référentiel définit les API au niveau des composants et les formats de configuration courants pour la plateforme Istio.
istio/communauté. Ce référentiel contient des informations sur la communauté Istio, notamment les différents documents qui régissent le projet open source Istio.
istio/istio. Il s'agit du référentiel de code principal. Il héberge les composants principaux d'Istio, les artefacts d'installation et les exemples de programmes. Il comprend :
istioctl. Ce répertoire contient le code de l'utilitaire de ligne de commande istioctl .
pilote. Ce répertoire contient du code spécifique à la plate-forme pour remplir le modèle de service abstrait, reconfigurer dynamiquement les proxys lorsque la topologie de l'application change, ainsi que traduire les règles de routage en configuration spécifique au proxy.
sécurité. Ce répertoire contient du code lié à la sécurité, notamment Citadel (agissant en tant qu'autorité de certification), l'agent Citadel, etc.
istio/proxy. Le proxy Istio contient des extensions du proxy Envoy (sous la forme de filtres Envoy) qui prennent en charge l'authentification, l'autorisation et la collecte de télémétrie.
istio/ztunnel. Le référentiel contient l'implémentation Rust du composant ztunnel d'Ambient mesh.
istio/client-go. Ce référentiel définit des clients Kubernetes générés automatiquement pour interagir avec les ressources Istio par programmation.
Note
Seuls les référentiels istio/api
et istio/client-go
exposent des interfaces stables destinées à une utilisation directe en tant que bibliothèques.
Nous utilisons GitHub pour suivre tous nos bugs et demandes de fonctionnalités. Chaque problème que nous suivons comporte une variété de métadonnées :
Épique . Une épopée représente un domaine de fonctionnalités pour Istio dans son ensemble. Les épopées ont une portée assez large et sont essentiellement des éléments au niveau du produit. Chaque numéro fait finalement partie d’une épopée.
Jalon . Chaque problème se voit attribuer un jalon. Il s'agit de 0,1, 0,2, ... ou « Avenir nébuleux ». Le jalon indique quand nous pensons que le problème doit être résolu.
Priorité . Chaque problème a une priorité qui est représentée par la colonne du projet Priorisation. La priorité peut être P0, P1, P2 ou >P2. La priorité indique à quel point il est important de résoudre le problème au cours du jalon. P0 indique que le jalon ne peut pas être considéré comme atteint si le problème n'est pas résolu.
Istio est un projet de la Cloud Native Computing Foundation.