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.
-
Um cluster existente do Amazon EKS. Para implantar, consulte Começar a usar o Amazon EKS.
-
Um provedor existente do AWS Identity and Access Management (IAM) OpenID Connect (OIDC) para o cluster. Para determinar se você tem ou para criar uma, consulte Criar um provedor OIDC do IAM para o cluster.
-
Um perfil do IAM com a política do IAM AmazonEKS_CNI_Policy (se o cluster usar a família
IPv4
) ou uma política IPv6 (se o seu cluster usar a famíliaIPv6
) anexada a ela. Para obter mais informações sobre o perfil VPC CNI, consulte Configurar o plug-in CNI da Amazon VPC para usar IRSA. Para obter informações sobre a política de IPv6, consulte Criar uma política do IAM para clusters que usam a família IPv6. -
Se você estiver usando a versão
1.7.0
ou posterior do Amazon VPC CNI plugin for Kubernetes e usar políticas de segurança personalizadas do Pod, consulte Excluir política de segurança de Pod padrão do Amazon EKS e Entenda as políticas de segurança de pod (PSP) criadas pelo 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
Procedimento
Depois de concluir os pré-requisitos, use as etapas a seguir para criar o complemento.
-
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
-
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.
-
Salve a configuração do complemento instalado atualmente.
kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
-
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 especifiquevpc-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 eAmazonEKSVPCCNIRole
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.
-
-
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
-
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).
-
(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-helperno GitHub.