Mise à jour Istio
N'utilisez pas istioctl pour mettre à jour la version d'Istio qui est installée par le module complémentaire géré. Lorsqu'il est mis à jour, le module complémentaire géré Istio comprend également une mise à jour de la version Istio.
Les versions prises en charge de Istio sont testées par IBM Cloud et approuvées pour l'utilisation dans IBM Cloud Kubernetes Service.
Avant de commencer
-
Vous ne pouvez mettre à jour manuellement qu'une seule version du module complémentaire Istio à la fois. Pour mettre à jour le module complémentaire Istio de deux versions ou plus, vous pouvez répéter la procédure de mise à jour manuelle ou désinstaller le module complémentaire et installer ensuite la version la plus récente.
-
Vous ne pouvez pas faire revenir votre module complémentaire Istio géré vers une version précédente. Pour revenir à une version mineure antérieure, vous devez désinstaller le module complémentaire et installer ensuite la version antérieure.
-
Lorsque vous mettez à jour les composants de contrôle Istio dans l'espace de noms
istio-systemvers la dernière version secondaire, il se peut que certaines modifications nécessitent une interruption. Passez en revue les modifications suivantes qui se produisent lors d'une mise à jour de version secondaire :- A mesure que des mises à jour sont déployées sur les pods de plan de contrôle, ceux-ci sont recréés. Le plan de contrôle Istio n'est pas entièrement disponible tant que la mise à jour n'est pas terminée.
- Le plan de données Istio continue de fonctionner pendant la mise à jour. Toutefois, une partie du trafic vers les applications du maillage de service peut être interrompue pendant une courte période.
- L'adresse IP externe de l'équilibreur de charge
istio-ingressgatewayne change pas durant ou après la mise à jour.
Mise à jour vers une version mineure de l'extension « Istio »
Avant de commencer :
Passez en revue les conditions préalables qui s'appliquent à toutes les mises à jour de version.
Pour mettre à jour la version mineure de l'extension « Istio » :
-
Passez en revue les versions du module complémentaire Istio qui sont disponibles.
ibmcloud ks addon-versions -
Consultez les modifications apportées à chaque version dans le journal des modifications du module complémentaire « Istio ».
-
Mettez à jour le module complémentaire Istio.
ibmcloud ks cluster addon update istio --version VERSION -c CLUSTER_NAME_OR_ID -
Avant de poursuivre, assurez-vous que la mise à jour est terminée.
Le processus de mise à jour peut prendre jusqu'à 20 minutes.
- Assurez-vous que pour le module complémentaire Istio, la zone Health State a pour valeur
normalet la zone Health Status a pour valeurAddon Ready. Si l'état estupdating, la mise à jour n'est pas terminée.
ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID ``` 2. Assurez-vous que `istio-system`STATUS** a pour valeur ** pour le composant de plan de contrôle dans l'espace de noms `Running`. ```sh {: pre} kubectl get pods -n istio-system ``` ```sh {: screen} NAME READY STATUS RESTARTS AGE istio-system istio-egressgateway-6d4667f999-gjh94 1/1 Running 0 61m istio-system istio-egressgateway-6d4667f999-txh56 1/1 Running 0 61m istio-system istio-ingressgateway-7bbf8d885-b9xgp 1/1 Running 0 61m istio-system istio-ingressgateway-7bbf8d885-xhkv6 1/1 Running 0 61m istio-system istiod-5b9b5bfbb7-jvcjz 1/1 Running 0 60m istio-system istiod-5b9b5bfbb7-khcht 1/1 Running 0 60m ``` - Assurez-vous que pour le module complémentaire Istio, la zone Health State a pour valeur
-
Mettez à jour votre client
istioctlet vos composants sidecar.
Mise à jour du client istioctl et des composants sidecar
Chaque fois que le module complémentaire Istio géré est mis à jour, mettez à jour votre client istioctl et les composants sidecar Istio pour votre application.
Par exemple, la version de correctif de votre module complémentaire peut être mise à jour automatiquement par IBM Cloud Kubernetes Service ou vous pouvez mettre à jour la version secondaire de votre module complémentaire.
Dans les deux cas, mettez à jour votre client istioctl et les composants sidecar Istio de votre application pour qu'ils correspondent à la version Istio du module complémentaire.
-
Obtenez la version de votre client
istioctlet celle des composants du plan de contrôle de module complémentaire Istio.istioctl version --short=falseExemple de sortie
client version: version.BuildInfo{Version:"1.11.2"} pilot version: version.BuildInfo{Version:1.29.5} pilot version: version.BuildInfo{Version:1.29.5} data plane version: version.ProxyInfo{ID:"istio-egressgateway-77bf75c5c-vp97p.istio-system", IstioVersion:1.29.5} data plane version: version.ProxyInfo{ID:"istio-egressgateway-77bf75c5c-qkhgm.istio-system", IstioVersion:1.29.5} data plane version: version.ProxyInfo{ID:"istio-ingressgateway-6dcb67b64d-dffhq.istio-system", IstioVersion:1.29.5} data plane version: version.ProxyInfo{ID:"httpbin-74fb669cc6-svc8x.default", IstioVersion:1.29.5} data plane version: version.ProxyInfo{ID:"istio-ingressgateway-6dcb67b64d-cs9r9.istio-system", IstioVersion:1.29.5} ... -
Dans la sortie, comparez la version du client (
client version) (istioctl) à la version des composants de plan de contrôle Istio, telle que la version du pilote (pilot version). Si les versions du composantclient versionet du plan de contrôle ne correspondent pas :- Téléchargez la même version du client
istioctlque celle des composants de plan de contrôle.
curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.29.5 sh - ``` 2. Accédez au répertoire du package Istio. ```sh {: pre} cd istio-1.29.5 ``` 3. Utilisateurs Linux et macOS : ajoutez le client `istioctl` à votre variable système `PATH`. ```sh {: pre} export PATH=$PWD/bin:$PATH ``` - Téléchargez la même version du client
-
Dans la sortie de l'étape 1, comparez la version du pilote (
pilot version) à la version du plan de données (data plane version) pour chaque pod de plan de données.- Si la version du pilote (
pilot version) et la version du plan de données (data plane version) correspondent, aucune autre mise à jour n'est requise. - Si
pilot versionetdata plane versionne correspondent pas, redémarrez vos déploiements pour les pods du plan de données qui exécutent l'ancienne version. Le nom de pod et l'espace de nom sont répertoriés dans chaque entrée sous la formedata plane version: version.ProxyInfo{ID:"<pod_name>.<namespace>", IstioVersion:"1.8.4"}.
kubectl rollout restart deployment <deployment> -n <namespace>Dans
addon-istio1.24 et les versions ultérieures, si vous avez des déploiements de passerelles personnalisées, vous êtes également responsable de leur mise à jour pour récupérer l'imageistio/proxyv2plus récente. Les passerelles personnalisées apparaissent dans la liste des pods du plan de données et peuvent être mises à jour avec un redémarrage du déploiement. - Si la version du pilote (
Mise à jour à partir d'une version non prise en charge du module complémentaire Istio
Mettez à jour vos composants Istio avec la dernière version de correctif prise en charge par IBM Cloud Kubernetes Service.
addon-istio 1.26.8 ne sera plus pris en charge à compter du 10 août 2026. Avant cette date, effectuez la mise à jour vers la dernière version du correctif d' addon-istio, disponible à l'adresse 1.29, qui est prise en
charge par IBM Cloud Kubernetes Service.
addon-istio 1.29 est disponible et pris en charge sur les versions d' suivantes :, et. IBM Cloud Kubernetes Service 1.33 1.34 1.35 Pour effectuer une mise à niveau de la version 1.26 vers la version 1.29, procédez à toutes les mises
à niveau mineures, de 1.26 vers 1.27, de 1.27 vers 1.28 et de 1.28 vers 1.29, en suivant la procédure décrite dans la section « Mise à jour vers une version mineure du module complémentaire Istio ».