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.
Solução de problemas das funcionalidades do EKS
Este tópico fornece orientações gerais para a solução de problemas das funcionalidades do EKS, incluindo verificações de integridade das funcionalidades, problemas comuns e links para o acesso à solução de problemas específica de cada funcionalidade.
nota
As funcionalidades do EKS são totalmente gerenciadas e executadas de forma externa ao cluster. Você não tem acesso aos logs do controlador nem aos namespaces do controlador. A solução de problemas se concentra na integridade da funcionalidade, no status dos recursos e na configuração.
Abordagem geral para a solução de problemas
Ao solucionar problemas das funcionalidades do EKS, siga esta abordagem geral:
-
Verifique a integridade da funcionalidade: use
aws eks describe-capabilitypara visualizar o status da funcionalidade e possíveis problemas de integridade -
Verifique o status dos recursos: confira os recursos do Kubernetes (CRDs) que você criou, observando condições de status e eventos
-
Analise as permissões do IAM: garanta que o perfil da funcionalidade conte com as permissões necessárias
-
Verifique a configuração: confirme se a configuração específica da funcionalidade está correta
Verificação da integridade da funcionalidade
Todas as funcionalidades do EKS fornecem informações de integridade por meio do console do EKS e da API describe-capability.
Console do:
-
Abra o console do Amazon EKS em https://console.aws.amazon.com/eks/home#/clusters.
-
Selecione o nome do seu cluster.
-
Escolha a guia Observabilidade.
-
Escolha Monitorar cluster.
-
Escolha a guia Funcionalidades para visualizar a integridade e o status de todas as funcionalidades.
A guia Funcionalidades apresenta:
-
Nome e tipo da funcionalidade
-
Status atual
-
Problemas de integridade, acompanhados de descrição
AWS CLI:
aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-capability-name
A resposta inclui:
-
status: estado atual da funcionalidade (
CREATING,ACTIVE,UPDATING,DELETING,CREATE_FAILEDouUPDATE_FAILED) -
integridade: informações de integridade, incluindo quaisquer problemas detectados pela funcionalidade
Status comuns das funcionalidades
CREATING: a funcionalidade está sendo configurada.
ACTIVE: a funcionalidade está em execução e pronta para uso. Se os recursos não estiverem funcionando conforme esperado, verifique o status do recurso e as permissões de IAM.
UPDATING: as alterações de configuração estão sendo aplicadas. Aguarde até que o status retorne para ACTIVE.
CREATE_FAILED ou UPDATE_FAILED: o processo de criação ou de atualização apresentou um erro. Confira a seção destinada à integridade para obter mais detalhes. Causas comuns:
-
Política de confiança do perfil do IAM incorreta ou ausente
-
O perfil do IAM não existe ou não está acessível
-
Problemas de acesso ao cluster
-
Parâmetros de configuração inválidos
Verificação do status dos recursos do Kubernetes
As funcionalidades do EKS criam e gerenciam definições de recursos personalizados (CRDs, na sigla em inglês) do Kubernetes em seu cluster. Ao solucionar problemas, verifique o status dos recursos que você criou:
# List resources of a specific type kubectl getresource-kind-A # Describe a specific resource to see conditions and events kubectl describeresource-kindresource-name-nnamespace# View resource status conditions kubectl getresource-kindresource-name-nnamespace-o jsonpath='{.status.conditions}' # View events related to the resource kubectl get events --field-selector involvedObject.name=resource-name-nnamespace
As condições de status do recurso fornecem informações sobre:
-
A prontidão do recurso
-
Quaisquer erros encontrados
-
O estado atual de reconciliação
Análise das permissões do IAM e do acesso ao cluster
Diversos problemas relacionados às funcionalidades são causados por permissões inadequadas no IAM ou pela falta de configuração de acesso ao cluster. Verifique tanto as permissões do perfil da funcionalidade quanto as entradas de acesso ao cluster.
Verificação das permissões do perfil do IAM
Confirme se o perfil da funcionalidade detém todas as permissões necessárias:
# List attached managed policies aws iam list-attached-role-policies --role-namemy-capability-role# List inline policies aws iam list-role-policies --role-namemy-capability-role# Get specific policy details aws iam get-role-policy --role-namemy-capability-role--policy-namepolicy-name# View the role's trust policy aws iam get-role --role-namemy-capability-role--query 'Role.AssumeRolePolicyDocument'
É necessário que a política de confiança autorize a entidade principal do serviço capabilities.eks.amazonaws.com:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Verificação das entradas de acesso e das políticas de acesso do EKS
Todas as funcionalidades necessitam de entradas de acesso e de políticas de acesso apropriadas no cluster em que são executadas.
Verifique se a entrada de acesso existe:
aws eks list-access-entries \ --cluster-namemy-cluster\ --regionregion-code
Procure o ARN do perfil da funcionalidade na lista. Se estiver ausente, a funcionalidade não poderá acessar o cluster.
Verifique as políticas de acesso anexadas à entrada:
aws eks list-associated-access-policies \ --cluster-namemy-cluster\ --principal-arnarn:aws:iam::111122223333:role/my-capability-role\ --regionregion-code
Todas as funcionalidades requerem políticas de acesso apropriadas:
-
ACK: necessita de permissões para criar e gerenciar recursos do Kubernetes
-
kro: necessita de permissões para criar e gerenciar recursos do Kubernetes
-
Argo CD: necessita de permissões para criar e gerenciar Applications e requer entradas de acesso nos clusters remotos para implantações em vários clusters
Para implantações de vários clusters do Argo CD:
Ao realizar implantações em clusters remotos, assegure-se de que o perfil da funcionalidade disponha de uma entrada de acesso em cada cluster de destino:
# Check Access Entry on target cluster aws eks describe-access-entry \ --cluster-nametarget-cluster\ --principal-arnarn:aws:iam::111122223333:role/argocd-capability-role\ --regionregion-code
Se a entrada de acesso estiver ausente em algum cluster de destino, o Argo CD não conseguirá implantar aplicações nele. Consulte Registro de clusters de destino para obter detalhes sobre a configuração.
Solução de problemas específicas por funcionalidade
Para obter orientações detalhadas de solução de problemas específicas relacionadas a cada tipo de funcionalidade:
-
Solução de problemas em funcionalidades do ACK: solução de problemas na criação de recursos do ACK, permissões do IAM e acesso entre contas
-
Solução de problemas em funcionalidades do Argo CD: solução de problemas na sincronização de aplicações, autenticação de repositórios e implantações em vários clusters
-
Solução de problemas em funcionalidades do kro: solução de problemas em ResourceGraphDefinitions, expressões CEL e permissões RBAC
Problemas comuns em todas as funcionalidades
Funcionalidade travada no estado CREATING
Se uma funcionalidade permanecer no estado CREATING por mais tempo do que o esperado:
-
Verifique a integridade da funcionalidade em busca de problemas específicos no console (Observabilidade > Monitorar cluster > guia Funcionalidades) ou usando a CLI da AWS:
aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-capability-name \ --query 'capability.health' -
Verifique se o perfil do IAM existe e conta com a política de confiança correta
-
Certifique-se de que o cluster esteja acessível e íntegro
-
Verifique se há algum problema no nível do cluster que possa impedir a configuração de recursos
Recursos não estão sendo criados ou atualizados
Se a funcionalidade estiver ACTIVE, mas os recursos não estiverem sendo criados ou atualizados:
-
Verifique o status do recurso em busca de erros
-
Verifique as permissões do IAM para os serviços da AWS específicos (ACK) ou para os repositórios (Argo CD)
-
Verifique as permissões RBAC para a criação dos recursos subjacentes (kro)
-
Analise as especificações do recurso em busca de erros de validação
Problemas de integridade da funcionalidade
Se o comando describe-capability apresentar problemas de integridade:
-
Leia atentamente as descrições dos problemas, pois elas geralmente indicam a causa específica
-
Corrija a causa raiz (por exemplo, permissões do IAM, erros de configuração e entre outros)
-
A funcionalidade será recuperada automaticamente assim que o problema for resolvido
Próximas etapas
-
Como trabalhar com recursos de funcionalidade: gerenciamento de recursos da funcionalidade
-
Solução de problemas em funcionalidades do ACK: solução de problemas específica do ACK
-
Solução de problemas em funcionalidades do Argo CD: solução de problemas específica do Argo CD
-
Solução de problemas em funcionalidades do kro: solução de problemas específica do kro
-
Considerações sobre segurança para funcionalidades do EKS: práticas recomendadas de segurança para as funcionalidades