Sintomo
Il processo di installazione di Apigee hybrid non riesce a causa dello spazio su disco insufficiente per il database Cassandra. Il processo di installazione non riesce e viene visualizzato il seguente messaggio di errore:
Error: UPGRADE FAILED: cannot patch "default" with kind ApigeeDatastore: Internal error occurred
Inoltre, il log di Cassandra contiene un avviso simile al seguente:
WARN [main] 2024-06-18 12:34:55,583 DatabaseDescriptor.java:579 - Only 62.440GiB free across all data volumes. Consider adding more capacity to your cluster or removing obsolete snapshots
Passaggi comuni di diagnostica
Utilizza lo script Apigee hybrid must-gather per raccogliere i log dai pod Cassandra per la revisione.
Possibile causa
Causa | Descrizione |
---|---|
Spazio su disco esaurito | Lo spazio sul disco disponibile per Cassandra è inferiore al 50%. |
Causa 1: spazio su disco esaurito
Quando esegui l'upgrade di Apigee Hybrid, assicurati di avere più del 50% di spazio su disco disponibile per tutti i pod Cassandra.
Diagnosi
-
Nello script Apigee hybrid must-gather, esamina l'output del seguente comando per controllare le dimensioni totali del volume associato a Cassandra:
kubectl get pv -n APIGEE_NAMESPACE
Esempio di output
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS VOLUMEATTRIBUTESCLASS REASON AGE pvc-0b6b2daa-d512-4780-9021-fc97293a8154 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-1 standard-rwo <unset> - 20d pvc-2263fc7c-e057-406a-ad60-38573733c92d 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-2 standard-rwo <unset> - 20d pvc-8c854fe9-adaa-440f-90d9-d15497e7f530 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-0 standard-rwo <unset> - 20d
-
Controlla l'output dello stato di
nodetool
per visualizzare il disco utilizzato da ogni pod Cassandra. L'utilizzo dello spazio su disco per le attestazioni di volumi permanenti (PVC) assegnate ai pod Cassandra non deve superare il 50% della capacità di archiviazione disponibile. Fai riferimento al seguente comando:kubectl -n APIGEE_NAMESPACE -c apigee-cassandra exec apigee-cassandra-default-1 -- bash -c 'nodetool -u cassandra -pw $CASS_PASSWORD status'
Dove CASS_PASSWORD è
cassandra.auth.default.password
come indicato in Riferimento per le proprietà di configurazione.Esempio di output
Datacenter: us-west3 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 10.10.10.1 6.69 GiB 256 100.0% 2a184030-444-4155-8375-156e87539711 a UN 10.10.10.2 7.42 GiB 256 53.1% f22b66c7-4444-4000-b9c0-5a71ee6315a8 c UJ 10.10.10.3 7.39 GiB 256 ? 78fb2737-4444-4468-a786-e473ead115b5 b UN 10.10.10.4 7.81 GiB 256 47.0% 779fcdf1-4444-4186-bcbb-2844e59629c2 b UN 10.10.10.5 6.91 GiB 256 53.0% 55ca07b2-4444-4967-b321-6477d50f9846 b UN 10.10.10.6 7.41 GiB 256 46.9% 0cf33585-444-46ce-811f-9c6376ed58ac c
(Facoltativo) Utilizza
kubectl
per eseguire un comando all'interno del container Cassandra per controllare la percentuale di utilizzo del disco.kubectl exec -it apigee-cassandra-default-0 -n apigee – df -h /opt/apigee/data
kubectl exec -it apigee-cassandra-default-1 -n apigee – df -h /opt/apigee/data
kubectl exec -it apigee-cassandra-default-2 -n apigee – df -h /opt/apigee/data
Esempio
L'esempio seguente mostra dove l'utilizzo dello spazio su disco è superiore al 50%. Ciò causerebbe problemi per gli upgrade di Apigee hybrid.
kubectl exec -it apigee-cassandra-default-0 -n apigee -- df -h /opt/apigee/data
Defaulted container "apigee-cassandra" out of: apigee-cassandra, apigee-cassandra-ulimit-init (init) Filesystem Size Used Avail Use% Mounted on /dev/sdb 10G 6G 4G 60% /opt/apigee/data
kubectl exec -it apigee-cassandra-default-1 -n apigee -- df -h /opt/apigee/data
Defaulted container "apigee-cassandra" out of: apigee-cassandra, apigee-cassandra-ulimit-init (init) Filesystem Size Used Avail Use% Mounted on /dev/sdb 10G 5.9G 4.1G 59% /opt/apigee/data
kubectl exec -it apigee-cassandra-default-2 -n apigee -- df -h /opt/apigee/data
Defaulted container "apigee-cassandra" out of: apigee-cassandra, apigee-cassandra-ulimit-init (init) Filesystem Size Used Avail Use% Mounted on /dev/sdb 10G 5.6G 4.4G 56% /opt/apigee/data
Risoluzione
Se l'utilizzo del disco è superiore al 50%, ridimensiona la capacità del disco Cassandra per assicurarti che sia inferiore al 50% prima di eseguire un upgrade di Apigee Hybrid.
Per espandere la capacità del disco, consulta Gestire le dimensioni dell'archiviazione permanente di Cassandra.
Deve raccogliere informazioni diagnostiche
Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli le seguenti informazioni diagnostiche e contatta l'assistenza clienti Google Cloud:- L'ID del tuo progetto Google Cloud.
- La tua organizzazione Apigee hybrid.
- I file
overrides.yaml
delle regioni di origine e di destinazione (ricorda di mascherare le informazioni sensibili). - Gli output dei comandi in Apigee hybrid must-gather.