Atualização Istio

Não use istioctl para atualizar a versão do Istio que é instalada pelo complemento gerenciado. Quando atualizado, o complemento Istio gerenciado também inclui uma atualização da versão Istio. As versões compatíveis de Istio são testadas por IBM Cloud e aprovadas para uso em IBM Cloud Kubernetes Service.

Antes de Iniciar

  • Só é possível atualizar manualmente uma versão de cada vez do complemento Istio. Para atualizar o complemento Istio em duas ou mais versões, você pode repetir o processo de atualização manual ou pode desinstalar o complemento e instalar a versão mais recente.

  • Não é possível reverter o complemento do Istio gerenciado para uma versão anterior. Para reverter para uma versão secundária anterior, você deve desinstalar o complemento e, em seguida, instalar a versão anterior.

  • Ao atualizar os componentes de controle do Istio no namespace istio-system para a versão secundária mais recente, é possível experimentar mudanças disruptivas. Revise as mudanças a seguir que ocorrem durante uma atualização da versão secundária.

    • À medida que as atualizações são apresentadas para os pods do plano de controle, os pods são recriados. O plano de controle do Istio não estará totalmente disponível até que a atualização seja concluída.
    • O plano de dados do Istio continua funcionando durante a atualização. No entanto, algum tráfego para apps na malha de serviço pode ser interrompido por um curto período de tempo.
    • O endereço IP externo do balanceador de carga istio-ingressgateway não muda durante ou após a atualização.

Atualização para uma versão secundária do complemento “ Istio ”

Antes de Iniciar:

Revise os pré-requisitos que se aplicam a todas as atualizações de versão.

Para atualizar a versão secundária do complemento “ Istio ”:

  1. Revise as versões disponíveis do complemento Istio.

    ibmcloud ks addon-versions
    
  2. Confira as alterações presentes em cada versão no registro de alterações do complemento “ Istio ”.

  3. Atualize o complemento do Istio.

    ibmcloud ks cluster addon update istio --version VERSION -c CLUSTER_NAME_OR_ID
    
  4. Antes de continuar, verifique se a atualização está concluída.

    O processo de atualização pode levar até 20 minutos para ser concluído.

    1. Assegure-se de que o Estado de funcionamento do complemento Istio seja normal e que o Status de funcionamento seja Addon Ready. Se o estado for updating, a atualização ainda não estará concluída.
        ibmcloud ks cluster addon ls --cluster CLUSTER_NAME_OR_ID
        ```
    2. Assegure-se de que os pods do componente de plano de controle no namespace `istio-system` tenham um **STATUS** de `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. Atualize o cliente istioctl e os sidecars.

Atualizando o cliente istioctl e os sidecars

Sempre que o complemento Istio gerenciado for atualizado, atualize o seu cliente istioctl e os sidecars de Istio para o seu app.

Por exemplo, a versão de correção do seu complemento pode ser atualizada automaticamente pelo IBM Cloud Kubernetes Service ou é possível atualizar a versão secundária do complemento. Em qualquer caso, atualize o seu cliente istioctl e os sidecars existentes do seu aplicativo para corresponder à versão do complemento do Istio.

  1. Obtenha a versão de seu cliente istioctl e os componentes do plano de controle de complemento do Istio.

    istioctl version --short=false
    

    Exemplo de saída

    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. Na saída, compare a client version (istioctl) com a versão dos componentes do plano de controle do Istio, como a pilot version. Se as versões de componente de plano de controle e do client version não corresponderem:

    1. Faça o download do cliente istioctl da mesma versão que os componentes do plano de controle.
        curl -L https://istio.io/downloadIstio | ISTIO_VERSION=1.29.5 sh -
        ```
    2. Navegue para o diretório do pacote Istio.
    
    ```sh {: pre}
        cd istio-1.29.5
        ```
    3. Usuários do Linux e do macOS: inclua o cliente `istioctl` em sua variável de sistema `PATH`.
    
    ```sh {: pre}
        export PATH=$PWD/bin:$PATH
        ```
    
  3. Na saída da etapa 1, compare a pilot version com a data plane version de cada pod de plano de dados.

    • Se a pilot version e a data plane version corresponderem, nenhuma atualização posterior será necessária.
    • Se o pilot version e o data plane version não corresponderem, reinicie as implementações para os pods de plano de dados que executam a versão antiga. O nome do pod e o espaço de nomes são listados em cada entrada como data plane version: version.ProxyInfo{ID:"<pod_name>.<namespace>", IstioVersion:"1.8.4"}.
    kubectl rollout restart deployment <deployment> -n <namespace>
    

    Em addon-istio 1.24 e posteriores, se você tiver implantações de gateway personalizadas, também será responsável por atualizá-las para obter a imagem mais recente de istio/proxyv2. Os gateways personalizados são exibidos na lista de pods de plano de dados e podem ser atualizados com uma reinicialização da distribuição.

Atualização de uma versão sem suporte do complemento Istio

Atualize os componentes do site Istio para a versão mais recente do patch compatível com o site IBM Cloud Kubernetes Service.

addon-istio 1.26.8 não terá suporte a partir de 10 de agosto de 2026. Antes dessa data, atualize para a versão mais recente do patch do addon-istio 1.29 que seja compatível com o IBM Cloud Kubernetes Service.

addon-istio 1.29 está disponível e é compatível com as versões do :, e. IBM Cloud Kubernetes Service 1.33 1.34 1.35 Para atualizar d 1.26 para 1.29, conclua todas as atualizações menores, de 1.26 para 1.27, de 1.27 para 1.28 e de 1.28 para 1.29, seguindo as instruções da seção “Atualização para uma versão menor do complemento Istio ”.