Puedes escalar la mayoría de los servicios que se ejecutan en Kubernetes desde la línea de comandos o en una anulación de configuración. Puedes configurar los parámetros de escalamiento para los servicios del entorno de ejecución de Apigee Hybrid en el archivo overrides.yaml
.
Servicio | Implementado como | Escalamiento |
---|---|---|
Cassandra | ApigeeDatastore (CRD) | Consulta Escalamiento de Cassandra. |
Ingress/LoadBalancer | Deployment | Anthos Service Mesh usa el ajuste de escala automático horizontal de Pods (HPA). |
Logger | DaemonSet | Los DaemonSet administran réplicas de un pod en todos los nodos, por lo que escalan cuando escalas los pods. |
MART Apigee Connect Watcher |
ApigeeOrganization (CRD) | Para escalar a través de la configuración, aumenta el valor de la propiedad mart: replicaCountMin: 2 replicaCountMax: 1 watcher: replicaCountMin: 2 replicaCountMax: 1 connectAgent: replicaCountMin: 2 replicaCountMax: 1 Estas implementaciones usan un ajuste de escala automático de pod horizontal para el ajuste de escala automático. Configura la propiedad Para obtener más información sobre cómo configurar las propiedades de configuración, consulta Administra los componentes del plano de entorno de ejecución. |
Entorno de ejecución Synchronizer UDCA |
ApigeeEnvironment (CRD) | Para escalar a través de la configuración, aumenta el valor de la propiedad
replicaCountMin para las estrofas udca , synchronizer
o runtime
del archivo de anulación. Por ejemplo:
synchronizer: replicaCountMin: 10 replicaCountMax: 1 runtime: replicaCountMin: 10 replicaCountMax: 1 udca: replicaCountMin: 10 replicaCountMax: 1 Nota: Estos cambios se aplican a TODOS los entornos del archivo de anulación. Si deseas personalizar el escalamiento para cada entorno, consulta la sección Configuración avanzada a continuación. Estas implementaciones usan un ajuste de escala automático de pod horizontal para el ajuste de escala automático. Configura la propiedad Para obtener más información sobre cómo configurar las propiedades de configuración, consulta Administra los componentes del plano de entorno de ejecución. |
Configuración avanzada
En algunos casos, es posible que debas usar opciones de escalamiento avanzadas. Algunos ejemplos de situaciones son los siguientes:
- Configura diferentes opciones de escalamiento para cada entorno Por ejemplo, donde env1 tiene un
minReplica
de 5 y env2 tiene unminReplica
de 2. - Configura diferentes opciones de escalamiento para cada componente dentro de un entorno Por ejemplo,
cuando el componente
udca
tiene unamaxReplica
de 5 y el componentesynchronizer
tiene unamaxReplica
de 2.
En el siguiente ejemplo, se muestra cómo usar el comando kubernetes patch
para cambiar
la propiedad maxReplicas
del componente runtime
:
- Crea las variables de entorno para usarlas con el comando:
export ENV=my-environment-name export NAMESPACE=apigee #the namespace where apigee is deployed export COMPONENT=runtime #can be udca or synchronizer export MAX_REPLICAS=2 export MIN_REPLICAS=1
- Aplica el parche. Ten en cuenta que en este ejemplo se da por sentado que
kubectl
está en laPATH
:kubectl patch apigeeenvironment -n $NAMESPACE \ $(kubectl get apigeeenvironments -n $NAMESPACE -o jsonpath='{.items[?(@.spec.name == "'$ENV'" )]..metadata.name}') \ --patch "$(echo -e "spec:\n components:\n $COMPONENT:\n autoScaler:\n maxReplicas: $MAX_REPLICAS\n minReplicas: $MIN_REPLICAS")" \ --type merge
- Verifique el cambio:
kubectl get hpa -n $NAMESPACE