Warum wird ein Fehler etcd database size is approaching the maximum angezeigt?

Beheben Sie Probleme mit der Datenbankkapazität von etcd in Ihrem Cluster.

Virtual Private Cloud Klassische Infrastruktur Satellite

Es wird eine Fehlermeldung angezeigt, die dem folgenden Beispiel ähnelt.

etcd database size is approaching the maximum

Red Hat OpenShift on IBM Cloud verwendet eine etcd Datenbank als Backup-Speicher für alle Clusterdaten. In dieser Datenbank werden Ressourcen wie Configmaps, Secrets, Deployments und alle anderen Ressourcen von Kubernetes gespeichert. Red Hat OpenShift on IBM Cloud begrenzt die Größe der Backing-Datenbank etcd auf maximal 4 GiB,, was unter normalen Betriebsbedingungen ausreichend Kapazität bietet. Wenn ein Benutzer oder Prozess jedoch eine extrem große Anzahl von Objekten erstellt, kann die verwendete Datenbankgröße den Maximalwert erreichen.

Identifizieren Sie die Ressourcen, die Platz in der Datenbank etcd belegen.

  1. Überprüfen Sie die Metriken vom API-Server, indem Sie den folgenden Befehl ausführen.

    kubectl get --raw /metrics
    
  2. Durchsuchen Sie die Ausgabe nach apiserver_storage_objects metrics, was Ihnen zeigt, wie viele Objekte jeder Art in der etcd-Datenbank vorhanden sind. Suchen Sie nach Ressourcentypen, denen Zehntausende oder Hunderttausende von Objekten zugeordnet sind. Diese Ressourcen sind die wahrscheinlichste Ursache des Problems. Beachten Sie jedoch, dass die Größe dieser Objekte und nicht ihre Anzahl wichtig ist.

  3. Für die Ressourcen, die Sie im vorherigen Schritt ermittelt haben, überprüfen Sie ihre Einstellungen und passen Sie sie an, um die Anzahl der zu erstellenden Objekte zu reduzieren. Ein gängiges Problem sind beispielsweise fehlerhaft konfigurierte Operatoren, die automatisch zu viele geheime Schlüssel erstellen.

  4. Nachdem Sie die Ressourceneinstellungen angepasst haben, bereinigen Sie die Ressourcen, um die Größe der etcd-Datenbank wieder zu reduzieren.

  5. Wenn das Problem weiterhin auftritt, wenden Sie sich bitte an den Support. Öffnen Sie einen Supportfall. Stellen Sie in den Falldetails sicher, dass alle relevanten Protokolldateien, Fehlernachrichten oder Befehlsausgaben enthalten sind.