Atualizar o Amazon VPC CNI (complemento do Amazon EKS)
Atualize o tipo do Amazon EKS do complemento Amazon VPC CNI plugin for Kubernetes. Se você não tiver adicionado o tipo de complemento do Amazon EKS ao seu cluster, poderá instalá-lo seguindo Criação do CNI do Amazon VPC (complemento do Amazon EKS). Ou atualize o outro tipo de instalação do VPC CNI seguindo Atualização do Amazon VPC CNI (complemento autogerenciado).
-
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 do Amazon VPC CNI. Se a versão retornada for a mesma da versão 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. Para criar o tipo Amazon EKS do complemento VPC CNI, você pode seguir Criação do CNI do Amazon VPC (complemento do Amazon EKS).
-
Salve a configuração do complemento instalado atualmente.
kubectl get daemonset aws-node -n kube-system -o yaml > aws-k8s-cni-old.yaml
-
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.0-eksbuild.1
pela versão mais recente listada na tabela das versões mais recentes da versão do seu cluster. -
Substitua
111122223333
pelo ID da sua conta eAmazonEKSVPCCNIRole
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 Amazon VPC CNI plugin for Kubernetes. 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
--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 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 você não estiver atualizando uma configuração, remova
--configuration-values '{
do comando. Se você estiver atualizando uma configuração, substitua"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}
}'"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}
pela configuração que você quiser definir. Neste exemplo, a variável de ambienteAWS_VPC_K8S_CNI_EXTERNALSNAT
é definida comotrue
. O valor que você especificar deve ser válido para o esquema da configuração. Se você não conhece o esquema de configuração, executeaws eks describe-addon-configuration --addon-name vpc-cni --addon-version
v1.19.0-eksbuild.1
, replacingv1.19.0-eksbuild.1
with the version number of the add-on that you want to see the configuration for. The schema is returned in the output. If you have any existing custom configuration, want to remove it all, and set the values for all settings back to Amazon EKS defaults, remove"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}
from the command, so that you have empty{}
. For an explanation of each setting, see CNI Configuration Variableson GitHub. aws eks update-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 \ --resolve-conflicts PRESERVE --configuration-values '{"env":{"AWS_VPC_K8S_CNI_EXTERNALSNAT":"true"}}'
Pode levar alguns segundos para que a atualização seja concluída.
-
-
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.0-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\"}}" } }