Anthos Service Mesh utilise des proxys side-car pour améliorer la sécurité, la fiabilité et l'observabilité du réseau. Ces fonctions sont extraites du conteneur principal de l'application et mises en œuvre dans un proxy commun hors processus (le side-car) fourni sous la forme d'un conteneur séparé dans le même pod. Cela fournit les fonctionnalités d'Anthos Service Mesh sans avoir à repenser vos applications de production pour participer à un maillage de services.
L'injection automatique du proxy side-car se produit lorsque Anthos Service Mesh détecte un libellé d'espace de noms que vous configurez pour le pod de la charge de travail. Le proxy intercepte tout le trafic entrant et sortant vers les charges de travail et communique avec Anthos Service Mesh.
Activer l'injection side-car automatique
La méthode recommandée pour injecter des proxys side-car est d'utiliser l'injecteur side-car automatique basé sur les webhooks, mais vous pouvez mettre à jour manuellement la configuration Kubernetes de vos pods. L'injection side-car automatique est désactivée par défaut pour tous les espaces de noms.
Pour activer l'injection side-car automatique :
Exécutez la commande suivante pour localiser le libellé sur
istiod
, qui contient la valeur du libellé de révision à utiliser lors des étapes suivantes.kubectl -n istio-system get pods -l app=istiod --show-labels
La sortie ressemble à ceci :
NAME READY STATUS RESTARTS AGE LABELS istiod-asm-173-3-5788d57586-bljj4 1/1 Running 0 23h app=istiod,istio.io/rev=asm-173-3,istio=istiod,pod-template-hash=5788d57586 istiod-asm-173-3-5788d57586-vsklm 1/1 Running 1 23h app=istiod,istio.io/rev=asm-173-3,istio=istiod,pod-template-hash=5788d57586
Dans le résultat, sous la colonne
LABELS
, notez la valeur du libellé de révisionistiod
, qui suit le préfixeistio.io/rev=
. Dans cet exemple, la valeur estasm-173-3
.Appliquez le libellé de révision aux espaces de noms. Dans la commande suivante, NAMESPACE est le nom de l'espace de noms dans lequel vous souhaitez que l'injection side-car se produit et REVISION est le libellé de révision
istiod
noté à l'étape précédente.kubectl label namespace NAMESPACE istio-injection- istio.io/rev=REVISION --overwrite
Redémarrez les pods concernés en suivant la procédure décrite dans la section suivante.
Redémarrer les pods pour mettre à jour les proxys side-car
Avec l'injection automatique de side-car, vous pouvez mettre à jour les side-cars pour les pods existants avec un redémarrage du pod :
Le redémarrage des pods varie selon qu'ils ont été créés dans le cadre d'un déploiement ou non.
Si vous avez utilisé un déploiement, redémarrez le déploiement pour redémarrer tous les pods avec des side-cars :
kubectl rollout restart deployment -n YOUR_NAMESPACE
Si vous n'avez pas utilisé de déploiement, supprimez les pods. Ils sont automatiquement recréés avec les side-cars :
kubectl delete pod -n YOUR_NAMESPACE --all
Vérifiez que tous les pods de l'espace de noms disposent de side-cars injectés :
kubectl get pod -n YOUR_NAMESPACE
Dans l'exemple de résultat suivant, qui concerne la commande précédente, la colonne
READY
indique qu'il existe deux conteneurs pour chacune de vos charges de travail : le conteneur principal et le conteneur du proxy side-car.NAME READY STATUS RESTARTS AGE YOUR_WORKLOAD 2/2 Running 0 20s ...
Étapes suivantes
En savoir plus :