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-system vers 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-ingressgateway ne 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 » :

  1. Passez en revue les versions du module complémentaire Istio qui sont disponibles.

    ibmcloud ks addon-versions
    
  2. Consultez les modifications apportées à chaque version dans le journal des modifications du module complémentaire « Istio ».

  3. Mettez à jour le module complémentaire Istio.

    ibmcloud ks cluster addon update istio --version VERSION -c CLUSTER_NAME_OR_ID
    
  4. Avant de poursuivre, assurez-vous que la mise à jour est terminée.

    Le processus de mise à jour peut prendre jusqu'à 20 minutes.

    1. Assurez-vous que pour le module complémentaire Istio, la zone Health State a pour valeur normal et la zone Health Status a pour valeur Addon Ready. Si l'état est updating, 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
        ```
    
  5. Mettez à jour votre client istioctl et 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.

  1. Obtenez la version de votre client istioctl et celle des composants du plan de contrôle de module complémentaire Istio.

    istioctl version --short=false
    

    Exemple 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}
    ...
    
  2. 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 composant client version et du plan de contrôle ne correspondent pas :

    1. Téléchargez la même version du client istioctl que 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
        ```
    
  3. 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 version et data plane version ne 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 forme data plane version: version.ProxyInfo{ID:"<pod_name>.<namespace>", IstioVersion:"1.8.4"}.
    kubectl rollout restart deployment <deployment> -n <namespace>
    

    Dans addon-istio 1.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'image istio/proxyv2 plus 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.

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 ».