Versões desatualizadas do Kubernetes expõem os clusters a vulnerabilidades de segurança conhecidas e limitam o acesso ao suporte técnico. O ACK Edge usa atualizações in-place para migrar seus clusters para uma nova versão do Kubernetes sem exigir a recriação do cluster. Este tópico aborda as restrições de versão, o procedimento de atualização em três fases e os requisitos de migração de runtime para a atualização para a versão 1,24.
Por que atualizar
Vulnerabilidades de segurança: novas versões corrigem falhas conhecidas. O ACK Edge não aplica retroativamente correções de segurança em versões desatualizadas.
Suporte limitado: o ACK Edge não garante a qualidade do suporte para versões antigas. A atualização restabelece a cobertura total de suporte técnico.
Novos recursos: cada lançamento traz melhorias que proporcionam uma experiência mais fluida de desenvolvimento e operações.
Observações de uso
O ACK Edge oferece suporte a atualizações entre as versões 1,18 e 1,24 do Kubernetes. Atualizações para a versão 1,26 e posteriores também são compatíveis.
As atualizações são sequenciais: você só pode avançar para a próxima versão secundária (minor version). Para atualizar da versão 1,18 para a 1,22, atualize primeiro para a 1,20 e depois para a 1,22.
Não há suporte para rollback. Após a atualização, não é possível reverter um cluster para uma versão anterior do Kubernetes.
Para atualizar do Kubernetes 1,26 para o 1,30, envie um ticket para ser adicionado à lista de permissões.
Os pools de nós de borda e o plano de controle podem diferir em, no máximo, duas versões secundárias. Por exemplo, se o plano de controle executa o Kubernetes 1,22, os pools de nós de borda devem executar pelo menos o Kubernetes 1,20.
Como funciona
A atualização de um cluster ACK Edge ocorre em três fases sequenciais:
|
Fase |
Escopo |
Duração estimada |
|
Plano de controle |
kube-apiserver, kube-controller-manager, kube-scheduler |
~5 minutos |
|
Pools de nós na nuvem |
kubelet, runtime de contêiner por pool de nós |
~5 minutos por lote |
|
Pools de nós de borda |
Todos os nós, atualizados individualmente |
Varia conforme a quantidade de nós |
O plano de controle usa atualizações contínuas (rolling updates). Os pools de nós na nuvem são atualizados um por vez, com os nós processados em lotes: o primeiro lote contém um nó, e cada lote subsequente dobra de tamanho. Já os pools de nós de borda exigem a execução do comando de atualização em cada nó individualmente.
Pré-requisitos
Antes de começar, certifique-se de ter:
Acesso ao console do ACK com permissões de gerenciamento de cluster
Revisado as notas de lançamento do ACK Edge Kubernetes 1,30 ou as notas de lançamento da sua versão de destino
Verificado a versão atual do Kubernetes do seu cluster na coluna Version da página console do ACKClusters
Etapa 1: Atualizar o plano de controle
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster que deseja atualizar. No painel à esquerda, escolha Operations > Upgrade Cluster.
-
Na página Upgrade Cluster, defina a Destination Version e clique em Precheck. Após a conclusão da verificação prévia, revise os resultados na seção Pre-check Results:
Sem problemas: o cluster passou na verificação prévia. Prossiga para a próxima etapa.
Problemas encontrados: o cluster continua operando normalmente e seu status não se altera. Corrija os problemas com base nas sugestões do console antes de prosseguir. Para mais detalhes, consulte Itens de verificação de cluster e sugestões sobre como corrigir problemas.
Para clusters executando Kubernetes 1,20 ou posterior, a verificação prévia também busca o uso de APIs obsoletas. A detecção de uma API obsoleta não bloqueia a atualização — o resultado é apenas informativo. Para mais detalhes, consulte APIs obsoletas .
Clique em Start Update e siga as instruções na tela. Acompanhe o progresso no painel de histórico de atualizações, no canto superior direito da página Upgrade Cluster. Após a conclusão da atualização, acesse a página Clusters e confirme se a versão do Kubernetes foi alterada. Novos nós adicionados após este momento usarão automaticamente a nova versão.
Etapa 2: Atualizar pools de nós na nuvem
Após concluir a atualização do plano de controle, atualize seus pools de nós na nuvem fora dos horários de pico. Cada atualização de pool substitui o kubelet e o runtime de contêiner em todos os nós.
Os pools são atualizados sequencialmente — apenas um pool é atualizado por vez. Dentro de cada pool, os nós são atualizados em lotes: o primeiro lote contém um nó, os lotes subsequentes dobram de tamanho, e o limite máximo de tamanho do lote se aplica mesmo após retomar uma atualização pausada. Defina o tamanho máximo do lote na página Node Pool Upgrade. Um tamanho máximo de lote de 10 funciona bem para a maioria dos clusters.
Para etapas detalhadas e observações sobre a atualização, consulte Atualizar um pool de nós na nuvem.
Etapa 3: Atualizar pools de nós de borda
Conclua a atualização do plano de controle antes de iniciar esta etapa. Um pool de nós de borda só é considerado totalmente atualizado quando todos os seus nós forem atualizados.
Execute o comando de atualização em todos os nós, um por vez, no pool de nós de borda:
export REGION="" INTERCONNECT_MODE="" TARGET_CLUSTER_VERSION=""; export ARCH=$(uname -m | awk '{print ($1 == "x86_64") ? "amd64" : (($1 == "aarch64") ? "arm64" : "amd64")}') INTERNAL=$( [ "$INTERCONNECT_MODE" = "private" ] && echo "-internal" || echo "" ); wget http://aliacs-k8s-${REGION}.oss-${REGION}${INTERNAL}.aliyuncs.com/public/pkg/run/attach/${TARGET_CLUSTER_VERSION}/${ARCH}/edgeadm -O edgeadm; chmod u+x edgeadm;./edgeadm upgrade --interconnect-mode=${INTERCONNECT_MODE} --region=${REGION}
Substitua os espaços reservados antes de executar o comando:
|
Parâmetro |
Descrição |
Exemplo |
|
|
Versão do Kubernetes do plano de controle atualizado |
|
|
|
ID da região do cluster |
|
|
|
Tipo de rede para conexões dos nós: |
|
Uma atualização bem-sucedida exibe a seguinte saída:

