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 su che si trova 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 relativi alle funzionalità EKS
Nota
Le funzionalità EKS sono completamente gestite ed eseguite all'esterno del cluster. Non hai accesso diretto ai namespace dei controller. La risoluzione dei problemi si concentra sullo stato delle funzionalità, sullo stato delle risorse, sulla configurazione e sui log dei controller. È possibile configurare la distribuzione dei log del controller per ottenere visibilità sul comportamento del controller. Consulta Accedi ai registri del controller EKS Capabilities.
Approccio generale alla risoluzione dei problemi
Per la risoluzione dei problemi di EKS Capabilities, seguite questo approccio generale:
-
Verifica dello stato delle funzionalità: utilizzalo
aws eks describe-capabilityper visualizzare lo stato della funzionalità e i problemi di integrità -
Verifica lo stato delle risorse: controlla le risorse Kubernetes (CRD) che hai creato per verificare le condizioni di stato e gli eventi
-
Esamina i registri del controller: se la consegna dei log è configurata, interroga il controller per individuare eventuali errori e dettagli di riconciliazione
-
Rivedi le autorizzazioni IAM: assicurati che il Capability Role disponga delle autorizzazioni necessarie
-
Verifica la configurazione: verifica che la configurazione specifica della funzionalità sia corretta
Usa i log del controller per la risoluzione dei problemi
Se hai configurato la distribuzione dei log dei controller (vediAccedi ai registri del controller EKS Capabilities), puoi interrogare i log per identificare errori di riconciliazione, conflitti di risorse e problemi di configurazione.
Errori di interrogazione su tutti i controller
fields @timestamp, controller, message, error | filter level = "error" | sort @timestamp desc | limit 50
Filtra i log per uno specifico controller di servizio ACK
Usa il controllerGroup campo per isolare i log da uno specifico controller di servizio ACK:
fields @timestamp, message, error | filter controllerGroup = "s3.services.k8s.aws" | filter level = "error" | sort @timestamp desc
Per filtrare ulteriormente per tipo di risorsa (ad esempio, solo SecurityGroup i log del controller EC2):
fields @timestamp, message, error | filter controllerGroup = "ec2.services.k8s.aws" | filter controllerKind = "SecurityGroup" | sort @timestamp desc | limit 100
Filtrare i log per una specifica applicazione Argo CD
Usa il application campo per isolare i log per una particolare applicazione Argo CD:
fields @timestamp, message, error | filter application = "my-application" | sort @timestamp desc | limit 100
Tieni traccia della riconciliazione per una risorsa specifica
Usa il reconcileID campo per seguire un singolo ciclo di riconciliazione:
fields @timestamp, level, message, error | filter reconcileID = "your-reconcile-id" | sort @timestamp asc
Schemi di registro comuni che indicano problemi
-
Errori di riconciliazione ripetuti: il controller non è in grado di raggiungere lo stato desiderato per una risorsa. Controlla il
errorcampo per dettagli come errori di autorizzazione IAM o configurazioni di risorse non valide. -
«Errore di riconciliazione» con errori AWS API: al Capability Role potrebbero mancare le autorizzazioni per l'operazione specifica del servizio. AWS Rivedi il messaggio di errore e aggiorna le policy IAM di conseguenza.
-
Nessuna voce di registro per una risorsa: se non vedi i log di una risorsa che prevedi che il controller si riconcili, verifica che la funzionalità sia presente
ACTIVEe che la risorsa esista in uno spazio dei nomi a cui la funzionalità può accedere.
Verifica lo stato della funzionalità
Tutte le funzionalità EKS forniscono informazioni sullo stato tramite la console EKS e l'describe-capabilityAPI.
Console:
-
Apri la console Amazon EKS all'indirizzo https://console.aws.amazon.com/eks/home #/clusters.
-
Seleziona il nome del cluster.
-
Scegli la scheda Osservabilità.
-
Scegli Monitora cluster.
-
Scegli la scheda Funzionalità per visualizzare lo stato e lo stato di tutte le funzionalità.
La scheda Funzionalità mostra:
-
Nome e tipo di funzionalità
-
Stato attuale
-
Problemi di salute, con descrizione
AWS CLI:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-capability-name
La risposta include:
-
stato: stato attuale della capacità (
CREATING,ACTIVE,UPDATING,DELETINGCREATE_FAILED,UPDATE_FAILED) -
stato di salute: informazioni sanitarie, inclusi eventuali problemi rilevati dalla funzionalità
Stati di capacità comuni
CREAZIONE: la funzionalità è in fase di configurazione.
ATTIVO: La capacità è attiva e pronta all'uso. Se le risorse non funzionano come previsto, controlla lo stato delle risorse e le autorizzazioni IAM.
AGGIORNAMENTO: le modifiche alla configurazione sono in corso di applicazione. Attendi il ripristino dello statoACTIVE.
CREATE_FAILED o UPDATE_FAILED: durante l'installazione o l'aggiornamento si è verificato un errore. Per i dettagli, consulta la sezione sullo stato di salute. Cause comuni:
-
Politica di fiducia del ruolo 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 le Kubernetes Custom Resource Definitions (CRD) nel tuo cluster. Durante la risoluzione dei problemi, controlla lo stato delle risorse che hai creato:
# List resources of a specific type kubectl getresource-kind-A # Describe a specific resource to see conditions and events kubectl describeresource-kind resource-name-nnamespace# View resource status conditions kubectl getresource-kind resource-name-nnamespace-o jsonpath='{.status.conditions}' # View events related to the resource kubectl get events --field-selector involvedObject.name=resource-name-nnamespace
Le condizioni relative allo stato delle risorse forniscono informazioni su:
-
Se la risorsa è pronta
-
Eventuali errori riscontrati
-
Stato attuale della riconciliazione
Rivedi le autorizzazioni IAM e l'accesso al cluster
Molti problemi di funzionalità derivano da problemi di autorizzazione IAM o da una configurazione di accesso al cluster mancante. Verifica sia le autorizzazioni del Capability Role che le voci di accesso al cluster.
Controlla le autorizzazioni del ruolo IAM
Verifica che il Capability Role disponga delle autorizzazioni necessarie:
# 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'
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 le voci di accesso e le politiche di accesso EKS appropriate sul cluster in cui operano.
Verifica l'esistenza di una voce di accesso:
aws eks list-access-entries \ --cluster-namemy-cluster\ --regionregion-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-namemy-cluster\ --principal-arnarn:aws:iam::111122223333:role/my-capability-role\ --regionregion-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: necessita delle autorizzazioni per creare e gestire le applicazioni e richiede le voci di accesso su cluster di destinazione remoti per implementazioni multi-cluster
Per le implementazioni multi-cluster di Argo CD:
In caso di distribuzione su cluster remoti, verifica che il Capability Role abbia una voce di accesso su ogni cluster di destinazione:
# 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 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.
Capability-specific risoluzione dei problemi
Per una guida dettagliata alla risoluzione dei problemi specifica per ogni tipo di funzionalità:
-
Risolvi i problemi relativi alle funzionalità ACK- Risolvi i problemi relativi alla creazione di risorse ACK, alle autorizzazioni IAM e all'accesso tra account
-
Risolvi i problemi relativi alle funzionalità Argo CD- Risolvi i problemi di sincronizzazione delle applicazioni, autenticazione del repository e implementazioni multi-cluster
-
Risolvi i problemi relativi alle funzionalità kro- Risoluzione dei problemi ResourceGraphDefinitions, delle espressioni CEL e delle autorizzazioni RBAC
Problemi comuni a tutte le funzionalità
Capacità bloccata nello stato CREATING
Se una capacità rimane nello CREATING stato più a lungo del previsto:
-
Verifica lo stato delle funzionalità per problemi specifici nella console (Observability > Monitor cluster > scheda Capabilities) o utilizzando la AWS CLI:
aws eks describe-capability \ --regionregion-code\ --cluster-namemy-cluster\ --capability-namemy-capability-name\ --query 'capability.health' -
Verifica che il ruolo IAM esista e abbia la politica di fiducia corretta
-
Assicurati che il tuo cluster sia accessibile e integro
-
Verifica eventuali problemi a livello di cluster che potrebbero impedire la configurazione delle funzionalità
Risorse non create o aggiornate
Se la funzionalità è ACTIVE attiva ma le risorse non vengono create o aggiornate:
-
Controlla lo stato delle risorse per verificare la presenza di eventuali condizioni di errore
-
Verifica le autorizzazioni IAM per i AWS servizi (ACK) o i repository specifici (Argo CD)
-
Controlla le autorizzazioni RBAC per la creazione delle risorse sottostanti (kro)
-
Rivedi le specifiche delle risorse per individuare eventuali errori di convalida
L'integrità delle capacità mostra problemi
Se describe-capability mostra problemi di salute:
-
Leggi attentamente le descrizioni dei problemi: spesso indicano il problema specifico
-
Risolvi la causa principale (autorizzazioni IAM, errori di configurazione, ecc.)
-
La funzionalità verrà ripristinata automaticamente una volta risolto il problema
Fasi successive
-
Lavorare con risorse di capacità- Gestisci le risorse relative alle capacità
-
Risolvi i problemi relativi alle funzionalità ACK- ACK-specific risoluzione dei problemi
-
Risolvi i problemi relativi alle funzionalità Argo CD- risoluzione dei problemi relativi a Argo CD-specific
-
Risolvi i problemi relativi alle funzionalità kro- risoluzione dei problemi specifici per kro
-
Considerazioni sulla sicurezza per EKS Capabilities- Le migliori pratiche di sicurezza per le funzionalità