Visão geral do upgrade

Nesta página, você terá uma visão geral do processo de upgrade e informações de desvio de versão que ajudarão você a planejar a ordem de upgrade dos clusters em um ambiente de vários clusters. Para informações de planejamento mais detalhadas, incluindo uma lista de verificação para ajudar a planejar o upgrade, consulte Práticas recomendadas de upgrade.

Fazer upgrade da sequência

Os upgrades no local desde a versão 1.7 precisam sempre seguir uma sequência de upgrade específica:

  1. Faça upgrade da estação de trabalho do administrador. Recomendamos que você faça isso mesmo que planeje usar o console do Google Cloud, a Google Cloud CLI ou o Terraform para fazer upgrade dos clusters de usuários.

  2. Upgrade de clusters de usuário, um de cada vez. Na versão 1.14 e mais recentes, é possível fazer upgrade do plano de controle de um cluster de usuário separadamente dos pools de nós no cluster de usuário. Para informações sobre os motivos para fazer isso, consulte Upgrades de cluster de usuário.

    Depois que todos os pools de nós em um cluster de usuário estiverem na mesma versão que o plano de controle, o cluster será completamente atualizado.

    Um cluster de administrador não pode estar em uma versão secundária mais recente do que qualquer um dos clusters de usuário que ele gerencia. Se algum dos clusters de usuário estiver na mesma versão secundária que o cluster de administrador, não vai ser possível fazer upgrade dele.

  3. Quando todos os clusters de usuário forem pelo menos uma versão secundária posterior ao cluster de administrador, será possível fazer upgrade do cluster de administrador.

O desvio de versão e as regras de versão para upgrades mudaram na versão 1.28 e nas versões mais recentes. Para mais informações, consulte Desvio da versão.

Upgrades de cluster de usuário

Ao fazer upgrade de clusters de usuário, é possível fazer upgrade do cluster de usuário como um todo (ou seja, fazer upgrade do plano de controle e de todos os pools de nós no cluster) 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 a ser 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. No entanto, em um ambiente de produção com uma janela de manutenção curta, convém atualizar apenas o plano de controle, porque isso leva menos tempo e, com os planos de controle de alta disponibilidade (HA, na sigla em inglês), o upgrade do plano de controle não interrompe as cargas de trabalho do usuário. Quando o plano de controle estiver na versão 1.28 ou mais recente, será possível pular uma versão secundária ao fazer upgrade dos pools de nós.

O upgrade de pools de nós separadamente do plano de controle é compatível com os pools de nós do Ubuntu e do COS, mas não com os do Windows.

Fazer upgrade seletivo dos pools de nós

Em determinadas situações, pode ser necessário fazer upgrade de alguns, mas não de todos os pools de nós em um cluster de usuário. Por exemplo, depois de fazer upgrade do plano de controle, é possível fazer upgrade de um pool de nós que tenha tráfego leve ou execute as cargas de trabalho menos críticas. Quando você estiver convencido de que suas cargas de trabalho são executadas corretamente na nova versão, é possível fazer upgrade de pools de nós adicionais até que todos eles sejam atualizados.

Escolher uma ferramenta para fazer upgrade dos clusters de usuário

O GKE no VMware oferece várias ferramentas para fazer upgrade de clusters de usuário.

  • A ferramenta de linha de comando gkectl, executada na estação de trabalho do administrador. Antes do upgrade, modifique o arquivo de configuração do cluster de usuário para definir a versão de destino do plano de controle do cluster e, opcionalmente, para os pools de nós. Esse arquivo é especificado na linha de comando como gkectl.

  • O console do Google Cloud, a Google Cloud CLI ou o Terraform, que pode ser executado em qualquer computador que tenha conectividade de rede com a API GKE On-Prem. Essas ferramentas padrão são clientes da API GKE On-Prem, que é executada na infraestrutura do Google Cloud.

    • O Terraform só pode ser usado para o upgrade se você tiver criado o cluster de usuário com ele.

    • Se o cluster de usuário foi criado usando gkectl, ele precisa estar registrado na API GKE On-Prem para usar o console ou a CLI gcloud para o upgrade. Na versão 1.16 e mais recentes, os clusters criados usando gkectl são registrados na API GKE On-Prem por padrão. Para clusters criados em versões anteriores, registre o cluster depois de criá-lo.

      Mesmo que você decida usar gkectl para o upgrade, convém registrar o cluster na API GKE On-Prem para receber informações sobre os clusters usando o console ou a CLI gcloud.