Migração de runtime para Docker (atualização para 1,24)
O Kubernetes 1,24 removeu o suporte ao runtime Docker. Se algum nó do seu cluster utilizar Docker, migre-o para containerd como parte da atualização para a versão 1,24.
(Recomendado) Migração contínua: crie um novo pool de nós com o runtime containerd e expanda sua capacidade. Migre gradualmente as cargas de trabalho definindo o pool antigo como não agendável ou atualizando os rótulos de agendamento das cargas. Em seguida, desative o pool antigo. Para detalhes sobre a criação de pools de nós, consulte Gerenciamento de pools de nós de borda. Para detalhes sobre como definir nós como não agendáveis, consulte Drenagem de nós e status de agendamento.
-
Atualização in-place: drene o nó antes da atualização e execute o comando de upgrade. Todos os contêineres no nó serão reiniciados durante o processo.
Drene o nó.
-
Execute o seguinte comando em todos os nós, um por vez, no pool de nós de borda:
export REGION="" INTERCONNECT_MODE="" TARGET_CLUSTER_VERSION=""; export ARCH=$(uname -m | awk '{print ($1 == "x86_64") ? "amd64" : (($1 == "aarch64") ? "arm64" : "amd64")}') INTERNAL=$( [ "$INTERCONNECT_MODE" = "private" ] && echo "-internal" || echo "" ); wget http://aliacs-k8s-${REGION}.oss-${REGION}${INTERNAL}.aliyuncs.com/public/pkg/run/attach/${TARGET_CLUSTER_VERSION}/${ARCH}/edgeadm -O edgeadm; chmod u+x edgeadm;./edgeadm upgrade --interconnect-mode=${INTERCONNECT_MODE} --region=${REGION}Substitua os espaços reservados antes de executar o comando:
Parâmetro
Descrição
Exemplo
TARGET_CLUSTER_VERSIONVersão do Kubernetes do plano de controle atualizado
1.24.6-aliyunedge.1— consulte Notas de lançamento para versões suportadas do KubernetesREGIONID da região do cluster
cn-hangzhou— consulte Regiões suportadasINTERCONNECT_MODETipo de rede para conexões dos nós:
basic(rede pública) ouprivate(circuitos Express Connect)basicUma atualização bem-sucedida exibe a seguinte saída:

Verificar a atualização
Após a conclusão das três fases, confirme se a atualização foi bem-sucedida:
Na página Clusters, verifique se a versão do Kubernetes exibida na coluna Version corresponde à versão de destino.
Confira se os pools de nós estão em execução e se os nós apresentam estado íntegro.
Valide se as cargas de trabalho no cluster estão operando conforme o esperado.
Perguntas frequentes
O ACK Edge força a atualização de clusters?
Não. As atualizações de clusters ACK Edge são exclusivamente manuais. Se você optar por não atualizar, o cluster permanecerá na versão atual do Kubernetes. Recomendamos atualizar prontamente para manter o acesso a patches de segurança e suporte técnico completo.
O que fazer se um nó de borda falhar na atualização?
Se o comando de atualização não retornar This node has been upgraded successfully, consulte O que devo fazer se um nó de borda falhar ao ser atualizado durante a atualização de um cluster ACK Edge?
Próximos passos
Caso seu cluster falhe em uma verificação prévia, consulte Itens de verificação de cluster e sugestões sobre como corrigir problemas.
Para criar ou gerenciar pools de nós de borda, consulte Gerenciamento de pools de nós de borda.