Ce document a été traduit à l'aide d'une technologie de traduction automatique. Bien que nous nous efforcions de fournir des traductions exactes, nous ne fournissons aucune garantie quant à l'exhaustivité, l'exactitude ou la fiabilité du contenu traduit. En cas de divergence, la version originale anglaise prévaut et fait foi.

Istio

Rancher-Istio a cessé la prise en charge depuis Rancher v2.12.0 ; tournez-vous vers l’SUSE Application Collection d’Istio pour une sécurité renforcée (incluse dans les abonnements SUSE Rancher Prime). Des informations détaillées peuvent être trouvées dans cette annonce.

Istio est un outil open-source qui facilite aux équipes DevOps l’observation, la sécurisation, le contrôle et le dépannage du trafic au sein d’un réseau complexe de microservices.

À mesure qu’un réseau de microservices évolue et se développe, les interactions entre eux peuvent devenir de plus en plus difficiles à gérer et à comprendre. Dans une telle situation, il est utile d’avoir un maillage de services comme couche d’infrastructure séparée. Le maillage de services d’Istio vous permet de manipuler le trafic entre les microservices sans modifier directement les microservices.

Notre intégration d’Istio est conçue de manière à ce qu’un opérateur Rancher, tel qu’un administrateur ou un propriétaire de cluster, puisse fournir Istio à une équipe de développeurs. Les développeurs peuvent ensuite utiliser Istio pour appliquer des politiques de sécurité, résoudre des problèmes ou gérer le trafic pour des déploiements green/blue, des déploiements canary ou des tests A/B.

Ce maillage de services de base fournit des fonctionnalités qui incluent, mais ne se limitent pas à, ce qui suit :

  • Gestion du Trafic telle que le routage d’entrée et de sortie, la coupure de circuit, le mirroring.

  • Sécurité avec des ressources pour authentifier et autoriser le trafic et les utilisateurs, mTLS inclus.

  • Observabilité des journaux, des métriques et des flux de trafic distribués.

Après configuration d’istio, vous pouvez tirer parti des fonctionnalités du plan de contrôle d’Istio via l’interface utilisateur de Rancher, kubectl, ou istioctl.

Istio doit être configuré par un cluster-admin avant de pouvoir être utilisé dans un projet.

Quoi de neuf dans Rancher v2.5

L’architecture globale d’Istio a été simplifiée. Un seul composant, Istiod, a été créé en combinant Pilot, Citadel, Galley et l’injecteur de sidecar. La fonctionnalité de l’Agent de nœud a également été fusionnée dans istio-agent.

Les addons qui étaient auparavant installés par Istio (cert-manager, Grafana, Jaeger, Kiali, Prometheus, Zipkin) devront maintenant être installés séparément. Istio prendra en charge l’installation d’intégrations provenant du projet Istio et maintiendra la compatibilité avec celles qui ne le sont pas.

Une intégration Prometheus sera toujours disponible via une installation de Rancher Monitoring, ou en installant votre propre opérateur Prometheus. Le graphique Istio de Rancher installera également Kiali par défaut pour vous assurer d’avoir une vue d’ensemble de vos microservices dès le départ.

Istio a migré de Helm comme moyen d’installer Istio et propose désormais une installation via le binaire istioctl ou l’opérateur Istio. Pour garantir la plus facile interaction avec Istio, l’Istio de Rancher maintiendra un graphique Helm qui utilise le binaire istioctl pour gérer votre installation d’Istio.

Ce graphique Helm sera disponible via les Applications et le Marché dans l’interface utilisateur. Un utilisateur ayant accès au catalogue des graphiques de Rancher devra configurer Istio avant qu’il puisse être utilisé dans le projet.

Outils inclus avec Istio

Notre installateur Istio enveloppe les commandes du binaire istioctl dans un graphique Helm pratique, y compris une option de fichier de superposition pour permettre une personnalisation complexe.

Il comprend également ce qui suit :

Kiali

Kiali est un outil de visualisation complet utilisé pour représenter le flux de trafic à travers le maillage de services. Il vous permet de voir comment ils sont connectés, y compris les taux de trafic et les latences entre eux.

Vous pouvez vérifier la santé du maillage de services ou examiner en détail les requêtes entrantes et sortantes pour un composant unique.

Pour les installations d’Istio 103.1.0+up1.19.6 et ultérieures, Kiali utilise une valeur de token pour sa stratégie d’authentification. Le nom du compte de service Kiali dans Rancher est kiali. Utilisez ce nom si vous écrivez des commandes qui nécessitent que vous saisissiez le nom du compte de service Kiali (par exemple, si vous essayez de générer ou de récupérer un token de session). Pour plus d’informations, consultez le FAQ sur l’authentification par token Kiali.

Jaeger

Notre installateur Istio comprend un démarrage rapide, une installation tout-en-un de Jaeger,, un outil utilisé pour le traçage des systèmes distribués.

Notez que ce n’est pas un déploiement qualifié pour la production de Jaeger. Ce déploiement utilise un composant de stockage en mémoire, tandis qu’un composant de stockage persistant est recommandé pour la production. Pour plus d’informations sur la stratégie de déploiement dont vous pourriez avoir besoin, référez-vous à la documentation de Jaeger.

Conditions préalables

Avant d’activer Istio, nous vous recommandons de confirmer que vos nœuds de travail Rancher disposent de suffisamment d’UC et de mémoire pour exécuter tous les composants d’Istio.

Si vous installez Istio sur un cluster RKE2, des étapes supplémentaires sont nécessaires. Pour plus de détails, voir cette section.

Guide d’installation

Référez-vous au guide de configuration pour des instructions sur la façon de configurer Istio et de l’utiliser dans un projet.

