Risoluzione dei problemi delle funzionalità EKS - Amazon EKS

Contribuisci a migliorare questa pagina

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Risoluzione dei problemi delle funzionalità EKS

Questo argomento fornisce indicazioni generali sulla risoluzione dei problemi per EKS Capabilities, inclusi controlli dello stato delle funzionalità, problemi comuni e collegamenti alla risoluzione di problemi specifici delle funzionalità.

Nota

Le funzionalità EKS sono completamente gestite e vengono eseguite all'esterno del cluster. Non hai accesso ai log dei controller o ai namespace dei controller. La risoluzione dei problemi si concentra sullo stato delle funzionalità, sullo stato delle risorse e sulla configurazione.

Un approccio generale alla risoluzione dei problemi

Per la risoluzione dei problemi relativi a EKS Capabilities, seguite questo approccio generale:

  1. Verifica dello stato delle funzionalità: utilizza aws eks describe-capability per visualizzare lo stato delle funzionalità e i problemi di integrità

  2. Verifica lo stato delle risorse: controlla le risorse Kubernetes (CRDs) che hai creato per verificare le condizioni e gli eventi relativi allo stato

  3. Rivedi le autorizzazioni IAM: assicurati che il ruolo Capability disponga delle autorizzazioni necessarie

  4. Verifica la configurazione: verifica che la configurazione specifica della funzionalità sia corretta

Verifica lo stato delle funzionalità

Tutte le funzionalità EKS forniscono informazioni sanitarie tramite la console EKS e l'describe-capabilityAPI.

Console:

  1. Apri la console Amazon EKS a https://console.aws.amazon.com/eks/home#/clusters.

  2. Seleziona il nome del cluster.

  3. Scegli la scheda Osservabilità.

  4. Scegli Monitora cluster.

  5. Scegli la scheda Capacità per visualizzare lo stato e lo stato di tutte le funzionalità.

La scheda Capacità mostra:

  • Nome e tipo di funzionalità

  • Stato attuale

  • Problemi di salute, con descrizione

AWS CLI:

aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-capability-name

La risposta include:

  • status: stato attuale della capacità (CREATING,ACTIVE,UPDATING, DELETINGCREATE_FAILED,UPDATE_FAILED)

  • salute: informazioni sanitarie, inclusi eventuali problemi rilevati dalla funzionalità

Stati di funzionalità comuni

CREAZIONE: La funzionalità è in fase di configurazione.

ATTIVO: La funzionalità è attiva e pronta all'uso. Se le risorse non funzionano come previsto, controlla lo stato delle risorse e le autorizzazioni IAM.

AGGIORNAMENTO: vengono applicate le modifiche alla configurazione. Attendi che lo stato ritorni aACTIVE.

CREATE_FAILED o UPDATE_FAILED: durante l'installazione o l'aggiornamento si è verificato un errore. Consulta la sezione dedicata alla salute per i dettagli. Cause comuni:

  • La politica di fiducia dei ruoli IAM è errata o mancante

  • Il ruolo IAM non esiste o non è accessibile

  • Problemi di accesso al cluster

  • Parametri di configurazione non validi

Verifica lo stato delle risorse Kubernetes

EKS Capabilities crea e gestisce Kubernetes Custom Resource Definitions () nel tuo cluster. CRDs Durante la risoluzione dei problemi, controlla lo stato delle risorse che hai creato:

# List resources of a specific type kubectl get resource-kind -A # Describe a specific resource to see conditions and events kubectl describe resource-kind resource-name -n namespace # View resource status conditions kubectl get resource-kind resource-name -n namespace -o jsonpath='{.status.conditions}' # View events related to the resource kubectl get events --field-selector involvedObject.name=resource-name -n namespace

Le condizioni sullo stato delle risorse forniscono informazioni su:

  • Se la risorsa è pronta

  • Eventuali errori riscontrati

  • Stato attuale di riconciliazione

Verifica le autorizzazioni IAM e l'accesso al cluster

Molti problemi di funzionalità derivano da problemi di autorizzazione IAM o dalla mancata configurazione dell'accesso al cluster. Verifica sia le autorizzazioni di Capability Role che le voci di accesso al cluster.

