Actualización de Istio

No utilice istioctl para actualizar la versión de Istio que ha instalado el complemento gestionado. Cuando se actualiza, el complemento gestionado Istio incluye también una actualización de la versión Istio. Las versiones compatibles de Istio han sido probadas por IBM Cloud y aprobadas para su uso en IBM Cloud Kubernetes Service.

Antes de empezar

  • Sólo puede actualizar el complemento de Istio manualmente en las versiones de una en una. Para actualizar el complemento Istio en dos o más versiones, puede repetir el proceso de actualización manual o desinstalar el complemento e instalar la versión posterior.

  • No puede revertir el complemento gestionado de Istio a una versión anterior. Para volver a una versión menor anterior, debe desinstalar el complemento y, a continuación, instalar la versión anterior.

  • Al actualizar los componentes de control de Istio en el espacio de nombres istio-system a la versión menor más reciente, es posible que experimente cambios disruptivos. Revise los cambios siguientes que se producen durante una actualización de versión menor.

    • A medida que se despliegan las actualizaciones en los pods del plano de control, se van volviendo a crear los pods. El plano de control de Istio no está completamente disponible hasta que finaliza la actualización.
    • El plano de datos de Istio sigue funcionando durante la actualización. Sin embargo, parte del tráfico destinado a las apps de la red de servicios podría verse interrumpido durante un breve periodo de tiempo.
    • La dirección IP externa correspondiente al equilibrador de carga istio-ingressgateway no cambia durante ni después de la actualización.

Actualización a una versión secundaria del complemento « Istio »

Antes de empezar:

Revise los requisitos previos que se aplican a todas las actualizaciones de versión.

Para actualizar la versión menor del complemento « Istio »:

  1. Revise las versiones del complemento de Istio disponibles.

    ibmcloud ks addon-versions
    
  2. Consulta los cambios que se han introducido en cada versión en el registro de cambios del complemento « Istio ».

  3. Actualice el complemento de Istio.

    ibmcloud ks cluster addon update istio --version VERSION -c CLUSTER_NAME_OR_ID
    
  4. Antes de continuar, confirme que la actualización se ha completado.

    El proceso de actualización puede tardar hasta 20 minutos en completarse.

    1. Asegúrese de que el Estado del complemento de Istio sea normal y que el Estado indique que el complemento está preparado (Addon Ready). Si el estado es updating, significa que la actualización aún no ha finalizado.
        ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
        ```
    2. Asegúrese de que los pods del componente del plano de control en el espacio de nombres `istio-system` tengan el **STATUS** `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. Actualice el cliente istioctl y los complementos.

Actualización del cliente istioctl y de los complementos

Siempre que se actualice el complemento gestionado de Istio, actualice el cliente istioctl y los complementos de Istio para la app.

Por ejemplo, puede que IBM Cloud Kubernetes Service actualice automáticamente la versión de parche o puede actualizar la versión menor del complemento. En cualquiera de los casos, actualice el cliente istioctl y los complementos de Istio existentes de la app para que coincidan con la versión de Istio del complemento.

  1. Obtenga la versión del cliente istioctl y los componentes del plano de control del complemento de Istio.

    istioctl version --short=false
    

    Salida de ejemplo

    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. En la salida, compare la client version (istioctl) con la versión de los componentes del plano de control de Istio, como por ejemplo pilot version. Si no coinciden las versiones de componente de plano de control y client version:

    1. Descargue el cliente istioctl de la misma versión que los componentes del plano de control.
        curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.29.5 sh -
        ```
    2. Vaya al directorio del paquete de Istio.
    
    ```sh {: pre}
        cd istio-1.29.5
        ```
    3. Usuarios de Linux y macOS: añada el cliente `istioctl` a la variable del sistema `PATH`.
    
    ```sh {: pre}
        export PATH=$PWD/bin:$PATH
        ```
    
  3. En la salida del paso 1, compare la pilot version con la data plane version para cada pod del plano de datos.

    • Si la pilot version y la data plane version coinciden, no es necesario realizar ninguna otra actualización.
    • Si pilot version y data plane version no coinciden, reinicie los despliegues para los pods de plano de datos que ejecutan la versión antigua. El nombre del pod y el espacio de nombres se listan en cada entrada como data plane version: version.ProxyInfo{ID:"<pod_name>.<namespace>", IstioVersion:"1.8.4"}.
    kubectl rollout restart deployment <deployment> -n <namespace>
    

    En addon-istio 1.24 y posteriores, si tiene implementaciones de puerta de enlace personalizadas, también es responsable de actualizarlas para que recojan la imagen istio/proxyv2 más reciente. Las pasarelas personalizadas se muestran en la lista de pods de planos de datos y pueden actualizarse con un reinicio del despliegue.

Actualización desde una versión no compatible del complemento Istio

Actualice sus componentes de Istio a la última versión del parche compatible con IBM Cloud Kubernetes Service.

addon-istio 1.26.8 no será compatible a partir del 10 de agosto de 2026. Antes de esa fecha, actualiza a la última versión del parche de addon-istio 1.29 que sea compatible con IBM Cloud Kubernetes Service.

addon-istio 1.29 está disponible y es compatible con las versiones de « », y. IBM Cloud Kubernetes Service 1.33 1.34 1.35 Para actualizar de 1.26 a 1.29, realiza todas las actualizaciones menores, de 1.26 a 1.27, de 1.27 a 1.28 y de 1.28 a 1.29, siguiendo las instrucciones de « Actualización a una versión menor del complemento Istio ».