Aggiornamento Istio

Non utilizzare istioctl per aggiornare la versione di Istio installata dal componente aggiuntivo gestito. Quando viene aggiornato, il componente aggiuntivo gestito Istio include anche l'aggiornamento della versione Istio. Le versioni supportate di Istio sono testate da IBM Cloud e approvate per l'uso in IBM Cloud Kubernetes Service.

Prima di iniziare

  • È possibile aggiornare manualmente il componente aggiuntivo Istio solo una versione alla volta. Per aggiornare il componente aggiuntivo Istio di due o più versioni, è possibile ripetere la procedura di aggiornamento manuale oppure disinstallare il componente aggiuntivo e installare la versione successiva.

  • Non è possibile ripristinare una versione precedente del componente aggiuntivo " Istio " gestito. Per tornare a una versione minore precedente, è necessario disinstallare il componente aggiuntivo e installare la versione precedente.

  • Quando aggiorni i componenti di controllo istio nello spazio dei nomi istio-system alla versione secondaria più recente, potresti riscontrare delle modifiche con interruzione del servizio. Riesamina le seguenti modifiche che si verificano durante un aggiornamento della versione secondaria.

    • Man mano che gli aggiornamenti vengono distribuiti ai pod del piano di controllo, i pod vengono ricreati. Il piano di controllo Istio è pienamente disponibile solo dopo il completamento dell'aggiornamento.
    • Il piano di dati Istio continua a funzionare durante l'aggiornamento. Tuttavia, del traffico alle applicazioni nella rete di servizi potrebbe essere interrotto per un breve periodo di tempo.
    • L'indirizzo IP esterno per il programma di bilanciamento del carico istio-ingressgateway non subisce variazioni durante o dopo l'aggiornamento.

Aggiornamento a una versione minore dell'estensione " Istio "

Prima di cominciare:

Esaminare i prerequisiti che si applicano a tutti gli aggiornamenti di versione.

Per aggiornare la versione secondaria del componente aggiuntivo " Istio ":

  1. Riesamina le versioni di componente aggiuntivo Istio disponibili.

    ibmcloud ks addon-versions
    
  2. Esaminare le modifiche apportate a ciascuna versione nel registro delle modifiche del componente aggiuntivo Istio.

  3. Aggiorna il componente aggiuntivo Istio.

    ibmcloud ks cluster addon update istio --version VERSION -c CLUSTER_NAME_OR_ID
    
  4. Prima di procedere, verifica che l'aggiornamento sia completo.

    Il completamento del processo di aggiornamento può richiedere fino a 20 minuti.

    1. Assicurati che Health State sia normal e Health Status sia Addon Ready. Se lo stato è updating, l'aggiornamento non è ancora completo..
        ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
        ```
    2. Assicurati che i pod del componente del piano di controllo nello spazio dei nomi `istio-system` abbiano uno **STATUS** di `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. Aggiorna il tuo client istioctl e i collaterali.

Aggiornamento del client istioctl e dei collaterali

Ogni volta che il componente aggiuntivo gestito da Istio viene aggiornato, aggiorna il tuo client istioctl e i collaterali Istio per la tua applicazione.

Ad esempio, la versione di patch del tuo componente aggiuntivo potrebbe essere aggiornata automaticamente da IBM Cloud Kubernetes Service oppure potresti aggiornare la versione secondaria del tuo componente aggiuntivo. In entrambi i casi, aggiorna il tuo client istioctl e i collaterali Istio esistenti della tua applicazione in modo che corrispondano alla versione Istio del componente aggiuntivo.

  1. Ottieni la versione del tuo client istioctl e dei componenti del piano di controllo del componente aggiuntivo Istio.

    istioctl version --short=false
    

    Output di esempio

    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. Nell'output, confronta il valore di client version (istioctl) con la versione dei componenti del piano di controllo di Istio, ad esempio con pilot version. Se le versioni dei componenti del piano di controllo ( client version ) e del piano di controllo (control plane) non corrispondono:

    1. Scarica il client istioctl della stessa versione dei componenti del piano di controllo.
        curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.29.5 sh -
        ```
    2. Passa alla directory del pacchetto Istio.
    
    ```sh {: pre}
        cd istio-1.29.5
        ```
    3. Linux e per gli utenti di macOS: aggiungete il client `istioctl` alla variabile di sistema `PATH`.
    
    ```sh {: pre}
        export PATH=$PWD/bin:$PATH
        ```
    
  3. Nell'output del passo 1, confronta la pilot version alla data plane version per ciascun pod di piano dati.

    • Se pilot version e data plane version corrispondono, non sono necessari ulteriori aggiornamenti.
    • Se l' pilot version e l' data plane version non corrispondono, riavvia le distribuzioni dei pod del data plane che eseguono la versione precedente. Il nome del pod e lo spazio dei nomi sono indicati in ogni voce come data plane version: version.ProxyInfo{ID:"<pod_name>.<namespace>", IstioVersion:"1.8.4"}.
    kubectl rollout restart deployment <deployment> -n <namespace>
    

    In addon-istio 1.24 e successivi, se si dispone di installazioni di gateway personalizzate, è necessario aggiornare anche queste ultime in modo che accettino l'immagine istio/proxyv2 più recente. I gateway personalizzati vengono visualizzati nell'elenco dei pod del piano dati e possono essere aggiornati con un riavvio del rollout.

Aggiornamento da una versione non supportata del componente aggiuntivo Istio

Aggiornate il vostro Istio componenti all'ultima versione di patch supportata da IBM Cloud Kubernetes Service.

addon-istio 1.26.8 non sarà più supportato a partire dal 10 agosto 2026. Prima di tale data, esegui l'aggiornamento all'ultima versione della patch di addon-istio 1.29 supportata da IBM Cloud Kubernetes Service.

addon-istio 1.29 è disponibile e supportato nelle versioni di, e. IBM Cloud Kubernetes Service 1.33 1.34 1.35 Per eseguire l'aggiornamento da 1.26 a 1.29, completare tutti gli aggiornamenti minori, da 1.26 a 1.27, da 1.27 a 1.28 e da 1.28 a 1.29, seguendo la procedura descritta nella guida "Aggiornamento a una versione minore del componente aggiuntivo Istio ".