Ajudar a melhorar esta página
Quer contribuir para este guia do usuário? Escolha o link Editar esta página no GitHub, disponível no painel direito de cada página. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.
O Amazon EKS não atualiza automaticamente o complemento quando novas versões são lançadas nem depois que você atualiza o cluster para uma nova versão secundária do Kubernetes. Para atualizar um complemento para um cluster existente, você deve iniciar a atualização. Após a atualização ser iniciada, o Amazon EKS atualizará o complemento do Amazon EKS para você. Antes de atualizar um complemento, revise sua documentação atual. Para obter uma lista dos complementos disponíveis, consulte Complementos da AWS. Se o complemento exigir um perfil do IAM, consulte os detalhes do complemento específico em Complementos do Amazon EKS disponíveis em AWS para obter detalhes sobre a criação do perfil.
Pré-requisitos
Antes de criar um complemento, faça o seguinte:
-
Verifique se o complemento exige um perfil do IAM. Para ter mais informações, consulte Complementos do Amazon EKS.
-
Verifique se a versão do complemento do Amazon EKS é compatível com o cluster. Para ter mais informações, consulte Verificar a compatibilidade da versão do complemento do Amazon EKS com um cluster.
Procedimento
Você pode atualizar um complemento do Amazon EKS usando eksctl
, AWS Management Console ou AWS CLI.
Complemento de atualização (eksctl)
-
Determine os complementos e as versões dos complementos instalados atualmente no cluster. Substitua
my-cluster
pelo nome do cluster.eksctl get addon --cluster my-cluster
Veja um exemplo de saída abaixo.
NAME VERSION STATUS ISSUES IAMROLE UPDATE AVAILABLE coredns v1.8.7-eksbuild.2 ACTIVE 0 kube-proxy v1.23.7-eksbuild.1 ACTIVE 0 v1.23.8-eksbuild.2 vpc-cni v1.10.4-eksbuild.1 ACTIVE 0 v1.12.0-eksbuild.1,v1.11.4-eksbuild.1,v1.11.3-eksbuild.1,v1.11.2-eksbuild.1,v1.11.0-eksbuild.1
Sua saída pode ser diferente, dependendo dos complementos e versões que você tiver no cluster. Você pode ver que, na saída do exemplo anterior, dois complementos existentes no cluster têm versões mais recentes disponíveis na coluna
UPDATE AVAILABLE
. -
Atualize o complemento.
-
Copie o conteúdo a seguir no seu dispositivo. Faça as seguintes modificações no comando, conforme necessário:
-
Substitua
my-cluster
pelo nome do cluster. -
Substitua
region-code
pela região da AWS em que seu cluster se encontra. -
Substitua
vpc-cni
pelo nome de um complemento retornado na saída da etapa anterior que você deseja atualizar. -
Se quiser atualizar para uma versão anterior à última versão disponível, substitua
latest
pelo número de versão retornado na saída da etapa anterior que você deseja usar. Alguns complementos têm versões recomendadas. Para obter mais informações, consulte a documentação do complemento que você está atualizando. Para obter uma lista de complementos, consulte Complementos da AWS.* Se o complemento usar uma conta de serviço Kubernetes e um perfil do IAM, substitua111122223333
pelo ID da conta e onome do perfil
pelo nome de um perfil do IAM existente que você tenha criado. Para obter instruções para criar o perfil, consulte a documentação do complemento que você está criando. Para obter uma lista de complementos, consulte Complementos da AWS. A especificação de um perfil da conta de serviço exige que você tenha um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um para o seu cluster, consulte Criar um provedor OIDC do IAM para o cluster.Se o complemento não usar uma conta de serviço do Kubernetes e um perfil do IAM, exclua a linha
serviceAccountRoleARN: arn:aws:iam::
.111122223333
:role/role-name
-
A opção
preserve
(manter) mantém os valores existentes para o complemento. Se você definiu valores personalizados para as configurações do complemento e não usar essa opção, o Amazon EKS sobrescreverá seus valores pelos valores padrão. Se você usar essa opção, recomendamos testar qualquer alteração de campo e valor em um cluster que não seja de produção antes de atualizar o complemento no cluster de produção. Se você alterar esse valor paraoverwrite
, todas as configurações serão alteradas para os valores padrão do Amazon EKS. Se você definiu valores personalizados para qualquer configuração, eles poderão ser sobrescritos pelos valores padrão do Amazon EKS. Se você alterar esse valor paranone
, o Amazon EKS não alterará o valor de nenhuma configuração, mas a atualização poderá falhar. Se a atualização falhar, você receberá uma mensagem de erro para ajudar a resolver o conflito.cat >update-addon.yaml <<EOF apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code addons: - name: vpc-cni version: latest serviceAccountRoleARN: arn:aws:iam::111122223333:role/role-name resolveConflicts: preserve EOF
-
-
Execute o comando modificado para criar o arquivo
update-addon.yaml
. -
Aplique o arquivo de configuração ao cluster.
eksctl update addon -f update-addon.yaml
Para obter mais informações sobre atualização de complementos, consulte Atualizar complementos
na documentação do eksctl
. -
Atualizar complemento (console do AWS)
-
Abra o console do Amazon EKS
. -
No painel de navegação à esquerda, escolha Clusters.
-
Escolha o nome do cluster para o qual você deseja atualizar o complemento..
-
Escolha a guia Add-ons (Complementos).
-
Escolha o complemento que deseja atualizar.
-
Escolha Editar.
-
Na página Configurar
nome do complemento
, faça o seguinte:-
Selecione a Versão que você deseja usar. O complemento pode ter uma versão recomendada. Para obter mais informações, consulte a documentação do complemento que você está atualizando. Para obter uma lista de complementos, consulte Complementos da AWS.
-
Há duas opções para configurar perfis para complementos: perfil do IAM das Identidade de Pods do EKS e perfis do IAM para contas de serviço (IRSA). Siga a etapa apropriada para sua opção preferida abaixo. Se todos os complementos que você selecionou mostrarem Exige assinatura em Status, selecione Próximo. Para os complementos que não mostram Exige assinatura em Status, faça o seguinte:
-
Para Perfil do IAM de Identidade de Pods para a conta de serviço, é possível usar um perfil do IAM de Identidade de Pods do EKS existente ou criar um usando o botão Criar perfil recomendado. Esse campo só fornecerá opções com a política de confiança apropriada. Quando não há nenhum perfil para seleção, é porque você não tem nenhum perfil existente com uma política de confiança correspondente. Para configurar um perfil do IAM de Identidade de Pods do EKS para contas de serviço do complemento selecionado, escolha Criar perfil recomendado. O assistente de criação de perfis se abrirá em uma janela separada. O assistente preencherá automaticamente as informações do perfil da maneira a seguir. Para cada complemento em que você deseja criar o perfil do IAM de Identidade de Pods do EKS, conclua as etapas no assistente do IAM da forma a seguir.
-
Na etapa Selecionar entidade confiável, a opção de serviço da AWS para o EKS e o caso de uso para EKS – Identidade de Pods são pré-selecionados, e a política de confiança apropriada será preenchida automaticamente para o complemento. Por exemplo, o perfil será criado com a política de confiança apropriada contendo a entidade principal do IAM pods.eks.amazonaws.com, conforme detalhado em Benefícios dos EKS Pod Identities. Escolha Próximo.
-
Na etapa Adicionar permissões, a política gerenciada apropriada para a política de perfil é pré-selecionada para o complemento. Por exemplo, para o complemento CNI da Amazon VPC, o perfil será criado com a política gerenciada `AmazonEKS_CNI_policy`, conforme detalhado em Plug-in CNI da Amazon VPC para Kubernetes. Escolha Próximo.
-
Na etapa Nomear, revisar e criar, em Nome do perfil, o nome do perfil padrão é preenchido automaticamente para o complemento. Por exemplo, para o complemento CNI da Amazon VPC, o perfil será criado com a o nome AmazonEKSPodIdentityAmazonVPCCNIRole. Em Descrição, a descrição padrão é preenchida automaticamente com a descrição apropriada para o complemento. Por exemplo, para o complemento CNI do Amazon VPC, o perfil será criado com a descrição Permite que pods em execução no cluster Amazon EKS acessem recursos da AWS. Em Política de confiança, visualize a política de confiança preenchida para o complemento. Selecione Criar perfil.
nota
Manter o nome do perfil padrão permite que o EKS pré-selecione o perfil para complementos em novos clusters ou ao adicionar complementos a clusters existentes. Você ainda pode substituir esse nome, e o perfil estará disponível para o complemento em seus clusters, mas o perfil precisará ser selecionado manualmente no menu suspenso.
-
-
Para complementos que não tenham Requer assinatura em seu Status e para os quais você deseja configurar perfis usando o IRSA, consulte a documentação do complemento que você está criando para criar uma política do IAM e anexá-la a um perfil. Para obter uma lista de complementos, consulte Complementos da AWS. Para selecionar um perfil do IAM, você precisa ter um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um para o seu cluster, consulte Criar um provedor OIDC do IAM para o cluster.
-
-
Expanda Definições de configuração opcionais.
-
Em Valores de configuração, insira informações de configuração específica do complemento. Para obter mais informações, consulte a documentação do complemento que você está atualizando. Para obter uma lista de complementos, consulte Complementos da AWS. .. Para Método de resolução de conflitos, selecione uma das opções. Se você definiu valores personalizados para as configurações do complemento, recomendamos escolher a opção Preserve (Manter). Se você não escolher essa opção, o Amazon EKS sobrescreverá seus valores com os valores padrão. Se você usar essa opção, recomendamos testar qualquer alteração de campo e valor em um cluster que não seja de produção antes de atualizar o complemento no cluster de produção.
-
-
Escolha Salvar alterações.
Atualizar complemento (AWS CLI)
-
Você precisa da versão
2.12.3
ou posterior ou da versão1.27.160
ou posterior da AWS Command Line Interface (AWS CLI) instalada e configurada no seu dispositivo ou no AWS CloudShell. Para verificar sua versão atual, useaws --version | cut -d / -f2 | cut -d ' ' -f1
. Os gerenciadores de pacotes, comoyum
,apt-get
ou Homebrew para macOS, geralmente estão várias versões atrás da versão mais recente da AWS CLI. Para instalar a versão mais recente, consulte Instalar e Configuração rápida com aws configure, no Guia do usuário da AWS Command Line Interface. A versão da AWS CLI instalada no AWS CloudShell também pode estar várias versões atrás da versão mais recente. Para atualizá-lo, consulte Instalar a AWS CLI no seu diretório pessoal, no Guia do usuário do AWS CloudShell. -
Veja uma lista de complementos instalados. Substitua
my-cluster
pelo nome do cluster.aws eks list-addons --cluster-name my-cluster
Veja um exemplo de saída abaixo.
{ "addons": [ "coredns", "kube-proxy", "vpc-cni" ] }
-
Visualize a versão atual do complemento que você deseja atualizar. Substitua
my-cluster
pelo nome do cluster evpc-cni
pelo nome do complemento que você deseja atualizar.aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query "addon.addonVersion" --output text
Veja um exemplo de saída abaixo.
v1.10.4-eksbuild.1
-
Determine quais versões do complemento estão disponíveis para a versão do cluster. Substitua
1.30
pela versão do seu cluster evpc-cni
pelo nome do complemento que você deseja atualizar.aws eks describe-addon-versions --kubernetes-version 1.30 --addon-name vpc-cni \ --query 'addons[].addonVersions[].{Version: addonVersion, Defaultversion: compatibilities[0].defaultVersion}' --output table
Veja um exemplo de saída abaixo.
------------------------------------------ | DescribeAddonVersions | +-----------------+----------------------+ | Defaultversion | Version | +-----------------+----------------------+ | False | v1.12.0-eksbuild.1 | | True | v1.11.4-eksbuild.1 | | False | v1.10.4-eksbuild.1 | | False | v1.9.3-eksbuild.1 | +-----------------+----------------------+
A versão com
True
na colunaDefaultversion
é a versão com a qual o complemento foi criado, por padrão. -
Atualize seu complemento. Copie o conteúdo a seguir no seu dispositivo. Faça as seguintes modificações no comando, conforme necessário, e execute o comando modificado. Para obter mais informações sobre esse comando, consulte update-complemento na Referência de linha de comando do Amazon EKS.
-
Substitua
my-cluster
pelo nome do cluster. -
Substitua
vpc-cni
pelo nome do complemento que você deseja atualizar e que foi retornado na saída de uma etapa anterior. -
Substitua
o número da versão
pela versão retornada na saída da etapa anterior para a qual você deseja atualizar. Alguns complementos têm versões recomendadas. Para obter mais informações, consulte a documentação do complemento que você está atualizando. Para obter uma lista de complementos, consulte Complementos da AWS.* Se o complemento usar uma conta de serviço Kubernetes e um perfil do IAM, substitua111122223333
pelo ID da conta e onome do perfil
pelo nome de um perfil do IAM existente que você tenha criado. Para obter instruções para criar o perfil, consulte a documentação do complemento que você está criando. Para obter uma lista de complementos, consulte Complementos da AWS. A especificação de um perfil da conta de serviço exige que você tenha um provedor OpenID Connect (OIDC) do IAM para o cluster. Para determinar se você já tem um ou se precisa criar um para o seu cluster, consulte Criar um provedor OIDC do IAM para o cluster.Se o complemento não usar uma conta de serviço do Kubernetes e um perfil do IAM, exclua a linha
serviceAccountRoleARN: arn:aws:iam::
.111122223333
:role/role-name
-
A opção
--resolve-conflicts PRESERVE
mantém os valores existentes para o complemento. Se você definiu valores personalizados para as configurações do complemento e não usar essa opção, o Amazon EKS sobrescreverá seus valores pelos valores padrão. Se você usar essa opção, recomendamos testar qualquer alteração de campo e valor em um cluster que não seja de produção antes de atualizar o complemento no cluster de produção. Se você alterar esse valor paraOVERWRITE
, todas as configurações serão alteradas para os valores padrão do Amazon EKS. Se você definiu valores personalizados para qualquer configuração, eles poderão ser sobrescritos pelos valores padrão do Amazon EKS. Se você alterar esse valor paraNONE
, o Amazon EKS não alterará o valor de nenhuma configuração, mas a atualização poderá falhar. Se a atualização falhar, você receberá uma mensagem de erro para ajudar a resolver o conflito. -
Se quiser remover todas as configurações personalizadas, execute a atualização usando a opção
--configuration-values '{}'
. Isso definirá todas as configurações personalizadas aos valores padrão. Se você não quiser alterar sua configuração personalizada, não forneça o sinalizador--configuration-values
. Se você quiser ajustar uma configuração personalizada, substitua{}
pelos novos parâmetros.aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version version-number \ --service-account-role-arn arn:aws:iam::111122223333:role/role-name --configuration-values '{}' --resolve-conflicts PRESERVE
-
-
Verifique o status da atualização. Substitua
my-cluster
pelo nome do seu cluster evpc-cni
pelo nome do complemento que está atualizando.aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni
Veja um exemplo de saída abaixo.
{ "addon": { "addonName": "vpc-cni", "clusterName": "my-cluster", "status": "UPDATING", } }
Quando a atualização estiver concluída, o status será
ACTIVE
.