A ferramenta usada depende de como você planeja fazer upgrade dos clusters de usuário:

  • Fazer upgrade do cluster como um todo: é possível usar o gkectl, o console do Google Cloud, a Google Cloud CLI ou o Terraform para fazer upgrade de um cluster de usuário (o plano de controle com todos os pools de nós).

  • Faça upgrade apenas do plano de controle: é possível usar gkectl, a CLI gcloud ou o Terraform para fazer upgrade do plano de controle de um cluster de usuário separadamente dos pools de nós. O console não oferece suporte ao upgrade apenas do plano de controle.

  • Fazer upgrade seletivo dos pools de nós após o upgrade do plano de controle: é possível usar gkectl, a CLI gcloud ou o Terraform para fazer upgrade de pools de nós específicos após o upgrade do plano de controle.

  • Fazer upgrade do plano de controle e de um ou mais pools de nós ao mesmo tempo: apenas gkectl oferece suporte a esse caso de uso.

Upgrades do cluster de administrador

Quando o plano de controle e os pools de nós em todos os clusters de usuário forem pelo menos uma versão secundária mais recente que o cluster de administrador, será possível fazer upgrade do cluster de administrador. Apenas gkectl oferece suporte ao upgrade de clusters de administrador. Os clientes da API GKE On-Prem não são compatíveis com o upgrade de clusters de administrador.

Versão skew

O desvio da versão é a diferença nas versões secundárias entre um cluster de administrador e os clusters de usuário gerenciados. Nas seções a seguir, a versão do cluster de usuário se refere à versão do plano de controle e dos pools de nós juntos, como um todo.

Além disso, o desvio da versão é a diferença nas versões secundárias entre o plano de controle de um cluster de usuário e os pools de nós no cluster de usuário.

Em um ambiente de vários clusters, entender o desvio de versão compatível e as regras de versão para upgrades pode ajudar você a planejar a ordem de upgrade dos clusters.

Desvio da versão do cluster de administrador e de usuário

Um cluster de administrador pode gerenciar clusters de usuários que estejam em versões diferentes. Esse recurso permite fazer upgrade de uma frota de clusters de usuário de acordo com uma programação que funcione para sua organização.

1.29 e superior

O desvio da versão é o mesmo da 1.28. Na versão 1.29, esse recurso passou para o estágio de Disponibilidade geral.

Na versão 1.29 e mais recentes, os clusters de usuário podem ser até duas versões secundárias mais altas que o cluster de administrador. Por exemplo, se um cluster de administrador estiver em 1,16, os clusters de usuário gerenciados por ele poderão estar em 1,16, 1,28 ou 1,29.

Em termos gerais, se 1.n for a versão secundária do cluster de administrador, os clusters de usuário poderão estar em 1.n, 1.n+1 ou 1.n+2. Não é possível fazer upgrade dos clusters de usuário em 1.n+2 para a próxima versão secundária até que seja feito o upgrade do cluster de administrador pelo menos uma versão secundária.

1.28

Na versão 1.28, os clusters de usuário podem ser até duas versões secundárias mais altas que o cluster de administrador. Por exemplo, se um cluster de administrador estiver em 1,15, os clusters de usuário gerenciados por esse cluster de administrador poderão estar em 1,15, 1,16 ou 1,28. Não é possível fazer upgrade dos clusters de usuário em 1.28 para a versão 1.29 até que o cluster de administrador seja atualizado para pelo menos a versão 1.16.

1.16 e inferior

Na versão 1.16 e anteriores, os clusters de usuário só podem ser uma versão secundária mais recente que o cluster de administrador. Por exemplo, se um cluster de administrador estiver em 1,15, os clusters de usuário gerenciados por ele poderão estar em 1,15 ou 1,16.

Em termos gerais, se 1.n for a versão secundária do cluster de administrador, os clusters de usuário poderão estar em 1.n ou 1.n+1. Não é possível fazer upgrade dos clusters de usuário para a próxima versão secundária até que o cluster de administrador esteja na mesma versão secundária que o cluster de usuário.

Desvio da versão do pool de nós e do plano de controle do cluster de usuário

1.29 e superior

O desvio da versão é o mesmo da 1.28. Na versão 1.29, esse recurso passou para o estágio de Disponibilidade geral.

