- v1.15 (última)
- v1.14
- v1.13
- Lista de versiones admitidas
- v1.12
- v1.11
- v1.10
- v1.9
- v1.8
- v1.7
- Versión 1.6
- v1.5
- Versión 1.4
- Versión 1.3
- v1.2
- v1.1
Versiones compatibles:
Versiones no compatibles:
En este tema se describen los pasos que debe seguir para configurar el componente de la base de datos Cassandra para una instalación de producción de Apigee Hybrid.
Asegurar la alta disponibilidad
Los clústeres de Cassandra necesitan tres zonas de disponibilidad para mantener la disponibilidad en un entorno de producción. Si una zona deja de funcionar, las demás seguirán respondiendo a las solicitudes mientras la zona que ha fallado vuelve a estar online. Si se inhabilitan dos o más zonas, Cassandra no podrá responder a las solicitudes hasta que al menos dos zonas estén online. Apigee recomienda que las zonas vuelvan a estar online en un plazo de tres horas para minimizar el riesgo de que falten actualizaciones de datos.
Aplicar ajustes de almacenamiento de Cassandra
Para aplicar los cambios en los ajustes de almacenamiento de Cassandra en el archivo de anulaciones, ejecuta los siguientes comandos:
$APIGEECTL_HOME/apigeectl init -f overrides/OVERRIDES_FILE
$APIGEECTL_HOME/apigeectl apply -f overrides/OVERRIDES_FILE
Configurar los ajustes de almacenamiento de Cassandra
Para una instalación de producción de Apigee hybrid, Google recomienda que añada los siguientes ajustes de almacenamiento y de montículo al archivo de anulaciones y que los aplique al clúster:
cassandra: ... replicaCount: 3 storage: storageclass: your-preferred-ssd-storage #If not using default storage for your cluster capacity: 500Gi resources: requests: cpu: 7 memory: 15Gi maxHeapSize: 8192M heapNewSize: 1200M
replicaCount
El valor de replicaCount
debe ser un múltiplo de 3
. Para determinar el valor de replicaCount
que quieres, ten en cuenta lo siguiente:
- Estima las demandas de tráfico de tus proxies.
- Realiza pruebas de carga y haz predicciones razonables sobre el uso de la CPU.
- Puedes especificar diferentes valores de
replicaCount
en distintas regiones. - Puedes ampliar el
replicaCount
en el futuro en tu archivo de anulaciones.
Para comprobar la configuración actual de replicaCount
, ejecuta el siguiente comando en tu clúster:
kubectl get sts -n NAMESPACE apigee-cassandra-default -o=jsonpath='{.spec.replicas}'
storageclass
En el entorno de producción, el almacenamiento de Cassandra debe ser un StorageClass SSD. Define el valor de
storageclass
si no utilizas la clase de almacenamiento de Kubernetes predeterminada para tu clúster. Puedes comprobar el StorageClass predeterminado con el siguiente comando.
kubectl get storageclass
La salida debería tener un aspecto similar a este:
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE premium-rwo pd.csi.storage.gke.io Delete WaitForFirstConsumer true 6d23h standard kubernetes.io/gce-pd Delete Immediate true 6d23h standard-rwo (default) pd.csi.storage.gke.io Delete WaitForFirstConsumer true 6d23h
Sigue las instrucciones de la sección Configuración de StorageClass si quieres cambiar la clase de almacenamiento predeterminada de Kubernetes.
Para comprobar la configuración actual de storageclass
, ejecuta el siguiente comando en tu clúster:
kubectl get pvc -n NAMESPACE cassandra-data-apigee-cassandra-default-0 -o=jsonpath='{.metadata.annotations.volume\.beta\.kubernetes\.io/storage-class}'
capacity
Para las instalaciones de producción, Google recomienda una capacidad de almacenamiento de al menos 500 Gi (gibibytes). Puedes cambiar la capacidad de almacenamiento en función de las necesidades de almacenamiento de tu clúster. Consulta las instrucciones de Ampliar volúmenes persistentes de Cassandra para cambiar la capacidad de almacenamiento.
Para comprobar el ajuste de capacidad actual, ejecuta el siguiente comando en tu clúster:
kubectl get pvc -n NAMESPACE cassandra-data-apigee-cassandra-default-0 -o=jsonpath='{.spec.resources.requests.storage}'
cpu
y memory
Para las instalaciones de producción, Google recomienda al menos 7 CPUs y un mínimo de 15 GiB (gibibytes) por pod. Al especificar cassandra.resources.requests.cpu
y cassandra.resources.requests.memory
, ten en cuenta el volumen de tráfico y las demandas de CPU y memoria de tus proxies.
Para comprobar la configuración actual de la CPU, ejecuta el siguiente comando en tu clúster:
kubectl get pods -n NAMESPACE apigee-cassandra-default-0 -o=jsonpath='{.spec.containers[].resources.requests.cpu}'
Para comprobar la configuración de memoria actual, ejecuta el siguiente comando en tu clúster:
kubectl get pods -n NAMESPACE apigee-cassandra-default-0 -o=jsonpath='{.spec.containers[].resources.requests.memory}'
maxHeapSize
y heapNewSize
Estas propiedades determinan la cantidad máxima de memoria asignada a los procesos de Cassandra y la cantidad en la que se aumenta la memoria, respectivamente, en megabytes (los tamaños del montículo se especifican en megabytes, no en mebibytes). En los entornos de producción, Google recomienda los siguientes valores:
maxHeapSize: 8192M
heapNewSize: 1200M
Consulta la documentación de tu proveedor de la plataforma de Kubernetes para obtener los valores óptimos del tamaño del montículo.
Para comprobar la configuración actual de maxHeapSize
, ejecuta el siguiente comando en tu clúster:
kubectl get sts -n NAMESPACE apigee-cassandra-default -o=jsonpath='{.spec.template.spec.containers[].env[?(@.name=="MAX_HEAP_SIZE")]}'
Para comprobar la configuración actual de heapNewSize
, ejecuta el siguiente comando en tu clúster:
kubectl get sts -n NAMESPACE apigee-cassandra-default -o=jsonpath='{.spec.template.spec.containers[].env[?(@.name=="HEAP_NEWSIZE")]}'
Para obtener más información sobre estos ajustes de propiedad, consulta la referencia de la propiedad de configuración.
Usar el almacenamiento SSD para las implementaciones de producción
En el caso de la base de datos Cassandra, el tiempo de ejecución híbrido solo admite el uso de volúmenes persistentes creados dinámicamente para almacenar datos. No se admiten unidades de disco de estado sólido (SSD) locales.
Si no tienes configurada una unidad SSD para Cassandra, debes configurar una definición de StorageClass que esté respaldada por una unidad de estado sólido (SSD) y convertirla en la clase predeterminada. Para obtener instrucciones detalladas, consulta la configuración de StorageClass.
Sigue las instrucciones de la sección Configuración de StorageClass si quieres cambiar la clase de almacenamiento predeterminada de Kubernetes.