Ajudar a melhorar esta página
Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.
Solucionar problemas de clusters locais do Amazon EKS no AWS Outposts
Este tópico aborda alguns erros comuns que você pode encontrar ao usar clusters locais e como solucionar esses problemas. Os clusters locais são semelhantes aos clusters do Amazon EKS na nuvem, mas existem algumas diferenças na forma como eles são gerenciados pelo Amazon EKS.
Os clusters locais são criados por meio da API do Amazon EKS, mas são executados de maneira assíncrona. Isso significa que as solicitações à API do Amazon EKS retornam imediatamente para os clusters locais. Porém, essas solicitações podem ser bem-sucedidas, antecipar-se à falha devido a erros de validação de entrada ou falhar e ter erros de validação descritivos. Esse comportamento é semelhante ao da API do Kubernetes.
Os clusters locais não fazem a transição para um status FAILED
. O Amazon EKS tenta continuamente reconciliar o estado do cluster com o estado desejado solicitado pelo usuário. Como resultado, um cluster local pode permanecer no estado CREATING
por um período prolongado até que o problema subjacente seja resolvido.
Problemas de cluster local podem ser descobertos usando o comando describe-cluster
da AWS CLI do Amazon EKS. Problemas de cluster local são revelados pelo campo cluster.health
da resposta do comando describe-cluster
. A mensagem contida nesse campo inclui um código de erro, uma mensagem descritiva e IDs de recursos relacionados. Essas informações só estão disponíveis por meio da API do Amazon EKS e da AWS CLI. No exemplo a seguir, substitua my-cluster
pelo nome do cluster local.
aws eks describe-cluster --name
my-cluster
--query 'cluster.health'
Veja um exemplo de saída abaixo.
{
"issues": [
{
"code": "ConfigurationConflict",
"message": "The instance type 'm5.large' is not supported in Outpost 'my-outpost-arn
'.",
"resourceIds": [
"my-cluster-arn
"
]
}
]
}
Se o problema não puder ser reparado, talvez seja necessário excluir o cluster local e criar um novo. Por exemplo, tentar provisionar um cluster com um tipo de instância que não está disponível no Outpost. A tabela a seguir inclui erros comuns relacionados à integridade.
Cenário de erro | Código | Message | ResourceIds |
---|---|---|---|
Não foi possível encontrar as sub-redes fornecidas. |
|
|
Todos os IDs de sub-rede fornecidos |
As sub-redes fornecidas não pertencem à mesma VPC. |
|
|
Todos os IDs de sub-rede fornecidos |
Algumas sub-redes fornecidas não pertencem ao Outpost especificado. |
|
|
ID de sub-rede problemática |
Algumas sub-redes fornecidas não pertencem a nenhum Outpost. |
|
|
ID de sub-rede problemática |
Algumas sub-redes fornecidas não têm endereços livres suficientes para a criação de interfaces de rede elásticas para as instâncias do ambiente de gerenciamento. |
|
|
ID de sub-rede problemática |
O tipo de instância do ambiente de gerenciamento especificado não é compatível com o Outpost. |
|
|
ARN do cluster |
Você encerrou uma instância do Amazon EC2 do ambiente de gerenciamento ou run-instance teve êxito, mas o estado sofreu alterações para Terminated . Isso pode acontecer por um período após a reconexão do Outpost e os erros internos do Amazon EBS causarem uma falha no fluxo de trabalho interno do Amazon EC2. |
|
|
ARN do cluster |
Você não tem capacidade suficiente no Outpost. Isso também pode acontecer durante a criação do cluster se um Outpost estiver desconectado da Região da AWS. |
|
|
ARN do cluster |
A conta excedeu a cota de grupo de segurança. |
|
Mensagem de erro retornada pela API do Amazon EC2 | ID da VPC de destino |
A conta excedeu a cota de interface de rede elástica. |
|
Mensagem de erro retornada pela API do Amazon EC2 | ID da sub-rede de destino |
As instâncias do ambiente de gerenciamento não podem ser acessadas por meio do AWS Systems Manager. Para saber a resolução, consulte Instâncias do ambiente de gerenciamento não podem ser acessadas por meio do AWS Systems Manager. |
|
As instâncias do ambiente de gerenciamento do Amazon EKS não podem ser acessadas por meio do SSM. Verifique a configuração do SSM e da rede e consulte a documentação de solução de problemas do EKS no Outposts. |
IDs de instâncias do Amazon EC2 |
Ocorreu um erro ao obter detalhes de um grupo de segurança gerenciado ou de uma interface de rede elástica. |
Com base no código de erro do cliente Amazon EC2. |
Mensagem de erro retornada pela API do Amazon EC2 | Todos os IDs de grupos de segurança gerenciados |
Ocorreu um erro ao autorizar ou revogar as regras de ingresso de grupo de segurança. Isso se aplica aos grupos de segurança do cluster e do ambiente de gerenciamento. | Com base no código de erro do cliente Amazon EC2. | Mensagem de erro retornada pela API do Amazon EC2 | ID de grupo de segurança problemático |
Ocorreu um erro ao excluir uma interface de rede elástica de uma instância do ambiente de gerenciamento. | Com base no código de erro do cliente Amazon EC2. | Mensagem de erro retornada pela API do Amazon EC2 | ID de interface de rede elástica problemática |
A tabela a seguir lista os erros de outros Serviços da AWS que são apresentados no campo de integridade da resposta de describe-cluster
.
Código de erro do Amazon EC2 | Código de problema de integridade do cluster | Descrição |
---|---|---|
|
|
Esse erro pode ocorrer por vários motivos. O motivo mais comum é que você acidentalmente removeu do serviço do ambiente de gerenciamento uma tag que o serviço usa para reduzir o escopo da política de perfil vinculada. Se isso ocorrer, o Amazon EKS não poderá mais gerenciar e monitorar esses recursos da AWS. |
|
|
Esse erro pode ocorrer por vários motivos. O motivo mais comum é que você acidentalmente removeu do serviço do ambiente de gerenciamento uma tag que o serviço usa para reduzir o escopo da política de perfil vinculada. Se isso ocorrer, o Amazon EKS não poderá mais gerenciar e monitorar esses recursos da AWS. |
|
|
Esse erro ocorre quando o ID da sub-rede para as regras de ingresso de um grupo de segurança não pode ser encontrado. |
|
|
Esse erro ocorre quando as permissões para as regras de ingresso de um grupo de segurança não estão corretas. |
|
|
Esse erro ocorre quando o grupo das regras de ingresso de um grupo de segurança não pode ser encontrado. |
|
|
Esse erro ocorre quando o ID da interface de rede para as regras de ingresso de um grupo de segurança não pode ser encontrado. |
|
|
Esse erro ocorre quando a cota de recursos da sub-rede é excedida. |
|
|
Esse erro ocorre quando a cota de capacidade do outpost é excedida. |
|
|
Esse erro ocorre quando a cota de interface de rede elástica é excedida. |
|
|
Esse erro ocorre quando a cota de capacidade do grupo de segurança é excedida. |
|
|
Isso é observado na criação de uma instância do Amazon EC2 em uma nova conta. O procedimento pode ser semelhante ao seguinte: "You
have requested more vCPU capacity than your current vCPU limit
of 32 allows for the instance bucket that the specified instance
type belongs to. Please visit
http://aws.amazon.com/contact-us/ec2-request to request an
adjustment to this limit." |
|
|
O Amazon EC2 retornará esse código de erro se não houver suporte no Outpost para o tipo de instância especificado. |
Todas as outras falhas |
|
Nenhum |
Os clusters locais exigem permissões e políticas diferentes das exigidas pelos clusters do Amazon EKS hospedados na nuvem. Quando a criação do cluster falhar e gera um erro InvalidPermissions
, verifique novamente se o perfil do cluster que você está usando tem a política gerenciada AmazonEKSLocalOutpostClusterPolicy anexada a ele. Todas as outras chamadas de API exigem o mesmo conjunto de permissões que os clusters do Amazon EKS na nuvem.
O tempo necessário para criar um cluster local varia dependendo de vários fatores. Esses fatores incluem a configuração da rede, a configuração do Outpost e a configuração do cluster. Em geral, um cluster local é criado e passa para o status ACTIVE
dentro de 15 a 20 minutos. Se um cluster local permanecer no estado CREATING
, você poderá chamar describe-cluster
para obter informações sobre a causa no campo de saída cluster.health
.
Os problemas mais comuns são os seguintes:
O AWS Systems Manager (Systems Manager) encontra os seguintes problemas:
-
O cluster não pode se conectar à instância do ambiente de gerenciamento na Região da AWS em que o Systems Manager está. Você pode verificar isso chamando
aws ssm start-session --target
em um bastion host na região. Se esse comando não funcionar, verifique se o Systems Manager está sendo executado na instância do ambiente de gerenciamento. Outra solução de contorno é excluir o cluster e depois recriá-lo.instance-id
-
As instâncias do ambiente de gerenciamento do Systems Manager podem não ter acesso à Internet. Verifique se a sub-rede que você forneceu ao criar o cluster tem um gateway NAT e uma VPC com um gateway da internet. Use o analisador de acessibilidade da VPC para verificar se a instância do ambiente de gerenciamento pode acessar o gateway da Internet. Para obter mais informações, consulte Getting started with VPC Reachability Analyzer (Conceitos básicos do VPC Reachability Analyzer).
-
O ARN de perfil fornecido não tem políticas. Verifique se a Política gerenciada pela AWS: AmazonEKSLocalOutpostClusterPolicy foi removida do perfil. Isso também pode ocorrer se uma pilha AWS CloudFormation estiver configurada incorretamente.
Várias sub-redes são mal configuradas e especificadas quando um cluster é criado:
-
Todas as sub-redes fornecidas devem estar associadas ao mesmo Outpost e devem alcançar umas às outras. Quando várias sub-redes são especificadas durante a criação do cluster, o Amazon EKS tenta distribuir as instâncias do ambiente de gerenciamento entre várias sub-redes.
-
Os grupos de segurança gerenciados pelo Amazon EKS são aplicados à interface de rede elástica. No entanto, outros elementos da configuração, como regras de firewall NACL, podem entrar em conflito com as regras da interface de rede elástica.
A VPC e o DNS da sub-rede estão mal configurados ou falta a configuração
Consulte Criar uma VPC e sub-redes para clusters do Amazon EKS no AWS Outposts.
Causas comuns:
-
Problemas de AMI:
-
Você está usando uma AMI incompatível. Você deve estar usando a v20220620
ou posterior do Amazon Linux otimizado pelo Amazon EKS da Criar nós com AMIs do Amazon Linux otimizadas. -
Se você usou um modelo do AWS CloudFormation para criar os nós, verifique se ele não estava usando uma AMI incompatível.
-
-
O
ConfigMap
do autenticador do AWS IAM está ausente: nesse caso, é necessário criá-lo. Para obter mais informações, consulteComo aplicar o ConfigMapaws-auth ao seu cluster -
O grupo de segurança errado é usado: certifique-se de usar
eks-cluster-sg-
para o grupo de segurança dos nós de processamento. O grupo de segurança selecionado é alterado pelo AWS CloudFormation para permitir um novo grupo de segurança sempre que a pilha for usada.cluster-name
-uniqueid
-
Seguir etapas inesperadas de uma VPC de link privado: são especificados dados de CA (
--b64-cluster-ca
) ou endpoint de API (--apiserver-endpoint
) incorretos. -
Política de segurança de Pod mal configurada:
-
Os daemonsets CoreDNS e Amazon VPC CNI plugin for Kubernetes devem ser executados nos nós para que eles se integrem e se comuniquem com o cluster.
-
O Amazon VPC CNI plugin for Kubernetes requer alguns recursos de rede privilegiada para funcionar corretamente. É possível visualizar os recursos de rede privilegiada com o seguinte comando:
kubectl describe psp eks.privileged
.
Recomendamos que você não modifique a política padrão de segurança de pods. Para ter mais informações, consulte Entenda as políticas de segurança de pod (PSP) criadas pelo Amazon EKS.
-
Quando um Outpost é desconectado da Região da AWS à qual está associado, o cluster do Kubernetes provavelmente continuará funcionando normalmente. Mas, se o cluster não funcionar corretamente, siga as etapas de solução de problemas em Preparar clusters locais do Amazon EKS no AWS Outposts para desconexões de rede. Se você encontrar outros problemas, entre em contato com o AWS Support. O AWS Support pode orientá-lo no download e na execução de uma ferramenta de coleta de logs. Assim, você poderá coletar logs das instâncias do ambiente de gerenciamento do cluster do Kubernetes e enviá-las ao AWS Support para uma investigação adicional.
Quando as instâncias do ambiente de gerenciamento do Amazon EKS não são acessíveis por meio do AWS Systems Manager (Systems Manager), o Amazon EKS exibe o erro para o cluster.
Amazon EKS control plane instances are not reachable through SSM. Please verify your SSM and network configuration, and reference the EKS on Outposts troubleshooting documentation.
Para solucionar esse problema, certifique-se de que a VPC e as sub-redes atendam aos requisitos em Criar uma VPC e sub-redes para clusters do Amazon EKS no AWS Outposts e que você concluiu as etapas em Configurar o Session Manager no Guia do usuário do AWS Systems Manager.