Eine hohe Nutzung der etcd-Datenbank kann zu Clusterinstabilität und Ressourcenknappheit führen, wodurch die effektive Skalierung Ihrer Google Kubernetes Engine-Cluster (GKE) verhindert wird.
In diesem Dokument erfahren Sie, wie Sie Cluster identifizieren, bei denen die etcd-Nutzung sich dem Limit nähert, und Empfehlungen zum Freigeben von Speicherplatz erhalten, damit Ihr Cluster stabil bleibt.
Diese Informationen sind wichtig für Plattformadministratoren und ‑operatoren, die für die Aufrechterhaltung der Stabilität und Skalierbarkeit von GKE-Clustern verantwortlich sind. Weitere Informationen zu den häufig verwendeten Rollen und Beispielaufgaben, auf die wir in Google Cloud Inhalten verweisen, finden Sie unter Häufig verwendete GKE-Nutzerrollen und Aufgaben.
In diesem Dokument wird die Fehlerbehebung bei Clusterstabilitätsproblemen im Zusammenhang mit einer hohen etcd-Nutzung behandelt. Wenn ein anderes Skalierbarkeitsproblem auftritt, helfen Ihnen möglicherweise die folgenden Dokumente weiter:
Probleme mit dem Cluster Autoscaler:
- Informationen zur Fehlerbehebung, wenn keine neuen Knoten hinzugefügt werden, finden Sie unter Fehlerbehebung, wenn Cluster Autoscaler nicht hochskaliert.
- Informationen zur Fehlerbehebung, wenn nicht ausgelastete Knoten nicht entfernt werden, finden Sie unter Fehlerbehebung, wenn Cluster Autoscaler nicht herunterskaliert.
Probleme mit dem Horizontal Pod Autoscaler: Informationen zur Fehlerbehebung, wenn Ihr Horizontal Pod Autoscaler nicht funktioniert, finden Sie unter Fehlerbehebung beim horizontalen Pod-Autoscaling.
Probleme mit der Autopilot-Skalierung: Weitere Informationen zu Autopilot-spezifischen Problemen, einschließlich Problemen im Zusammenhang mit der Skalierung, finden Sie unter Fehlerbehebung bei Autopilot-Clustern.
Cluster identifizieren, bei denen die etcd-Nutzung sich dem Limit nähert
GKE bietet Informationen und Empfehlungen für den Fall, dass sich die etcd-Nutzung dem Limit nähert. So finden Sie diese Informationen und Empfehlungen:
- Verwenden Sie die Google Cloud Console. Rufen Sie die Seite Kubernetes-Cluster auf. Suchen Sie in der Spalte Benachrichtigungen für bestimmte Cluster nach der Empfehlung Geben Sie Speicherplatz kostenlos, um das Risiko von Clusterinstabilität zu verringern.
Verwenden Sie die gcloud CLI oder die Recommender API und geben Sie den Recommender-Untertyp
ETCD_DB_USAGE_APPROACHING_LIMITan.Führen Sie den folgenden Befehl aus, um diese Empfehlung abzufragen:
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=yaml \ --filter="recommenderSubtype:ETCD_DB_USAGE_APPROACHING_LIMIT"
Entfernen Sie alle nicht benötigten Daten aus etcd, um Speicherplatz freizugeben. Dazu gehört möglicherweise das Löschen alter Ressourcen oder das Verschieben großer Objekte aus etcd. Weitere Informationen finden Sie unter Große GKE-Cluster planen.
Cluster identifizieren, bei denen die Speichernutzung pro Objekttyp sich dem Limit nähert
GKE bietet Informationen und Empfehlungen für den Fall, dass sich die Gesamtgröße der etcd-Objekte pro Typ dem Limit nähert. So finden Sie diese Informationen und Empfehlungen:
- Verwenden Sie die Google Cloud Console. Rufen Sie die Seite Kubernetes-Cluster auf. Suchen Sie in der Spalte Benachrichtigungen für bestimmte Cluster nach der Empfehlung Größe der Ressourcentypen reduzieren.
Verwenden Sie die gcloud CLI oder die Recommender API und geben Sie den Recommender-Untertyp
APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMITan.Führen Sie den folgenden Befehl aus, um diese Empfehlung abzufragen:
gcloud recommender recommendations list \ --recommender=google.container.DiagnosisRecommender \ --location=LOCATION \ --project=PROJECT_ID \ --format=yaml \ --filter="recommenderSubtype:APISERVER_RESOURCE_TYPE_SIZE_EXCEEDS_LIMIT"Mit kubectl können Sie die zu entfernenden Objekte auflisten. Wenn sich beispielsweise ConfigMaps dem Speicherlimit nähern, gibt der folgende Befehl alle ConfigMaps in allen Namespaces aus, damit Sie Kandidaten für das Löschen identifizieren können:
kubectl get configmaps --all-namespaces > new_file.txt
Entfernen Sie alle nicht benötigten Objekte der angegebenen Typen aus dem Speicher, um Speicherplatz freizugeben. Dazu gehört möglicherweise das Löschen alter Ressourcen oder das Verschieben großer Objekte aus dem Speicher. Weitere Informationen finden Sie unter Große GKE-Cluster planen.
Nächste Schritte
Wenn Sie in der Dokumentation keine Lösung für Ihr Problem finden, lesen Sie den Hilfeartikel Support erhalten. Dort finden Sie unter anderem Informationen zu folgenden Themen:
- Supportanfrage erstellen, indem Sie sich an Cloud Customer Care wenden.
- Support von der Community erhalten, indem Sie
Fragen auf Stack Overflow stellen
und mit dem
google-kubernetes-engineTag nach ähnlichen Problemen suchen. Sie können auch dem#kubernetes-engineSlack-Kanal beitreten, um mehr Community-Support zu erhalten. - Probleme melden oder Featureanfragen stellen, indem Sie die öffentliche Problemverfolgung verwenden.