Como soluciono problemas com grupos de nós gerenciados e modelos de execução do Amazon EKS?
Estou tendo problemas com meus grupos de nós gerenciados e modelos de execução do Amazon Elastic Kubernetes Service (Amazon EKS).
Resolução
Se você usa modelos de execução de grupos de nós gerenciados com uma imagem de máquina da Amazon (AMI) especificada para executar seus nós de processamento, deve configurar os dados de usuário. Se seu cluster for privado e usar endpoints de nuvem privada virtual (VPC) para se conectar, especifique os seguintes atributos nos dados de usuário:
- certificate-authority
- api-server-endpoint
- Endereço IP do cluster DNS
Você também deve fornecer comandos de bootstrap para que os nós de processamento ingressem no seu cluster. Se você usa grupos de nós gerenciados pela Amazon com modelos de execução personalizados, especifique os dados de usuário corretos com base na sua AMI no modelo de execução.
Observação: Se você executa seus nós de processamento usando grupos de nós gerenciados, não precisa configurar dados de usuário para AMIs do Amazon Linux otimizadas para o Amazon EKS.
Configure os dados de usuário para seus nós de processamento
Configure os dados de usuário com base na sua AMI.
AL2
Se você usa a AMI do Amazon Linux 2, especifique as seguintes informações na seção de dados de usuário do seu modelo de execução:
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash set -ex /etc/eks/bootstrap.sh my-cluster \ --b64-cluster-ca certificate-authority \ --apiserver-endpoint api-server-endpoint \ --dns-cluster-ip service-cidr.10 \ --kubelet-extra-args '--max-pods=my-max-pods-value' \ --use-max-pods false --==MYBOUNDARY==-
AL2023
É possível usar nós autogerenciados ou grupos de nós gerenciados com um modelo de execução personalizado. Ao criar um novo grupo de nós, você deve fornecer metadados de cluster apiServerEndpoint, certificateAuthority, e service CIDR. O Amazon Linux usa os valores extras para realizar bootstrap do nó de processamento e ingressar no cluster.
Exemplo de configuração:
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="//" --// Content-Type: application/node.eks.aws --- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: apiServerEndpoint: https://CCEABD8D413231403775F7AA9E56D037.gr7.us-west-2.eks.amazonaws.com certificateAuthority: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJYUxrK2N0M0Zmdll3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TkRBNE1qTXlNREk0TlRaYUZ3MHpOREE0TWpFeU1ETXpOVFphTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUURTRWF1c25hS1A5azJYOEd1QkEzQ1czQkZjQ3owSk1EUjRrVDhxUERhOHA4OFY5bkNDcUkvMnlaa2sKSHdIc0hpRDR2OWtoc2hCN1h5OFZaeW56NG8vYkhEZUc5MTZCZ0xzN05Ld1E2Sjd4b0dKc3JyVGtwdUJ3dWpTMgpkbGtLSG0yNTRUelNiQ2VWUkFGbVJGVmljUUh5aEpTSElBN0tUT1dHeUhvUEZJd3l4NS8xZkpmdEIxM0Y3MlBBCm9DaFZBNHdEOVFEZ1NxR0xOMTVMNEN2REFVdFVXaXBtRTZQdWRBNTBxMzNCSzRpRzc4Q0lFbDNXSHl6L3dzOEcKek5hQ2N5ZnlINjRFSHpsVkRkZmFHMWh0ODhKZ01pKy82Vm1vbmthdlJhQzVHZlhsdk5MKzFtVnJycWhTT3hBRQpJS1N2aW9rZndjODA5bzJWaUtiSmhkUE5yQTRKQWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJSR3JPdzVaSmJ4ZmI2dTF1ek4wNFJtSkFCU1ZUQVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQTFkTnE2aHhXSgp6OU4zM09XamU2cG5LU3pmbGdCaG5PRXRhSUlKa21kUWpUN0FDdlMwMDJyRjFnQUFneTVRR2pjM29mN3hzRzJoCkczemhuUGFTTXFLampsOWRnZGJsZTVEZmIwTjZGVlZXeGE3SFBxZ0NCeXZ1ZXdXOTYwcmxLZ1luMDJBVm16c3kKVW8rRXgwQVA4Q3lVUzQ5Z0RaSFN3MVZGbE1mbFkwb2thSERabG9lR256WDk1REc0Zzk4ZHR1Vkd1Sm1lZ1lpRApKUmN3T2xubUlDUHNsUXcrbGh2S0NFT0RvM0hBWWdwTGxkSFBvYTJCZlBwbk9IMWtMNlFFMURTZU8wQUhmNjBYCk1mTzVTNUwwQVFidk1aM005c2JJdDlhby9YbWk3NnJHMThtMzMrdy9LWkV5cVg1NHZ6UTlZUHBjSGV6bk5oY2oKUy9XajhNZk9KMk9SCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K cidr: 10.100.0.0/16 name: my-first-eks-cluster kubelet: config: maxPods: 29 clusterDNS: - 10.100.0.10 flags: - "--node-labels=eks.amazonaws.com/sourceLaunchTemplateVersion=1,alpha.eksctl.io/cluster-name=my-first-eks-cluster,alpha.eksctl.io/nodegroup-name=ng-1,eks.amazonaws.com/nodegroup-image=ami-032a2a7895e882f27,eks.amazonaws.com/capacityType=ON_DEMAND,eks.amazonaws.com/nodegroup=ng-1,eks.amazonaws.com/sourceLaunchTemplateId=lt-0d8806dd42301728f" --//--
O processo de inicialização de nós nodeadm usa um esquema de configuração em YAML. Para obter mais informações, consulte nodeadm e Merging multiple configuration objects (Mesclagem de vários objetos de configuração) no site do Amazon EKS AMI.
Se você usa várias configurações de nós em seu modelo de execução de grupo de nós gerenciados, consulte Personalizar nós gerenciados com modelos de execução.
Solucione erros em seus clusters do Amazon EKS
Client.InternalError: Client error on launch
O erro Client error on launch ocorre quando você usa volumes criptografados do Amazon Elastic Block Store (Amazon EBS) no modelo de execução personalizado com permissões incorretas. Para verificar o status da criptografia e as permissões ou políticas do AWS Identity and Access Management (AWS IAM), conclua as seguintes etapas:
- Habilite a chave do AWS Key Management Service (AWS KMS) que o AWS KMS usa para criptografar o volume.
- Certifique-se de que a chave do AWS KMS tenha as políticas de chave necessárias.
- Para permitir que mais perfis do IAM funcionem com volumes criptografados do Amazon EBS, modifique as políticas de chave.
SourceEc2LaunchTemplateNotFound ou The Amazon EC2 Launch Template lt-abcdefghijklmn version x was not found
O erro SourceEc2LaunchTemplateNotFound ocorre quando você altera manualmente a versão do modelo de execução personalizado por meio do grupo do Amazon EC2 Auto Scaling do nó. Você deve usar o console do Amazon EKS para atualizar a versão do modelo de execução.
Para atualizar seu modelo de execução do Amazon Elastic Compute Cloud (Amazon EC2) a partir do grupo de nós gerenciados, conclua as seguintes etapas:
- Abra o console do Amazon EKS.
- No painel de navegação, selecione Clusters.
- Em Nome do cluster, escolha o cluster com o grupo de nós que você deseja atualizar.
- Clique na guia Computar.
- Em Grupos de nós, selecione seu nó e, em seguida, clique em Alterar versão.
- Selecione a versão atualizada do grupo de nós. Além disso, certifique-se de que a Estratégia de atualização seja Atualização contínua.
- Selecione Atualizar.
Esse erro também ocorre quando você usa um modelo de execução para criar um grupo de nós e exclui um modelo de referência. O Amazon EKS replica o modelo que você usa para criar o grupo de nós. Se você excluir o modelo original, deverá recriar o grupo de nós.
Para recriar o grupo de nós, conclua as seguintes etapas:
-
Execute o comando a seguir para verificar se todos os nós estão íntegros, no estado Pronto, e se ingressaram no cluster:
kubectl get nodes
O grupo nós entra em um status DEGRADADO depois de criar um novo modelo de execução
Se um grupo de nós entrar em um status DEGRADADO, você receberá uma mensagem semelhante ao exemplo a seguir:
"The Amazon EC2 Launch Template : lt-abcdefghijklmn has a new version associated with your Autoscaling group, which is not managed by Amazon EKS. Expected Launch Template version: x".
Esse erro ocorre quando a versão do modelo de execução do Amazon EC2 para seu grupo de nós gerenciados não corresponde à versão criada pelo Amazon EKS.
Não é possível atualizar diretamente grupos de nós existentes que não utilizam um modelo de execução personalizado. Para resolver esse problema, crie um modelo e uma versão de execução com suas configurações personalizadas. Em seguida, use o modelo de execução para criar o grupo de nós. Se você executou o novo grupo de nós a partir do seu modelo personalizado, crie uma nova versão do modelo.
A instância falhou ao ingressar no cluster do Amazon EKS
Para resolver esse problema, consulte Como posso fazer os meus nós de processamento ingressarem no meu cluster do Amazon EKS?
- Tópicos
- Containers
- Idioma
- Português

Conteúdo relevante
- Resposta aceita
feita há 10 meses
feita há um ano