Atualização do plug-in da CNI da Amazon VPC (complemento do Amazon EKS) - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Atualização do plug-in da CNI da Amazon VPC (complemento do Amazon EKS)

Atualize o tipo do Amazon EKS do complemento do plug-in CNI da Amazon VPC para Kubernetes. Se você não tiver adicionado o tipo de complemento do Amazon EKS ao seu cluster, poderá instalá-lo seguindo Criação do plug-in da CNI da Amazon VPC (complemento do Amazon EKS). Ou atualize o outro tipo de instalação do VPC CNI seguindo Atualização do plug-in da CNI da Amazon VPC (complemento autogerenciado).

  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

    Compare a versão com a tabela de versões mais recentes em Versões da CNI da Amazon VPC. Se a versão retornada for a mesma da versão do cluster do Kubernetes na tabela de versões mais recentes, então você já tem a versão mais recente instalada no cluster e não precisa concluir o restante deste 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. Para criar o tipo Amazon EKS do complemento VPC CNI, você pode seguir Criação do plug-in da CNI da Amazon VPC (complemento do Amazon EKS).

  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 seu 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 my-cluster pelo nome do cluster.

    • Substitua v1.19.2-eksbuild.1 pela versão mais recente listada na tabela das 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. Para criar um perfil do IAM para a VPC CNI, consulte Etapa 1: criar o perfil do IAM do plug-in CNI da Amazon VPC para Kubernetes. A especificação de um perfil requer 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 de identidade OIDC do IAM para o cluster.

    • A opção --resolve-conflicts PRESERVE preserva 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. Caso não saiba o esquema de configuração, execute aws eks describe-addon-configuration --addon-name vpc-cni --addon-version v1.19.2-eksbuild.1 , substituindo v1.19.2-eksbuild.1 pelo número da versão do complemento cuja configuração você deseja visualizar. 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.19.2-eksbuild.1 \ --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 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.19.2-eksbuild.1", "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\"}}" } }