Atualizar o complemento Amazon VPC CNI plugin for Kubernetes do Amazon EKS - Amazon EKS

Ajudar a melhorar esta página

Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.

Atualizar o complemento Amazon VPC CNI plugin for Kubernetes do Amazon EKS

Atualize o tipo do Amazon EKS do complemento. Se você não adicionou o tipo Amazon EKS do complemento ao cluster, adicione-o ou consulte Atualizar o complemento autogerenciado do Amazon EKS.

  1. Veja qual versão do complemento está atualmente instalada no cluster. Substitua my-cluster pelo nome do cluster.

    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.16.4-eksbuild.2

    Se a versão retornada for a mesma da versão do Kubernetes do cluster na tabela de versões mais recente, você já tem a versão mais recente instalada no cluster e não precisa concluir o restante desse procedimento. Se você receber um erro, em vez de um número de versão no resultado, você não tem o tipo Amazon EKS do complemento instalado no cluster. Você precisa criar o complemento antes de poder atualizá-lo com este procedimento.

  2. Salve a configuração do complemento instalado atualmente.

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  3. Atualize o complemento usando a AWS CLI. Se você quiser usar o AWS Management Console ou eksctl para atualizar o complemento, consulte Atualizar um complemento do Amazon EKS. 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.

    • Substitua o my-cluster pelo nome do cluster.

    • Substitua v1.18.3-eksbuild.2 pela versão mais recente listada na tabela de versões mais recentes da versão do cluster.

    • Substitua 111122223333 pelo ID da sua conta e AmazonEKSVPCCNIRole pelo nome do perfil do IAM existente que você criou. A especificação de um perfil 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.

    • A opção PRESERVE de --resolve-conflicts mantém os valores de configuração 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 para OVERWRITE, 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 para none, 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 você não estiver atualizando uma configuração, remova --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}' do comando. Se você estiver atualizando uma configuração, substitua "env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"} pela configuração que você quiser definir. Neste exemplo, a variável de ambiente AWS_VPC_K8S_CNI_EXTERNALSNAT é definida como true. O valor que você especificar deve ser válido para o esquema da configuração. Se não souber qual é o esquema de configuração, execute aws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.18.3-eksbuild.2, substituindo v1.18.3-eksbuild.2 pelo número da versão do complemento cuja configuração você deseja consultar. O esquema é retornado na saída. Se você tiver alguma configuração personalizada existente, quiser remover tudo e definir os valores de todas as configurações de volta aos padrões do Amazon EKS, remova “env”: {"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"} do comando, para que {} fique vazio. Para obter uma explicação de cada configuração, consulte Variáveis de configuração CNI no GitHub.

      aws eks update-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.18.3-eksbuild.2 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole \ --resolve-conflicts PRESERVE --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}'

      Pode levar alguns segundos para que a atualização seja concluída.

  4. Confirme se a versão do complemento foi atualizada. Substitua o my-cluster pelo nome do cluster.

    aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni

    Pode levar alguns segundos para que a atualização seja concluída.

    Veja um exemplo de saída abaixo.

    { "addon": { "addonName": "vpc-cni", "clusterName": "my-cluster", "status": "ACTIVE", "addonVersion": "v1.18.3-eksbuild.2", "health": { "issues": [] }, "addonArn": "arn:aws:eks:region:111122223333:addon/my-cluster/vpc-cni/74c33d2f-b4dc-8718-56e7-9fdfa65d14a9", "createdAt": "2023-04-12T18:25:19.319000+00:00", "modifiedAt": "2023-04-12T18:40:28.683000+00:00", "serviceAccountRoleArn": "arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole", "tags": {}, "configurationValues": "{\"env\":{\"AWS_VPC_K8S_CNI_EXTERNALSNAT\":\"true\"}}" } }