Visão geral do upgrade

Planejar um upgrade de cluster para o software do Google Distributed Cloud somente para VMware ajuda a determinar a ordem de upgrade necessária, escolher ferramentas de gestão compatíveis e minimizar a interrupção da carga de trabalho em um ambiente de vários clusters. Para uma lista de verificação de prontidão pré-upgrade, consulte Práticas recomendadas de upgrade.

Como as versões, a ordem e as ferramentas afetam os upgrades

A ordem em que você faz upgrade dos clusters, as ferramentas usadas e as verificações que precisam ser realizadas variam significativamente de acordo com o seguinte:

  • A versão de início
  • A versão para a qual você faz upgrade
  • Se você fizer upgrade de um cluster avançado ou não avançado
  • Se você fizer upgrade para um cluster avançado ou não avançado
  • Se o Controlplane V2 está ativado no cluster de usuário

Dependendo da versão inicial, da ordem em que você faz upgrade dos clusters, das ferramentas usadas para atualizar, das versões dos clusters e do que você pode e não pode fazer, há variações significativas.

Verificar se um cluster é avançado ou não

Para verificar se os clusters são avançados ou não, identifique a versão que você está usando:

  • Se os clusters usarem a versão 1.30 ou anterior, eles não serão avançados.
  • Se os clusters usarem a versão 1.33 e você não tiver desativado explicitamente os clusters avançados, eles serão clusters avançados.
  • Se os clusters usarem a versão 1.34 ou posterior, eles serão clusters avançados.

Se os clusters usarem as versões 1.31 e 1.32, verifique se um cluster é avançado ou não verificando os recursos personalizados do cluster com kubectl:

  1. No kubeconfig do cluster de administrador, verifique o campo de especificação enableAdvancedCluster do cluster de administrador:

    kubectl get onpremadminclusters -A \
        -o custom-columns=NAME:.metadata.name,VERSION:.spec.gkeOnPremVersion,ADVANCED:.spec.enableAdvancedCluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Substitua ADMIN_CLUSTER_KUBECONFIG pelo caminho para o arquivo kubeconfig do cluster de usuário.

  2. No kubeconfig do cluster de administrador, verifique o campo de especificação enableAdvancedCluster dos clusters de usuário:

    kubectl get onpremuserclusters -A \
        -o custom-columns=NAME:.metadata.name,VERSION:.spec.gkeOnPremVersion,ADVANCED:.spec.enableAdvancedCluster \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

Quando os clusters avançados estão ativados, a saída é semelhante a esta:

NAME              VERSION           ADVANCED
gke-admin-abc12   1.32.0-gke.1085   true

Se ADVANCED for true, é um cluster avançado. Na versão 1.32 ou anterior, ADVANCED pode aparecer como <none>.

Processo de upgrade de alto nível

As seções a seguir descrevem o processo geral de upgrade de clusters, dependendo do tipo de cluster de origem e de destino.

Antes de iniciar um upgrade, leia as informações detalhadas sobre como as versões afetam os upgrades. Consulte as regras de upgrade de versão para ver uma lista detalhada de dependências por versão e informações sobre como pular versões e regras de desvio de versão.

Clusters avançados x não avançados

Há dois tipos de clusters: avançados e não avançados. Todos os clusters criados nas versões 1.33 ou mais recentes são clusters avançados. Os clusters avançados usam arquiteturas aprimoradas que oferecem maior flexibilidade e escalonabilidade.

Depois de fazer upgrade dos clusters para clusters avançados, você sempre usará clusters avançados e o processo de upgrade de clusters avançados. Se um cluster é avançado ou não, isso só importa quando você faz upgrade de uma versão anterior à 1.33.

Os clusters avançados usam uma arquitetura consolidada do Google Distributed Cloud, usando o software do Google Distributed Cloud somente para bare metal como o framework subjacente do software do Google Distributed Cloud somente para VMware. É possível que você veja referências a "bare metal" em rótulos de nós, recursos de API e tags do sistema.

O recurso de clusters avançados implementa uma arquitetura de cluster que alinha melhor o software do Google Distributed Cloud somente para VMware com o restante dos produtos do Google Distributed Cloud. Um cluster com clusters avançados ativados tem uma plataforma compartilhada com outros clusters do Google Distributed Cloud. Essa plataforma compartilhada usa os mesmos controladores e agentes, o que aumenta a confiabilidade e pode ajudar o Google a oferecer um suporte melhor. Também há um desempenho melhor para operações de cluster quando os clusters avançados estão ativados.

A nova arquitetura oferece uma experiência e implementação consistentes com todas as outras ofertas do Google Distributed Cloud. Para detalhes sobre os recursos disponíveis para clusters avançados e não avançados, consulte Suporte a recursos de clusters avançados.

