Criação do CNI do Amazon VPC (complemento do Amazon EKS) - Amazon EKS

Criação do CNI do Amazon VPC (complemento do Amazon EKS)

Use as etapas a seguir para criar o complemento Amazon VPC CNI plugin for Kubernetes do Amazon EKS.

Antes de começar, reveja as considerações. Para ter mais informações, consulte Considerações.

Pré-requisitos

A seguir estão os pré-requisitos para o complemento de Amazon VPC CNI plugin for Kubernetes do Amazon EKS.

Importante

As versões do v1.16.0 do Amazon VPC CNI plugin for Kubernetes para v1.16.1 removeram a compatibilidade com as versões 1.23 e anteriores do Kubernetes. A versão VPC CNI v1.16.2 restaura a compatibilidade com as versões 1.23 e anteriores do Kubernetes com a especificação CNI v0.4.0.

As versões v1.16.0 do Amazon VPC CNI plugin for Kubernetes do para v1.16.1 implementam a versão v1.0.0 da especificação CNI. A especificação CNI v1.0.0 tem suporte de clusters do EKS que executam as versões v1.24 ou posteriores do Kubernetes. A versão v1.16.0 a v1.16.1 da VPC CNI e a especificação CNI v1.0.0 não são compatíveis com a versão Kubernetes ou posterior do v1.23. Para obter mais informações sobre a v1.0.0 da especificação da CNI, consulte Container Network Interface (CNI) Specification em GitHub.

Procedimento

Depois de concluir os pré-requisitos, use as etapas a seguir para criar o complemento.

  1. Veja qual versão do complemento está atualmente instalada no cluster.

    kubectl describe daemonset aws-node --namespace kube-system | grep amazon-k8s-cni: | cut -d : -f 3

    Veja um exemplo de saída abaixo.

    v1.16.4-eksbuild.2
  2. Veja qual tipo de complemento está atualmente instalado no cluster. Dependendo da ferramenta com a qual você criou o cluster, talvez você não tenha o tipo de complemento do Amazon EKS instalado em seu cluster atualmente. Substitua my-cluster pelo nome do cluster.

    aws eks describe-addon --cluster-name my-cluster --addon-name vpc-cni --query addon.addonVersion --output text

    Se um número de versão for retornado, você tem o tipo de complemento do Amazon EKS instalado no cluster, e não precisa completar as etapas restantes deste procedimento. Se um erro for retornado, você não tem o tipo de complemento do Amazon EKS instalado no cluster. Conclua as etapas restantes desse procedimento para instalá-lo.

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

    kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
  4. Crie o complemento usando a AWS CLI. Se você quiser usar o AWS Management Console ou eksctl para criar o complemento, consulte Criar um complemento do Amazon EKS e especifique vpc-cni como o nome do 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.

    • Substitua my-cluster pelo nome do cluster.

    • Substitua v1.19.0-eksbuild.1 pela versão mais recente listada na tabela das versões mais recentes da versão do seu cluster. Para obter a tabela de versões mais recente, consulte Versões do Amazon VPC CNI.

    • 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.

      aws eks create-addon --cluster-name my-cluster --addon-name vpc-cni --addon-version v1.19.0-eksbuild.1 \ --service-account-role-arn arn:aws:iam::111122223333:role/AmazonEKSVPCCNIRole

      Se você aplicou configurações personalizadas ao seu complemento atual que entrem em conflito com as configurações padrão do complemento Amazon EKS, a criação poderá falhar. Se a criação falhar, você receberá um erro que poderá ajudar a resolver o problema. Como alternativa, você pode adicionar --resolve-conflicts OVERWRITE ao comando anterior. Isso permite que o complemento substitua todas as configurações personalizadas existentes. Depois de criar o complemento, você pode atualizá-lo com suas configurações personalizadas.

  5. Confirme se a versão mais recente do complemento para a versão Kubernetes do seu cluster foi adicionada ao 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

    Pode levar alguns segundos para que a criação do complemento seja concluída.

    Veja um exemplo de saída abaixo.

    v1.19.0-eksbuild.1
  6. Se você tiver feito configurações personalizadas no complemento original antes de criar o complemento do Amazon EKS, use a configuração salva em uma etapa anterior para atualizar o complemento do EKS com suas configurações personalizadas. Siga as etapas em Atualizar o Amazon VPC CNI (complemento do Amazon EKS).

  7. (Opcional) Instale cni-metrics-helper em seu cluster. Ele extrai a interface de rede elástica e as informações de endereço IP, agrega-as em um nível de cluster e publica as métricas no Amazon CloudWatch. Para obter mais informações, consulte cni-metrics-helper no GitHub.