Na versão 1.29 e mais recentes, o plano de controle de um cluster de usuário pode ser até duas versões secundárias maiores que os pools de nós no cluster. Por exemplo, se o plano de controle de um cluster de usuário estiver em 1,29, os pools de nós no cluster podem estar em 1,16, 1,28 ou 1,29.

Em termos gerais, se 1.n for a versão secundária de um plano de controle do cluster de usuário, os pools de nós no cluster poderão estar em 1.n, 1.n-1 ou 1.n-2. Não é possível fazer upgrade dos planos de controle do cluster de usuário para a próxima versão secundária até que todos os pools de nós estejam em 1.n ou 1.n-1.

1.28

Na versão 1.28, o plano de controle de um cluster de usuário pode ser até duas versões secundárias mais alta do que os pools de nós no cluster. Por exemplo, se o plano de controle de um cluster de usuário estiver em 1,28, os pools de nós no cluster poderão estar em 1,15, 1,16 ou 1,28. Não é possível fazer upgrade dos planos de controle do cluster de usuário para a versão 1.29 até que todos os pools de nós estejam em 1.28 ou 1.16.

1.16 e inferior

Na versão 1.16 e anteriores, o plano de controle de um cluster de usuário só pode ser uma versão secundária mais alta do que os pools de nós no cluster. Por exemplo, se o plano de controle de um cluster de usuário estiver em 1,16, os pools de nós no cluster poderão estar em 1,15 ou 1,16.

Em termos gerais, se 1.n for a versão secundária de um plano de controle do cluster de usuário, os pools de nós no cluster poderão estar em 1.n ou 1.n-1. Não é possível fazer upgrade dos clusters de usuário para a próxima versão secundária até que todos os pools de nós estejam na mesma versão secundária do plano de controle.

Regras de versão para upgrades do cluster de administrador e do plano de controle do cluster de usuário

As regras de versão para clusters de administrador e upgrades do plano de controle do cluster de usuário são as mesmas. É possível fazer upgrade diretamente para qualquer versão que esteja na mesma versão secundária ou na próxima. Por exemplo, é possível fazer upgrade de 1.29.0 para 1.29.1 ou de 1.28.1 para 1.29.0. As versões de patch não afetam as regras de versão de upgrade.

Se você estiver fazendo upgrade para uma versão que não faz parte do próximo lançamento secundário, será necessário fazer upgrade para uma versão de cada versão secundária entre a versão atual e a de destino. Não é possível pular uma versão secundária. Por exemplo, se você quiser fazer upgrade da versão 1.16.x para a versão 1.29.x, não será possível fazer upgrade diretamente. Primeiro, é necessário fazer upgrade da 1.16.x para a 1.28.x e, em seguida, fazer upgrade para 1.29.x.

Em termos gerais, apenas os upgrades de 1.n para 1.n+1 são compatíveis com upgrades de cluster de administrador e de plano de controle do cluster de usuário.

Regras de versão para upgrades do pool de nós

Na versão 1.28 e posteriores, é possível pular uma versão secundária ao fazer upgrade de um pool de nós em um cluster de usuário. Por exemplo, se um plano de controle do cluster de usuário estiver em 1,29 e um pool de nós estiver em 1,16, será possível pular 1,28 e fazer upgrade do pool de nós diretamente para 1,29. As versões de patch não afetam as regras de versão de upgrade.

Em termos gerais, se um plano de controle do cluster de usuário estiver em 1.n, será possível fazer upgrade dos pools de nós que estão em 1.n-2 diretamente para 1.n. Ignorar uma versão secundária ao fazer upgrade de pools de nós pode reduzir o tempo do que fazer dois upgrades de pool de nós (para fazer upgrade de 1.n-2 para 1.n-1 e, em seguida, para 1.n). Esse é outro motivo para fazer upgrade do plano de controle de um cluster de usuário separado dos pools de nós executados no cluster de usuário.

Upgrades de versão de patchs

Recomendamos que você faça upgrade para a versão de patch mais recente sempre que possível para garantir que seus clusters tenham as correções de segurança mais recentes. As versões de patch não afetam o desvio de versão e as regras de upgrade. É possível fazer upgrade para qualquer versão secundária de uma determinada versão secundária. Ou seja, é possível fazer upgrade de um cluster de versão 1.29.X para a versão 1.29.Y, desde que Y seja maior que X. Por exemplo, é possível fazer upgrade de 1.28.0 para 1.28.1, bem como de 1.28.1 para 1.28.3.

A seguir

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