Este proceso te permite expandir los volúmenes persistentes que usa la base de datos híbrida de Cassandra de Apigee a fin de satisfacer necesidades de almacenamiento mayores sin necesidad de crear nodos nuevos solo para proporcionar más almacenamiento.
Descripción general
El componente híbrido de Apigee cassandra
usa volúmenes persistentes para almacenar datos. El tamaño del volumen persistente se define durante la instalación y la configuración inicial. Este tamaño de almacenamiento inicial es un valor inmutable y no se puede cambiar. Por lo tanto, cualquier nodo nuevo que se agregue al clúster utilizará el mismo tamaño de volumen persistente.
Es posible aumentar el tamaño del volumen persistente existente si se realizan los cambios directamente en la reclamación de volumen persistente, pero los nodos nuevos seguirán usando el tamaño de volumen persistente inicial más pequeño.
Si tu base de datos híbrida de Cassandra está cerca de su capacidad de almacenamiento, puedes usar este procedimiento para expandir los volúmenes persistentes existentes y permitir que los nodos nuevos también expandan sus volúmenes persistentes.
Expande volúmenes persistentes de Cassandra
- Actualiza el tamaño de volumen al tamaño deseado:
kubectl -n apigee edit pvc
- Verifica la capacidad de volumen actualizada:
kubectl get pvc -n apigee
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE cassandra-data-apigee-cassandra-default-0 Bound pvc-92234ba7-941b-4dab-82c6-8a5288a2c8d4 100Gi RWO standard 21m cassandra-data-apigee-cassandra-default-1 Bound pvc-6be911fc-91f7-465d-a02e-933428ee10b2 100Gi RWO standard 20m cassandra-data-apigee-cassandra-default-2 Bound pvc-14ba34e4-fd5c-4d59-8413-a331dcad3404 100Gi RWO standard 19m
- Configura réplicas en
0
para implementacionesapigee-controller-manager
en el espacio de nombresapigee-system
:kubectl get deployments -n apigee-system
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 28m
kubectl edit deployments -n apigee-system apigee-controller-manager
kubectl get deployments -n apigee-system
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 0/0 0 0 30m
- Borra STS sin eliminación en cascada:
kubectl -n apigee delete sts --cascade=false apigee-cassandra
kubectl get sts -n apigee
No resources found in apigee namespace.
- Actualice el archivo de anulación con el tamaño de volumen nuevo que especificó cuando editó el archivo pvc:
cassandra: storage: capacity: 100Gi
- Aplica la configuración al clúster:
../apigeectl apply --datastore -f overrides/overrides.yaml
Parsing file: config/values.yaml Parsing file: overrides/overrides.yaml cleansing older AD's (v1alpha1) istio resources... Invoking "kubectl apply" with YAML config... apigeedatastore.apigee.cloud.google.com/apigee-cassandra unchanged
- Actualiza las réplicas de implementación del controlador a su estado anterior (
`1`
):kubectl edit deployments -n apigee-system apigee-controller-manager
- Comprueba si los sts recién creados tienen el tamaño de almacenamiento actualizado:
kubectl get sts -n apigee apigee-cassandra -o yaml |grep storage
storage: 100Gi
-
Verifica si el volumen de datos de los pods de C* se actualizó al tamaño nuevo:
kubectl exec -n apigee -it apigee-cassandra-default-0 -- df -h|grep "/opt/apigee/data"
/dev/sdb 99G 69M 99G 1% /opt/apigee/data