L'utilizzo elevato del database etcd può causare instabilità del cluster e carenze di risorse che impediscono lo scaling efficace dei cluster Google Kubernetes Engine (GKE).
Utilizza questo documento per scoprire come identificare i cluster in cui l'utilizzo di etcd sta per raggiungere il limite e trovare consigli per liberare spazio, contribuendo a garantire la stabilità del cluster.
Queste informazioni sono importanti per gli amministratori e gli operatori della piattaforma responsabili della manutenzione dell'integrità e della scalabilità dei cluster GKE. Per maggiori informazioni sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti di Google Cloud , consulta Ruoli utente e attività comuni di GKE.
Questo documento tratta la risoluzione dei problemi di stabilità del cluster correlati all'utilizzo elevato di etcd. Se riscontri un problema di scalabilità diverso, uno dei seguenti documenti potrebbe esserti d'aiuto:
Problemi relativi al gestore della scalabilità automatica dei cluster:
- Per risolvere i problemi relativi alla mancata aggiunta di nuovi nodi, consulta Risolvere i problemi relativi al mancato scale up del gestore della scalabilità automatica dei cluster.
- Per risolvere i problemi relativi alla mancata rimozione dei nodi sottoutilizzati, consulta Risolvere i problemi relativi al mancato scale down del gestore della scalabilità automatica dei cluster.
Problemi di Horizontal Pod Autoscaler: per risolvere i problemi relativi al mancato funzionamento di Horizontal Pod Autoscaler, consulta Risolvere i problemi di scalabilità automatica orizzontale dei pod.
Problemi di scalabilità di Autopilot: per ulteriori informazioni sui problemi specifici di Autopilot, inclusi quelli relativi alla scalabilità, consulta Risolvere i problemi dei cluster Autopilot.
Identifica i cluster in cui l'utilizzo di etcd sta per raggiungere il limite
GKE fornisce approfondimenti e consigli per lo scenario in cui l'utilizzo di etcd si sta avvicinando al limite. Puoi trovare questi approfondimenti e consigli nei seguenti modi:
- Utilizza la console Google Cloud . Vai alla pagina Cluster Kubernetes. Nella colonna Notifiche per cluster specifici, controlla il suggerimento Libera spazio per ridurre il rischio di instabilità del cluster.
Utilizza gcloud CLI o l'API Recommender specificando il sottotipo di motore per suggerimenti
ETCD_DB_USAGE_APPROACHING_LIMIT.Per eseguire una query per questo consiglio, esegui il seguente comando:
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=yaml \ --filter="recommenderSubtype:ETCD_DB_USAGE_APPROACHING_LIMIT"
Per implementare questo consiglio, rimuovi i dati non necessari da etcd per liberare spazio. Ciò potrebbe richiedere l'eliminazione di risorse precedenti o lo spostamento di oggetti di grandi dimensioni da etcd. Per saperne di più, consulta Pianificare cluster GKE di grandi dimensioni.
Identificare i cluster in cui l'utilizzo dello spazio di archiviazione per tipo di oggetto si sta avvicinando al limite
GKE fornisce approfondimenti e consigli per lo scenario in cui le dimensioni totali degli oggetti etcd per tipo si avvicinano al limite. Puoi trovare questi approfondimenti e consigli nei seguenti modi:
- Utilizza la console Google Cloud . Vai alla pagina Cluster Kubernetes. Nella colonna Notifiche per cluster specifici, controlla il consiglio Riduci le dimensioni dei tipi di risorse.
Utilizza gcloud CLI o l'API Recommender specificando il sottotipo di motore per suggerimenti
APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT.Per eseguire una query per questo consiglio, esegui il seguente comando:
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=yaml \ --filter="recommenderSubtype:APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT"Per decidere quali oggetti rimuovere, puoi utilizzare kubectl per elencarli. Ad esempio, se i ConfigMap si avvicinano al limite di archiviazione, il seguente comando restituirà tutti i ConfigMap in tutti gli spazi dei nomi, aiutandoti a identificare i candidati all'eliminazione:
kubectl get configmaps --all-namespaces > new_file.txt
Per implementare questo consiglio e liberare spazio, rimuovi dallo spazio di archiviazione tutti gli oggetti non necessari dei tipi specificati. Questo processo potrebbe richiedere l'eliminazione di risorse precedenti o lo spostamento di oggetti di grandi dimensioni dallo spazio di archiviazione. Per saperne di più, consulta Pianificare cluster GKE di grandi dimensioni.
Passaggi successivi
Se non riesci a trovare una soluzione al tuo problema nella documentazione, consulta la sezione Richiedere assistenza per ulteriore aiuto, inclusi consigli sui seguenti argomenti:
- Aprire una richiesta di assistenza contattando l'assistenza clienti cloud.
- Ricevere assistenza dalla community
ponendo domande su StackOverflow e utilizzando il tag
google-kubernetes-engineper cercare problemi simili. Puoi anche unirti al canale Slack#kubernetes-engineper ulteriore assistenza della community. - Apertura di bug o richieste di funzionalità utilizzando lo strumento di monitoraggio dei problemi pubblico.