Fazer upgrade de clusters avançados para clusters avançados (versões atuais, a partir da 1.31)

Na versão 1.32 e mais recentes, ao fazer upgrade de um cluster avançado para outro, é possível fazer upgrades de versão de patch e de versão secundária sequencial. Na versão 1.31 de pré-lançamento, só é possível fazer upgrades de versão de patch na versão 1.31.

Para fazer esse upgrade, use a CLI gkectl, a Google Cloud CLI, o console do Google Cloud ou o Terraform (dependendo da versão).

Para fazer upgrade de um cluster avançado para outro, siga esta ordem:

  1. Faça upgrade da estação de trabalho do administrador, se aplicável.
  2. Use gkectl diagnose cluster para verificar se o cluster de administrador está íntegro. Resolva os problemas.
  3. Faça upgrade do cluster de administrador.
  4. Use gkectl diagnose cluster para verificar se o upgrade foi bem-sucedido e se os clusters de usuário estão íntegros. Resolva os problemas.
  5. Upgrade de clusters de usuário, um de cada vez. É possível fazer upgrade do plano de controle e dos pools de nós do cluster de usuário juntos ou separadamente. Para mais informações, consulte Fazer upgrade de pools de nós.
  6. Verifique se o upgrade foi concluído usando gkectl diagnose cluster.

Quando todos os pools de nós em um cluster de usuário estiverem na mesma versão que o plano de controle do cluster do usuário, o cluster do usuário será atualizado e o upgrade será concluído.

O plano de controle do cluster de usuário é executado no próprio cluster de usuário e é atualizado durante o upgrade do cluster de usuário. Os nós do plano de controle do cluster de administrador são atualizados durante o upgrade do cluster de administrador.

Para mais informações sobre como diagnosticar clusters usando gkectl diagnose cluster, consulte Diagnosticar clusters.

Para informações sobre como fazer upgrade de clusters avançados para clusters avançados, consulte Fazer upgrade de um cluster.

Fazer upgrade de clusters não avançados para clusters avançados

Os upgrades de um cluster não avançado para um cluster avançado só ocorrem nas versões 1.31, 1.32, 1.33 e 1.34. Para mais informações sobre como fazer upgrade de clusters não avançados para clusters avançados nessas versões, consulte Regras de versão de upgrade.

Para fazer upgrade de um cluster não avançado para um cluster avançado, use gkectl com a mesma versão de destino (por exemplo, se você estiver fazendo upgrade para a versão 1.32.0, use a versão 1.32.0 de gkectl) e siga esta ordem:

  1. Faça upgrade da estação de trabalho do administrador e dos artefatos.
  2. Use gkectl diagnose cluster para verificar se o cluster de administrador está íntegro. Resolva os problemas.
  3. Faça upgrade do cluster de administrador.
  4. Use gkectl diagnose cluster para verificar se o upgrade foi bem-sucedido e se os clusters de usuário estão íntegros. Resolva os problemas.
  5. Faça upgrade do cluster de usuário.
  6. Verifique se o upgrade foi concluído usando gkectl diagnose cluster.

Para mais informações sobre como diagnosticar clusters usando gkectl diagnose cluster, consulte Diagnosticar clusters.

Para mais informações sobre como fazer upgrade de um cluster não avançado para um avançado, consulte Atualizar ou fazer upgrade de um cluster não avançado para um avançado.

Fazer upgrade de um cluster não avançado para um cluster não avançado

É possível fazer upgrade de clusters não avançados para outro cluster não avançado na versão 1.33 e anteriores. Para detalhes sobre as versões que permitem upgrades de um cluster não avançado para outro, consulte Regras de versão de upgrade.

A ordem em que você faz upgrade de clusters não avançados depende da versão de destino:

  • Para as versões de destino 1.31, 1.32 e 1.33, é necessário fazer upgrade do cluster de administrador antes de fazer upgrade dos clusters de usuário.
  • Para as versões de destino 1.30 e anteriores, é necessário fazer upgrade de todos os clusters de usuário antes de fazer upgrade do cluster de administrador.

Fazer upgrade para a versão 1.31, 1.32 ou 1.33

Para fazer upgrade para a versão 1.31, 1.32 ou 1.33 sem que os clusters se tornem avançados, siga esta ordem:

  1. Faça upgrade da estação de trabalho do administrador e prepare os artefatos do pacote.
  2. Use gkectl diagnose cluster para verificar se o cluster de administrador está íntegro. Resolva os problemas.
  3. Faça upgrade do cluster de administrador.
  4. Use gkectl diagnose cluster para verificar se o upgrade foi bem-sucedido e se os clusters de usuário estão íntegros. Resolva os problemas.
  5. Upgrade de clusters de usuário, um de cada vez.
  6. Verifique se o upgrade foi concluído usando gkectl diagnose cluster.

