Síntoma
El proceso de instalación de Apigee hybrid falla porque no hay suficiente espacio en disco para la base de datos de Cassandra. El proceso de instalación falla y aparece 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 de diagnóstico habituales
Usa la secuencia de comandos must-gather de Apigee hybrid para recoger los registros de los pods de Cassandra y revisarlos.
Causa posible
Causa | Descripción |
---|---|
No hay espacio en el disco | El espacio de disco disponible para Cassandra es inferior al 50%. |
Causa 1: No hay espacio en el disco
Al actualizar Apigee hybrid, asegúrate de que haya más de un 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 comprobar el tamaño total del volumen asociado a Cassandra:
kubectl get pv -n APIGEE_NAMESPACE
Resultado de ejemplo
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
-
Consulta el resultado del estado de
nodetool
para ver el disco utilizado por cada pod de Cassandra. El uso del espacio en disco de las reclamaciones de volumen persistente (PVCs) 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'
Donde CASS_PASSWORD es el
cassandra.auth.default.password
, tal como se indica en la referencia de la propiedad de configuración.Resultado de ejemplo
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 comprobar 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 la utilización del espacio en disco supera el 50%. Esto causaría problemas en 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
Resolución
Si la utilización del disco supera el 50%, aumenta la capacidad del disco de Cassandra para que sea inferior al 50% antes de realizar una actualización de Apigee hybrid.
Para ampliar la capacidad del disco, consulta Gestionar el tamaño del almacenamiento persistente de Cassandra.
Debe recoger información de diagnóstico
Si el problema persiste incluso después de seguir las instrucciones anteriores, reúne la siguiente información de diagnóstico y ponte en contacto con el equipo de Asistencia de Google Cloud:- Tu ID de proyecto de Google Cloud.
- Tu organización de Apigee Hybrid.
- Los archivos
overrides.yaml
de las regiones de origen y de destino (recuerda enmascarar la información sensible). - Los resultados de los comandos de must-gather de Apigee hybrid.