Fazer upgrade dos pools de nós

Neste documento, mostramos como fazer upgrade do plano de controle e dos pools de nós selecionados em um cluster de usuário.

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

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, é possível fazer upgrade de um pool de nós com tráfego leve ou executar cargas de trabalho menos essenciais. Depois que você estiver convencido de que as cargas de trabalho são executadas corretamente na nova versão, será possível fazer upgrade de outros pools de nós até que todos eles sejam atualizados.

Faça upgrade da estação de trabalho do administrador

Faça upgrade da estação de trabalho do administrador para a versão de destino do upgrade. Para instruções, consulte Como fazer upgrade do GKE no VMware.

Importar novas imagens do SO para o vSphere

Execute gkectl prepare para importar imagens do SO para o vSphere:

gkectl prepare \
    --bundle-path /var/lib/gke/bundles/gke-onprem-vsphere-TARGET_VERSION.tgz \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG

Substitua:

  • TARGET_VERSION: a versão de destino do upgrade

  • ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador;

Verificar as versões disponíveis

Execute o seguinte comando para ver quais versões estão disponíveis para upgrade:

gkectl version --kubeconfig ADMIN_CLUSTER_KUBECONFIG

A saída mostra a versão atual e as versões disponíveis para upgrade. Exemplo:

gkectl version: 1.14.0-gke.x

current admin cluster version: 1.13.1-gke.35

current user cluster versions:
- 1.13.1-gke.35

available admin cluster versions:
- 1.13.1-gke.35

available user cluster versions:
- 1.13.1-gke.35
- 1.14.0-gke.x

Fazer upgrade do plano de controle do cluster de usuário e dos pools de nós selecionados

Siga as instruções em Fazer upgrade de um cluster de usuário. No arquivo de configuração do cluster de usuário, defina gkeOnPremVersion como a versão de destino do upgrade. Para cada pool de nós que você quer atualizar, remova o campo nodePools.nodePool[i].gkeOnPremVersion ou defina como a string vazia. Para cada pool de nós que você não quiser fazer upgrade, defina nodePools.nodePool[i].gkeOnPremVersion como a versão atual.

Por exemplo, suponha que seu cluster de usuário esteja na versão 1.13.1-gke.35 e tenha dois pools de nós: pool-1 e pool-2. Suponha também que você queira fazer upgrade do plano de controle e pool-1 para 1.14.0-gke.x, mas queira que pool-2 permaneça na versão 1.13.1-gke.35.

Veja uma parte de um arquivo de configuração de cluster de usuário. Ela especifica que o plano de controle e pool-1 serão atualizados para a versão 1.14.0-gke.x, mas pool-2 continuará na versão atual 1.13.1-gke.35.

gkeOnPremVersion: 1.14.0-gke.0

nodePools:
- name: pool-1
  gkeOnPremVersion: ""
  cpus: 4
  memoryMB: 8192
  replicas: 3
  osImageType: ubuntu_containerd
- name: pool-2
  gkeOnPremVersion: 1.13.1-gke.35
  cpus: 4
  memoryMB: 8192
  replicas: 5
  osImageType: ubuntu_containerd

Continue com o upgrade, conforme descrito em Fazer upgrade de um cluster de usuário.

Fazer upgrade de outros pools de nós

Suponha que tudo esteja funcionando bem com pool-1, e agora você queira fazer upgrade de pool-2.

No arquivo de configuração do cluster de usuário, em pool-2, remova gkeOnPremVersion ou defina-o como a string vazia:

gkeOnPremVersion: 1.14.0-gke.0

nodePools:
- name: pool-1
  gkeOnPremVersion: ""
  cpus: 4
  memoryMB: 8192
  replicas: 3
  osImageType: ubuntu_containerd
- name: pool-2
  gkeOnPremVersion: ""
  cpus: 4
  memoryMB: 8192
  replicas: 5
  osImageType: ubuntu_containerd

Execute gkectl update cluster para aplicar a alteração:

gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \
    --config USER_CLUSTER_CONFIG

Substitua:

  • ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador;

  • USER_CLUSTER_CONFIG: o caminho do arquivo de configuração do cluster de usuário.

Solução de problemas

Se você encontrar um problema depois de fazer upgrade de um pool de nós, poderá reverter para a versão anterior. Para mais informações, consulte Como reverter um pool de nós após um upgrade.