Ir para o conteúdo

How do I upgrade my Amazon EKS cluster and add-ons? (Como faço para atualizar meu cluster e complementos do Amazon EKS?)

6 minuto de leitura
0

Quero seguir as práticas recomendadas para atualizar meu cluster e complementos do Amazon Elastic Kubernetes Service (EKS).

Breve descrição

Antes de atualizar seu cluster, verifique a compatibilidade com a nova versão do Kubernetes. Além disso, talvez seja necessário atualizar os drivers e complementos de armazenamento para trabalhar com versões mais recentes.

Depois de atualizar uma versão do Kubernetes em seu cluster do Amazon EKS, não é possível fazer o downgrade para uma versão anterior. Antes de atualizar a versão do Kubernetes, consulte Compreender o ciclo de vida da versão do Kubernetes no EKS. Confirme se as regras do grupo de segurança permitem a comunicação de cluster necessária para as sub-redes que você especificou ao criar seu cluster.

Observação:

  • a versão kubelet de um nó não pode ser posterior à versão Kubernetes.
  • Quando você atualiza seu ambiente de gerenciamento, os grupos de nós não são atualizados automaticamente.
  • A versão kubelet de um nó não pode ser mais do que duas versões secundárias anteriores à versão do Kubernetes. Por exemplo, para a versão do Kubernetes 1.33, as versões suportadas do kubelet são 1.33, 1.32 e 1.31.

Uma versão secundária recebe suporte padrão no Amazon EKS por 14 meses após o lançamento. Em seguida, a versão passa para o suporte estendido por 12 meses.

É possível usar o suporte estendido para manter uma versão específica do Kubernetes por mais tempo, com custos adicionais para cada hora de cluster. Se você não atualizar seu cluster antes do término do período de suporte estendido, a AWS atualizará automaticamente seu cluster para a versão mais antiga atualmente suportada.

O suporte estendido é ativado por padrão. Para desativar o suporte estendido, consulte Evitar o aumento dos custos do cluster desativando o suporte estendido do EKS. Para ver as datas de lançamento e suporte, consulte o calendário de lançamentos do Amazon EKS Kubernetes.

Resolução

Atualize a versão do cluster do Amazon EKS

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Primeiro, verifique a versão atual do Kubernetes do ambiente de gerenciamento e dos nós do cluster e sua versão atual do eksctl.

Execute o comando a seguir para verificar a versão do Kubernetes do seu ambiente de gerenciamento de cluster:

kubectl version

Exemplo de saída:

Client Version: v1.33.2
Kustomize Version: v5.6.0
Server Version: v1.32.5-eks-5d4a308

Execute o comando a seguir para obter a versão Kubernetes dos seus nós:

kubectl get nodes

Exemplo de saída:

NAME                            STATUS   ROLES    AGE    VERSION
ip-10-42-177-172.ec2.internal   Ready    <none>   132m   v1.32.3-eks-473151a
ip-10-42-177-39.ec2.internal    Ready    <none>   142m   v1.32.3-eks-473151a

Execute o comando a seguir para verificar sua versão do eksctl:

eksctl version

Observação: use eksctl versão 0.210.0 ou posterior. A atualização leva vários minutos para ser concluída.

Em seguida, use eksctl, o console do Amazon EKS ou a AWS CLI para atualizar seu cluster.

Atualizar a versão do grupo de nós

Para atualizar um grupo de nós gerenciados, consulte Atualizar um grupo de nós gerenciados para seu cluster. Para atualizar seu grupo de nós autogerenciado, você deve migrar aplicações para um novo grupo de nós.

Atualize os complementos do Amazon EKS

O Amazon EKS não atualiza automaticamente os complementos durante uma atualização do ambiente de gerenciamento. Verifique as versões compatíveis dos seus complementos e, em seguida, atualize-as. É possível atualizar somente uma versão secundária por vez.

Para verificar se a versão do complemento é compatível com a versão mais recente do Kubernetes, execute o seguinte comando:

eksctl utils describe-addon-versions —kubernetes-version 1.33 —name name-of-addon | grep AddonVersion

Observação: substitua name-of-addon pelo nome do seu complemento e 1.33 pela versão mais recente do Kubernetes.

Verifique se sua versão atual aparece na saída.

Exemplo de saída:

"AddonVersions": [
                    "AddonVersion": "v1.12.1-eksbuild.2",
                    "AddonVersion": "v1.11.4-eksbuild.14",
                    "AddonVersion": "v1.11.4-eksbuild.10",
                    "AddonVersion": "v1.11.4-eksbuild.2",
                    "AddonVersion": "v1.11.3-eksbuild.3",
                    "AddonVersion": "v1.11.3-eksbuild.2",

Talvez seja necessário atualizar os seguintes complementos do Amazon EKS:

Para obter mais informações, consulte AWS add-ons.

Plug-in CNI da Amazon VPC

Verifique as versões CNI compatíveis da Amazon VPC para seu cluster.

Em seguida, escolha uma das seguintes opções para atualizar o complemento:

proxy kube

Verifique as versões compatíveis do kube-proxy para seu cluster.

Em seguida, escolha uma das seguintes opções para atualizar o complemento:

CoreDNS

Verifique as versões compatíveis do CoreDNS para seu cluster.

Em seguida, escolha uma das seguintes opções para atualizar o complemento:

Drivers CSI do Amazon EBS e do Amazon EFS

Para atualizar um driver CSI do Amazon EBS ou um driver CSI do Amazon EFS, consulte Atualizar um complemento do Amazon EKS.

Atualize o AWS Load Balancer Controller

Para saber a compatibilidade da versão do Kubernetes com o AWS Load Balancer Controller, consulte as versões compatíveis do Kubernetes no site do GitHub. A versão 2.5.0 ou posterior do AWS Load Balancer Controller exige a versão 1.22 ou posterior do Kubernetes. Para mais informações, consulte aws-load-balancer-controller releases no site do GitHub. Para instalar o AWS Load Balancer Controller, consulte Instalar o controlador.

AWS OFICIALAtualizada há um ano