Perché viene visualizzato un errore etcd database size is approaching the maximum ?

Risolvi i problemi relativi alla capacità del database " etcd " nel tuo cluster.

Virtual Private Cloud Infrastruttura classica Satellite

Viene visualizzato un messaggio di errore simile a quello riportato nell'esempio seguente.

etcd database size is approaching the maximum

Red Hat OpenShift on IBM Cloud utilizza un database etcd come backing store per tutti i dati del cluster. In questo database vengono memorizzate risorse come configmap, segreti, distribuzioni e tutte le altre risorse di Kubernetes. Red Hat OpenShift on IBM Cloud limita la dimensione del database di backup etcd a un massimo di 4 GiB, che fornisce una capacità sufficiente in condizioni operative normali. Tuttavia, se un utente o un processo crea un numero di oggetti estremamente elevato, la dimensione del database in uso può raggiungere il valore massimo.

Identificare le risorse che occupano spazio nel database etcd.

  1. Esamina le metriche dall'apiserver immettendo il seguente comando.

    kubectl get --raw /metrics
    
  2. Ricercare l'output per apiserver_storage_objects metrics, che indica il numero di ciascun tipo di oggetto presente nel database etcd. Ricercare i tipi di risorsa che hanno decine o centinaia di migliaia di oggetti associati. Queste risorse sono la causa più probabile del problema. Tuttavia, tenere presente che è la dimensione di questi oggetti piuttosto che il loro numero che è importante.

  3. Per le risorse identificate nel passo precedente, esaminare e modificare le relative impostazioni per ridurre il numero di oggetti che vengono creati. Ad esempio, un problema comune è rappresentato da operatori configurati in modo non corretto che creano automaticamente troppi segreti.

  4. Dopo aver regolato le impostazioni della risorsa, ripulisci le risorse per ripristinare la dimensione del database etcd.

  5. Se il problema persiste, contattare il supporto. Apri un caso di supporto. Nei dettagli del caso, assicurarsi di includere i file di log, i messaggi di errore o gli output dei comandi pertinenti.