Síntoma
El proceso de instalación de Apigee Hybrid falla debido a que no hay suficiente espacio en el disco para la base de datos de Cassandra. El proceso de instalación falla con el siguiente mensaje de error:
Error: UPGRADE FAILED: cannot patch "default" with kind ApigeeDatastore: Internal error occurred
Además, el registro de Cassandra contiene una advertencia similar a la siguiente:
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
Pasos comunes de diagnóstico
Usa la secuencia de comandos Apigee hybrid must-gather para recopilar los registros de los Pods de Cassandra y revisarlos.
Causa posible
Causa | Descripción |
---|---|
No hay espacio en el disco | El espacio en disco disponible para Cassandra es inferior al 50%. |
Causa 1: No hay espacio en el disco
Cuando actualices Apigee Hybrid, asegúrate de tener más del 50% de espacio en disco disponible para todos los Pods de Cassandra.
Diagnóstico
-
En la secuencia de comandos Apigee hybrid must-gather, examina el resultado del siguiente comando para verificar el tamaño total del volumen asociado con Cassandra:
kubectl get pv -n APIGEE_NAMESPACE
Resultado de muestra
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
-
Verifica el resultado del estado de
nodetool
para ver el disco que utiliza cada pod de Cassandra. La utilización del espacio en disco para las reclamaciones de volúmenes persistentes (PVC) asignadas a los Pods de Cassandra no debe superar el 50% de la capacidad de almacenamiento disponible. Consulta el siguiente comando:kubectl -n APIGEE_NAMESPACE -c apigee-cassandra exec apigee-cassandra-default-1 -- bash -c 'nodetool -u cassandra -pw $CASS_PASSWORD status'
Aquí, CASS_PASSWORD es el
cassandra.auth.default.password
como se menciona en la referencia de la propiedad de configuración.Resultado de muestra
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
(Opcional) Usa
kubectl
para ejecutar un comando dentro del contenedor de Cassandra y verificar el porcentaje de uso 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
Ejemplo
En el siguiente ejemplo, se muestra dónde el uso del espacio en disco supera el 50%. Esto causaría problemas con las actualizaciones de 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
Solución
Si observas que la utilización del disco supera el 50%, ajusta la capacidad del disco de Cassandra para asegurarte de que esté por debajo del 50% antes de realizar una actualización de Apigee hybrid.
Para expandir la capacidad del disco, consulta Administra el tamaño del almacenamiento persistente de Cassandra.
Se debe recopilar información de diagnóstico
Si el problema persiste incluso después de seguir las instrucciones anteriores, recopila la siguiente información de diagnóstico y, luego, comunícate con Atención al cliente de Google Cloud:- El ID del proyecto de Google Cloud.
- Tu organización de Apigee hybrid.
- Los archivos
overrides.yaml
de las regiones nuevas y de origen (recuerda enmascarar cualquier información sensible). - Los resultados de los comandos en Apigee hybrid must-gather.