Supprimer Istio

Pour supprimer les composants d’Istio d’un cluster, d’un espace de noms ou d’une charge de travail, référez-vous à la section sur la désinstallation d’Istio.

Accéder aux visualisations

Par défaut, seuls les administrateurs de cluster ont accès à Kiali. Pour des instructions sur la façon de permettre aux rôles d’administrateur, d’édition ou de visualisation d’y accéder, voir cette section.

Pour les installations d’Istio version 103.1.0+up1.19.6 et ultérieures, Kiali utilise une valeur de token pour sa stratégie d’authentification. Le nom du compte de service Kiali dans Rancher est kiali. Utilisez ce nom si vous écrivez des commandes qui nécessitent que vous saisissiez le nom du compte de service Kiali (par exemple, si vous essayez de générer ou de récupérer un token de session). Pour plus d’informations, consultez le FAQ sur l’authentification par token Kiali.

Après qu’Istio soit configuré dans un cluster, Grafana, Prometheus et Kiali sont disponibles dans l’interface utilisateur de Rancher.

Pour accéder aux visualisations de Grafana et Prometheus,

  1. Dans le coin supérieur gauche, cliquez sur ☰ > Gestion des clusters.

  2. Sur la page Clusters, allez au cluster où vous souhaitez voir les visualisations et cliquez sur Explorer.

  3. Dans la barre de navigation à gauche, cliquez sur Surveillance.

  4. Cliquez sur Grafana ou sur l’un des autres tableaux de bord.

Pour accéder à la visualisation Kiali,

  1. Dans le coin supérieur gauche, cliquez sur ☰ > Gestion des clusters.

  2. Sur la page Clusters, allez au cluster où vous souhaitez voir Kiali et cliquez sur Explorer.

  3. Dans la barre de navigation à gauche, cliquez sur Istio.

  4. Click Kiali. Ici, vous pouvez accéder à l’onglet Graphique de trafic ou à l’onglet Métriques de trafic pour voir les visualisations et les métriques réseau.

Par défaut, tous les espaces de noms seront pris en compte par Prometheus et rendront les données disponibles pour les graphiques Kiali. Référez-vous à la configuration du sélecteur/de la collecte si vous souhaitez utiliser une configuration différente pour la collecte de données de Prometheus.

Votre accès aux visualisations dépend de votre rôle. Grafana et Prometheus ne sont disponibles que pour les rôles cluster-admin. L’interface utilisateur de Kiali est disponible uniquement pour cluster-admin par défaut, mais cluster-admin peut permettre à d’autres rôles d’y accéder en modifiant le fichier values.yaml d’Istio.

Architecture

Istio installe un maillage de services qui utilise des proxys sidecar Envoy pour intercepter le trafic vers chaque charge de travail. Ces sidecars interceptent et gèrent la communication de service à service, permettant une observation et un contrôle précis du trafic au sein du cluster.

Seules les charges de travail ayant le sidecar Istio injecté peuvent être suivies et contrôlées par Istio.

Lorsqu’un espace de noms a Istio activé, les nouvelles charges de travail déployées dans l’espace de noms auront automatiquement le sidecar Istio. Vous devez activer manuellement Istio dans les charges de travail existantes.

Pour plus d’informations sur le sidecar Istio, consultez la documentation sur l’injection de sidecar Istio et pour plus d’informations sur l’architecture d’Istio, consultez la documentation sur l’architecture d’Istio.

Multiples Ingresses

Par défaut, chaque cluster provisionné par Rancher dispose d’un contrôleur d’ingress NGINX permettant le trafic vers le cluster. Istio installe également une passerelle d’ingress par défaut dans l’espace de noms istio-system. Le résultat est que votre cluster aura deux ingress dans votre cluster.

Dans un cluster activé par Istio

Des passerelles d’Ingress Istio supplémentaires peuvent être activées via le fichier overlay.

Support Egress

Par défaut, la passerelle Egress est désactivée, mais peut être activée lors de l’installation ou de la mise à niveau via le values.yaml ou via le fichier overlay.

Étapes supplémentaires pour installer Istio sur un cluster SUSE® Rancher Prime: RKE2.

Pour installer Istio sur un cluster RKE2, suivez les étapes dans cette section.

Mise à niveau d’Istio dans un environnement isolé physiquement.

La politique de sécurité des pods Istio est maintenant activée par défaut. Une nouvelle valeur, installer.releaseMirror.enabled, a été ajoutée au chart rancher-istio pour activer et désactiver le serveur qui prend en charge les mises à niveau isolées physiquement. Notez que installer.releaseMirror.enabled est défini sur false par défaut. Vous pouvez définir cette valeur selon vos besoins lors de l’installation ou de la mise à niveau. Suivez la procédure ci-dessous :

  1. Provisionnez une instance Rancher isolée physiquement et un cluster personnalisé isolé physiquement dans l’interface utilisateur de Rancher.

  2. Installez Monitoring dans le cluster : Cluster Explorer -> Apps & Marketplace -> Charts -> Monitoring.

  3. Tirez toutes les images requises pour Istio dans le registre privé que vous utiliserez dans l’environnement isolé physiquement.

  4. Installez Istio dans le cluster : Cluster Explorer -> Apps & Marketplace -> Charts -> Istio.

Vous pouvez activer Jaeger et Kiali lors d’une nouvelle installation d’Istio. Pour garantir que Jaeger et Kiali fonctionnent, définissez installer.releaseMirror.enabled sur true dans values.yaml lors de l’installation.

  1. Mettez à niveau l’installation d’Istio.

Si ce n’est pas déjà fait, définissez installer.releaseMirror.enabled=true pour mettre à niveau Istio.