Fazer upgrade para a versão 1.30 ou anterior

Para fazer upgrade para a versão 1.30 ou anterior, siga esta ordem:

  1. Faça upgrade da estação de trabalho do administrador e prepare os artefatos do pacote.
  2. Use gkectl diagnose cluster para verificar se os clusters de usuário estão íntegros. Resolva os problemas.
  3. Faça upgrade de todos os clusters de usuário, um de cada vez.
  4. Use gkectl diagnose cluster para verificar se o upgrade foi bem-sucedido e se o cluster de administrador está íntegro. Resolva os problemas.
  5. Faça upgrade do cluster de administrador.
  6. Verifique se o upgrade foi concluído usando gkectl diagnose cluster.

Para mais informações sobre como diagnosticar clusters usando gkectl diagnose cluster, consulte Diagnosticar clusters.

Para mais informações sobre como fazer upgrade de um cluster não avançado para outro cluster não avançado, consulte Fazer upgrade e manter clusters não avançados.

Upgrades de clusters

O upgrade dos clusters de administrador é sempre feito um por um.

Ao fazer upgrade de clusters de usuário, é possível fazer upgrade de todo o cluster de usuário (o plano de controle e todos os pools de nós no cluster ao mesmo tempo) ou fazer upgrade do plano de controle do cluster de usuário e deixar os pools de nós na versão atual. A abordagem adotada depende de vários fatores, como:

  • O ambiente (produção ou não produção) em que o cluster está.
  • A duração da sua janela de manutenção.
  • A versão do cluster de usuário.

Por exemplo, em um ambiente de desenvolvimento, convém manter o processo simples e fazer upgrade do plano de controle do cluster de usuário e de todos os pools de nós. Mas, em um ambiente de produção com uma janela de manutenção curta, é possível fazer upgrade apenas do plano de controle, já que isso leva menos tempo e com planos de controle de alta disponibilidade (HA), a atualização do plano de controle não deve interromper as cargas de trabalho do usuário.

Escolher uma ferramenta para fazer upgrade de clusters

A ferramenta usada depende de como e do que você planeja fazer upgrade.

Para clusters de administrador, use gkectl para fazer upgrade.

Para clusters de usuário, use uma das seguintes ferramentas para fazer upgrade:

  • A ferramenta de linha de comando gkectl (necessária para upgrades de clusters não avançados para clusters avançados)
  • Terraform, se você criou o cluster de usuário usando o Terraform
  • Console doGoogle Cloud
  • CLI do Google Cloud

A tabela a seguir lista quais ferramentas são compatíveis com quais casos de uso.

Caso de uso de upgrade gkectl CLI da gcloud Console Terraform Observações e restrições
Fazer upgrade de clusters de administrador (qualquer caminho) Sim Não Não Não Os clusters de administrador sempre exigem gkectl.
Fazer upgrade de clusters não avançados para avançados (conversão) Sim Não Não Não A versão do gkectl precisa corresponder à versão de destino. Não é permitida nenhuma distorção de versão entre o plano de controle (CP) e os pools de nós.
Fazer upgrade de clusters não avançados para não avançados (legado) Sim Não Não Não Disponível apenas na versão 1.33 e anteriores (caminho de desativação). Clientes de API não são compatíveis.
Fazer upgrade de clusters de usuário: de avançado para avançado Sim Sim Sim Sim1 As regras padrão de distorção de versão se aplicam.
Fazer upgrade de todo o cluster de usuário (CP e pools de nós juntos) Sim Sim Sim Sim1 Compatível com todas as ferramentas para clusters de usuários avançados.
Fazer upgrade do plano de controle do cluster de usuário separadamente (somente CP) Sim Sim Não Sim1 não é compatível com o upgrade apenas do plano de controle.
Fazer upgrade seletivo dos pools de nós após o upgrade do CP Sim Sim Não Sim1 O console não é compatível com upgrades pool de nós individuais.
Fazer upgrade do plano de controle e de um ou mais pools de nós ao mesmo tempo Sim Não Não Não Somente o gkectl é compatível com upgrades parciais simultâneos de CP + versão do pool de nós.

1 Requisito do Terraform: só é possível usar o Terraform para upgrades de cluster de usuário se o cluster de usuário tiver sido originalmente criado e gerenciado usando o Terraform.

Para receber informações sobre os clusters criados com gkectl usando o console ou a CLI gcloud, registre o cluster na API GKE On-Prem.

A seguir

Consulte as regras de versão de upgrade para entender como as versões afetam os upgrades e encontrar as regras de versão para a versão que você tem e a versão para a qual está fazendo upgrade.

Consulte as Práticas recomendadas de upgrade e crie um plano para fazer upgrade dos clusters.