Planifier une mise à niveau
Cette page fournit des informations pour vous aider à planifier une mise à niveau de Cloud Service Mesh. Nous vous recommandons également de consulter les notes de mise à niveau d'Istio.
À propos des mises à niveau Canary
Nous vous recommandons de mettre à niveau Cloud Service Mesh en exécutant d'abord un déploiement Canary du nouveau plan de contrôle. Avec une mise à niveau Canary, asmcli
installe une nouvelle révision du plan de contrôle à côté de l'ancien plan de contrôle. L'ancien et le nouveau plans de contrôle sont associés à un libellé revision
qui sert d'identifiant pour les plans de contrôle.
Pour migrer les charges de travail vers le nouveau plan de contrôle :
Définissez le libellé
revision
du nouveau plan de contrôle sur l'un de vos espaces de noms.Effectuez un redémarrage progressif. Le redémarrage ré-injecte les proxys side-car dans les pods pour que les proxys utilisent le nouveau plan de contrôle.
Surveillez l'effet de la mise à niveau sur les charges de travail. Si vous devez tester votre application, répétez les étapes précédentes.
Après avoir testé votre application, vous pouvez migrer tout le trafic vers le nouveau plan de contrôle ou revenir à l'ancien plan de contrôle.
Une mise à niveau Canary est beaucoup plus sûre qu'une mise à niveau sur place dans laquelle le nouveau plan de contrôle remplace l'ancien. Pour connaître la procédure détaillée, consultez la section Passer au nouveau plan de contrôle.
Personnaliser le plan de contrôle
Si vous avez personnalisé l'installation précédente, vous avez besoin des mêmes personnalisations lors de la mise à niveau de Cloud Service Mesh. Si vous avez personnalisé l'installation en ajoutant l'option --set values
à istioctl install
, vous devez ajouter ces paramètres à un fichier YAML IstioOperator
, appelé fichier de superposition. Pour spécifier le fichier superposé, vous devez utiliser l'option --custom_overlay
avec le nom de fichier lorsque vous exécutez asmcli
.
La
anthos-service-mesh
dans GitHub contient de nombreux
fichiers de superposition. Ces fichiers contiennent des personnalisations courantes de la configuration par défaut. Vous pouvez utiliser ces fichiers tels quels ou vous pouvez apporter des modifications supplémentaires si nécessaire. Certains fichiers
sont nécessaires pour
activer les fonctionnalités facultatives de Cloud Service Mesh.
Le package anthos-service-mesh
est téléchargé lorsque vous exécutez asmcli
pour valider votre projet et votre cluster.
Lorsque vous installez Cloud Service Mesh à l'aide de asmcli install
, vous
Vous pouvez spécifier un ou plusieurs fichiers de superposition avec --option
ou --custom_overlay
.
Si vous n'avez pas besoin de modifier les fichiers du dépôt anthos-service-mesh
, vous pouvez utiliser --option
. Le script récupère alors le fichier depuis GitHub à votre place. Sinon, vous pouvez apporter des modifications au fichier de superposition, puis utiliser l'option --custom_overlay
pour le transmettre au script asmcli
.
Choisir une autorité de certification
Si votre installation Cloud Service Mesh actuelle utilise l'autorité de certification Cloud Service Mesh comme autorité de certification (CA) pour l'émission de certificats TLS mutuels (mTLS), nous vous recommandons de continuer à utiliser l'autorité de certification Cloud Service Mesh pour les raisons suivantes :
- L'autorité de certification Cloud Service Mesh est un service hautement fiable et évolutif optimisés pour les charges de travail à scaling dynamique.
- Avec l'autorité de certification Cloud Service Mesh, Google gère la sécurité et la disponibilité du backend de l'autorité de certification.
- L'autorité de certification Cloud Service Mesh vous permet de dépendre d'une seule racine de confiance dans les clusters.
Si votre installation actuelle de Cloud Service Mesh utilise Istio CA (anciennement appelée "Citadel"), vous pouvez passer à l'autorité de certification Cloud Service Mesh lorsque vous effectuez une mise à niveau, mais vous devez planifier un temps d'arrêt. Pendant la mise à niveau, le trafic mTLS est interrompue jusqu'à ce que toutes les charges de travail utilisent le nouveau plan de contrôle avec l'autorité de certification Cloud Service Mesh.
Les certificats émis par l'autorité de certification Cloud Service Mesh incluent les données suivantes sur les services de votre application :
- L'ID de projet Google Cloud
- L'espace de noms GKE
- Le nom du compte de service GKE
Identifier votre autorité de certification
Lorsque vous exécutez asmcli install
pour effectuer la mise à niveau, vous spécifiez l'autorité de certification que asmcli
doit activer sur le nouveau plan de contrôle.
La modification des autorités de certification entraîne des temps d'arrêt lorsque vos charges de travail de déploiement sont déployées sur le nouveau plan de contrôle. Si vous ne pouvez pas planifier de temps d'arrêt, assurez-vous de spécifier pour le nouveau plan de contrôle la même autorité de certification que celle utilisée par l'ancien plan de contrôle. Si vous ne savez pas quelle autorité de certification est activée sur votre maillage, exécutez les commandes suivantes :
Obtenez une liste des pods à partir de l'un de vos espaces de noms :
kubectl get pods -n NAMESPACE
Remplacez
POD_NAME
par le nom de l'un de vos pods dans la commande suivante :kubectl get pod POD_NAME -n NAMESPACE -o yaml | grep CA_ADDR -A 1
Si l'autorité de certification Cloud Service Mesh est activée sur l'espace de noms, le champ le résultat suivant:
- name: CA_ADDR value: meshca.googleapis.com:443
Préparer la configuration de la passerelle
Cloud Service Mesh vous permet de déployer et de gérer des passerelles avec votre maillage de services. Une passerelle décrit un équilibreur de charge fonctionnant à la périphérie du réseau maillé recevant des connexions HTTP/TCP entrantes ou sortantes. Les passerelles sont des proxys Envoy qui vous permettent de contrôler avec précision le trafic entrant et sortant du réseau maillé.
asmcli
n'installe pas istio-ingressgateway
. Nous vous recommandons de déployer et de gérer le plan de contrôle et les passerelles séparément. Pour plus
plus d'informations, consultez Installer et mettre à niveau des passerelles.
Mettre à niveau votre plate-forme (facultatif)
Nous vous recommandons de mettre à niveau Cloud Service Mesh vers la dernière version compatible compatible avec votre plate-forme actuelle. Mettez ensuite à niveau votre environnement afin qu'il se situe dans la plage des plates-formes et versions Kubernetes compatibles. Enfin, si nécessaire, passez à la dernière version compatible de Cloud Service Mesh.