Controlla le autorizzazioni dei ruoli IAM

Verifica che il ruolo Capability disponga delle autorizzazioni necessarie:

# List attached managed policies aws iam list-attached-role-policies --role-name my-capability-role # List inline policies aws iam list-role-policies --role-name my-capability-role # Get specific policy details aws iam get-role-policy --role-name my-capability-role --policy-name policy-name # View the role's trust policy aws iam get-role --role-name my-capability-role --query 'Role.AssumeRolePolicyDocument'

La politica di fiducia deve consentire al responsabile del capabilities.eks.amazonaws.com servizio:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "capabilities.eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Controlla le voci di accesso e le politiche di accesso di EKS

Tutte le funzionalità richiedono voci di accesso e politiche di accesso EKS adeguate nel cluster in cui operano.

Verifica che esista Access Entry:

aws eks list-access-entries \ --cluster-name my-cluster \ --region region-code

Cerca il Capability Role ARN nell'elenco. Se manca, la funzionalità non può accedere al cluster.

Controlla le politiche di accesso allegate alla voce:

aws eks list-associated-access-policies \ --cluster-name my-cluster \ --principal-arn arn:aws:iam::111122223333:role/my-capability-role \ --region region-code

Tutte le funzionalità richiedono politiche di accesso appropriate:

  • ACK: necessita delle autorizzazioni per creare e gestire le risorse Kubernetes

  • kro: necessita delle autorizzazioni per creare e gestire le risorse Kubernetes

  • Argo CD: richiede le autorizzazioni per creare e gestire le applicazioni e richiede le voci di accesso su cluster di destinazione remoti per le implementazioni multi-cluster

Per le implementazioni multicluster di Argo CD:

Se effettui la distribuzione su cluster remoti, verifica che il Capability Role abbia un Access Entry su ogni cluster di destinazione:

# Check Access Entry on target cluster aws eks describe-access-entry \ --cluster-name target-cluster \ --principal-arn arn:aws:iam::111122223333:role/argocd-capability-role \ --region region-code

Se l'Access Entry non è presente in un cluster di destinazione, Argo CD non può distribuire applicazioni su di esso. Registra i cluster di destinazionePer i dettagli di configurazione, vedere.

Risoluzione dei problemi specifici per funzionalità

Per una guida dettagliata alla risoluzione dei problemi specifica per ogni tipo di funzionalità:

Problemi comuni a tutte le funzionalità

Capacità bloccata nello stato CREATING

Se una funzionalità rimane attiva CREATING più a lungo del previsto:

  1. Verifica lo stato delle funzionalità per problemi specifici nella console (Osservabilità > Monitor cluster > scheda Capacità) o utilizzando la AWS CLI:

    aws eks describe-capability \ --region region-code \ --cluster-name my-cluster \ --capability-name my-capability-name \ --query 'capability.health'
  2. Verifica che il ruolo IAM esista e abbia la politica di fiducia corretta

  3. Assicurati che il tuo cluster sia accessibile e integro

  4. Verifica la presenza di eventuali problemi a livello di cluster che potrebbero impedire la configurazione delle funzionalità

Risorse non create o aggiornate

Se la funzionalità è ACTIVE presente ma le risorse non vengono create o aggiornate:

  1. Controlla lo stato della risorsa per verificare eventuali condizioni di errore

  2. Verifica le autorizzazioni IAM per i AWS servizi specifici (ACK) o i repository (Argo CD)

  3. Controlla le autorizzazioni RBAC per la creazione di risorse sottostanti (kro)

  4. Rivedi le specifiche delle risorse per verificare eventuali errori di convalida

Lo stato delle capacità mostra problemi

Se describe-capability presenta problemi di salute:

  1. Leggi attentamente le descrizioni dei problemi: spesso indicano il problema specifico

  2. Risolvi la causa principale (autorizzazioni IAM, errori di configurazione, ecc.)

  3. La funzionalità verrà ripristinata automaticamente una volta risolto il problema

Fasi successive