Como resolvo erros de criação de cluster no Amazon EKS?

5 minuto de leitura
0

Recebo erros de serviço quando provisiono um cluster do Amazon Elastic Kubernetes Service (Amazon EKS) usando o AWS CloudFormation ou o eksctl.

Breve descrição

Considere as seguintes opções de solução de problemas:

  • Você recebe uma mensagem de erro informando que sua zona de disponibilidade de destino não tem capacidade suficiente para suportar o cluster. Realize as etapas da seção Recriar o cluster em uma zona de disponibilidade diferente.
  • Você recebe uma mensagem de erro informando que a criação do recurso falhou. Realize as etapas da seção Confirmar se você tem as permissões corretas do IAM para criar um cluster ou da seção Monitorar seus recursos da Amazon VPC.
  • Você recebe uma mensagem de erro informando que a criação atingiu o tempo limite ao aguardar pelos nós de processamento. Realize as etapas da seção Confirmar se seus nós de processamento podem alcançar o endpoint da API do ambiente de gerenciamento.

Resolução

Recriar o cluster em uma zona de disponibilidade diferente

Se você iniciar instâncias do ambiente de gerenciamento em uma zona de disponibilidade que possui capacidade limitada, poderá receber um erro semelhante ao seguinte:

Cannot create cluster 'sample-cluster' because us-east-1d, the targeted availability zone, does not currently have sufficient capacity to support the cluster. Retry and choose from these availability zones: us-east-1a, us-east-1b, us-east-1c

Para resolver o erro anterior, crie o cluster novamente usando as zonas de disponibilidade recomendadas na mensagem de erro.

Se você estiver provisionando o cluster usando o CloudFormation, adicione, no parâmetro Sub-redes, valores de sub-rede que correspondam às zonas de disponibilidade.

-ou-

Se estiver usando o eksctl, use a sinalização --zones para adicionar os valores das diferentes zonas de disponibilidade. Por exemplo:

$ eksctl create cluster 'sample-cluster' --zones us-east-1a,us-east-1b,us-east-1c

Observação: substitua sample-cluster pelo nome do seu cluster. Substitua us-east-1a, us-east-1b e us-east-1c pelas suas zonas de disponibilidade.

Confirmar se você tem as permissões corretas do IAM para criar um cluster

Ao criar um cluster, verifique se você tem as permissões corretas do AWS Identity and Access Management (IAM). Isso inclui políticas corretas para o perfil do IAM para o serviço do Amazon EKS.

Você pode usar o eksctl para criar os recursos de pré-requisito do seu cluster, como os perfis do IAM e os grupos de segurança. As permissões mínimas necessárias dependem da configuração do eksctl que está sendo iniciada. Para obter mais informações, consulte as soluções de problemas da comunidade de eksctl do GitHub.

Se seu cluster tiver problemas com as permissões do IAM, você poderá receber um erro no eksctl semelhante ao seguinte:

API: iam:CreateRole User: arn:aws:iam::your-account-id:user/your-user-name is not authorized to perform: iam:CreateRole on resource: arn:aws:iam::your-account-id:role/eksctl-newtest22-cluster-ServiceRole-10NXBYLSN4ULP

Para resolver o erro anterior, analise as políticas mínimas do IAM para executar casos de uso do eksctl no site do eksctl. Além disso, consulte Identity and Access Management para o Amazon EKS e Como solucionar erros de acesso negado ou operação não autorizada em uma política do IAM?

Monitorar seus recursos da Amazon VPC

Quando você cria um cluster, o eksctl cria uma nova Amazon Virtual Private Cloud (Amazon VPC) por padrão. Se você não quiser que o eksctl crie uma nova Amazon VPC, é preciso especificar sua Amazon VPC personalizada e sub-redes no arquivo de configuração.

Se seu cluster tiver problemas com os limites da Amazon VPC, você poderá receber a seguinte mensagem de erro:

The maximum number of VPCs has been reached. (Service: AmazonEC2; Status Code: 400; Error Code: VpcLimitExceeded; Request ID: a12b34cd-567e-890-123f-ghi4j56k7lmn)

Para resolver o erro anterior, monitore seus recursos. Por exemplo, verifique o número de Amazon VPCs em sua região da AWS ou os gateways da Internet por região onde você cria o cluster. Para obter mais informações, consulte Cotas da Amazon VPC.

Para problemas relacionados a restrições de recursos sobre o número de recursos da Amazon VPC em sua região, considere uma das seguintes opções:

(Opção 1) Usar uma Amazon VPC existente para superar as restrições de recursos

Crie um arquivo de configuração que especifique a Amazon VPC e as sub-redes onde você deseja provisionar os nós de processamento do seu cluster:

$ eksctl create cluster sample-cluster -f cluster.yaml

-ou-

(Opção 2) Solicitar um aumento da cota de serviço para superar as restrições de recursos

Solicite um aumento da cota de serviço para os recursos nos eventos de pilha do CloudFormation do cluster provisionado pelo eksctl.

Confirmar se seus nós de processamento podem alcançar o endpoint da API do ambiente de gerenciamento

Quando o eksctl implanta seu cluster, ele aguarda até que os nós de processamento iniciados se juntem ao cluster e alcancem o status Pronto. Se seus nós de processamento não atingirem o ambiente de gerenciamento ou tiverem um perfil do IAM inválido, você poderá receber o seguinte erro:

timed out (after 25m0s) waiting for at least 4 nodes to join the cluster and become ready in "eksfbots-ng1"

Para resolver o erro anterior, faça com que seus nós de processamento se juntem ao cluster e confirme se seus nós de processamento estão no status Pronto.


AWS OFICIAL
AWS OFICIALAtualizada há 2 anos