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.
Atualizar o complemento autogerenciado kube-proxy do Kubernetes
Importante
Recomendamos adicionar o tipo Amazon EKS do complemento ao seu cluster em vez de usar o tipo autogerenciado do complemento. Se você não estiver familiarizado com a diferença entre os tipos, consulte Complementos do Amazon EKS. Para obter mais informações sobre como adicionar um complemento do Amazon EKS ao cluster, consulte Criar um complemento do Amazon EKS. Se você não conseguir usar o complemento do Amazon EKS, recomendamos que você envie um problema sobre o motivo pelo qual não pode usar o repositório GitHub para roteiro de contêineres
Pré-requisitos
-
Um cluster existente do Amazon EKS. Para implantar, consulte Começar a usar o Amazon EKS.
Considerações
-
Kube-proxyem um cluster do Amazon EKS tem a mesma política de compatibilidade e inclinação do Kubernetes. Saiba como Verificar a compatibilidade da versão do complemento do Amazon EKS com um cluster. -
Confirme que tem o tipo autogerenciado de complemento instalado em seu cluster. Substitua
my-clusterpelo nome do cluster.aws eks describe-addon --cluster-name my-cluster --addon-name kube-proxy --query addon.addonVersion --output textSe receber uma mensagem de erro, você tem o tipo autogerenciado do complemento instalado no cluster. As etapas restantes desse tópico servem para atualizar o tipo autogerenciado do complemento. Se receber um número de versão, você tem o tipo de complemento do Amazon EKS instalado no cluster. Para atualizá-lo, use o procedimento em Atualização de um complemento do Amazon EKS, em vez de usar o procedimento deste tópico. Se não estiver familiarizado com a diferença entre os tipos de complemento, consulte Complementos do Amazon EKS.
-
Veja qual versão da imagem do contêiner está atualmente instalada em seu cluster.
kubectl describe daemonset kube-proxy -n kube-system | grep ImageVeja um exemplo de saída abaixo.
Image: 602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.29.1-eksbuild.2No resultado de exemplo,
v1.29.1-eksbuild.2é a versão instalada no cluster. -
Atualize o complemento
kube-proxysubstituindo602401143452eregion-codepelos valores da sua saída retornada na etapa anterior. Substituav1.30.6-eksbuild.3pela versão dokube-proxylistada na tabela Versão de imagem mais recente do contêiner autogerenciado para cada versão de cluster do Amazon EKS.Importante
Os manifestos para cada tipo de imagem são diferentes e não compatíveis entre os tipos de imagem padrão ou mínimo. Você deve usar o mesmo tipo de imagem da imagem anterior, para que o ponto de entrada e os argumentos correspondam.
kubectl set image daemonset.apps/kube-proxy -n kube-system kube-proxy=602401143452.dkr.ecr.region-code.amazonaws.com/eks/kube-proxy:v1.30.6-eksbuild.3Veja um exemplo de saída abaixo.
daemonset.apps/kube-proxy image updated -
Confirme se agora a nova versão está instalada em seu cluster.
kubectl describe daemonset kube-proxy -n kube-system | grep Image | cut -d ":" -f 3Veja um exemplo de saída abaixo.
v1.30.0-eksbuild.3 -
Se você estiver usando os nós
x86eArmno mesmo cluster e o cluster tiver sido implantado antes de 17 de agosto de 2020. Em seguida, edite seu manifestokube-proxypara incluir um seletor de nó para várias arquiteturas de hardware com o seguinte comando. É uma operação única. Depois que você adicionar o seletor ao manifesto, não precisará fazer isso toda vez que atualizar o complemento. Se o cluster foi implantado em ou após 17 de agosto de 2020,kube-proxyjá é capaz de multiarquitetura.kubectl edit -n kube-system daemonset/kube-proxyAdicione o seletor de nós a seguir ao arquivo no editor e, em seguida, salve o arquivo. Para obter um exemplo de onde incluir este texto no editor, consulte o arquivo CNI manifest
(Manifesto do CNI) no GitHub Isso permite que o Kubernetes extraia a imagem de hardware correta com base na arquitetura de hardware do nó. - key: "kubernetes.io/arch" operator: In values: - amd64 - arm64 -
Se o cluster foi originalmente criado com a versão
1.14ou mais recente do Kubernetes, você pode ignorar esta etapa porque okube-proxyjá inclui essaAffinity Rule. Se você criou originalmente um cluster do Amazon EKS com a versão1.13ou anterior do Kubernetes e quiser usar nós do Fargate no cluster, edite o manifesto dokube-proxypara incluir uma regra deNodeAffinitypara impedir que os pods dokube-proxyfaçam agendamentos em nós do Fargate. Esta é uma edição ocasional. Depois que você adicionar oAffinity Ruleao manifesto, não precisará fazer isso toda vez que atualizar o complemento. Edite o DaemonSet dokube-proxy.kubectl edit -n kube-system daemonset/kube-proxyAdicione a
Affinity Rulea seguir à seçãospecdo DaemonSet do arquivo no editor e, em seguida, salve o arquivo. Para obter um exemplo de onde incluir este texto no editor, consulte o arquivo CNI manifest(Manifesto do CNI) no GitHub - key: eks.amazonaws.com/compute-type operator: NotIn values: - fargate
-