Puoi scalare la maggior parte dei servizi in esecuzione in Kubernetes dalla
riga di comando o in un override della configurazione. Puoi impostare i parametri di scalabilità per i servizi di runtime di Apigee hybrid nel file overrides.yaml.
| Servizio | Implementato come | Scalabilità |
|---|---|---|
| Cassandra | ApigeeDatastore (CRD) | Consulta Scalabilità di Cassandra. |
| Ingress/LoadBalancer | Deployment | Anthos Service Mesh utilizza la scalabilità automatica orizzontale dei pod (HPA). |
| Logger | DaemonSet | I DaemonSet gestiscono le repliche di un pod su tutti i nodi, quindi vengono scalati quando vengono scalati i pod stessi. |
| MART Apigee Connect Watcher |
ApigeeOrganization (CRD) | Per scalare tramite la configurazione, aumenta il valore della proprietà di configurazione mart: replicaCountMax: 2 replicaCountMin: 1 watcher: replicaCountMax: 2 replicaCountMin: 1 connectAgent: replicaCountMax: 2 replicaCountMin: 1 Questi deployment utilizzano un Horizontal Pod Autoscaler per la scalabilità automatica. Imposta
la proprietà Per ulteriori informazioni sull'impostazione delle proprietà di configurazione, vedi Gestire i componenti del piano di runtime. |
| Runtime Synchronizer UDCA |
ApigeeEnvironment (CRD) | Per scalare tramite la configurazione, aumenta il valore della proprietà
replicaCountMin per le sezioni udca, synchronizer e/o runtime
nel file di override. Ad esempio:
synchronizer: replicaCountMax: 10 replicaCountMin: 1 runtime: replicaCountMax: 10 replicaCountMin: 1 udca: replicaCountMax: 10 replicaCountMin: 1 Nota : queste modifiche si applicano a TUTTI gli ambienti nel file di override. Se vuoi personalizzare lo scaling per ogni ambiente, consulta le configurazioni avanzate di seguito. Questi deployment utilizzano un Horizontal Pod Autoscaler per la scalabilità automatica. Imposta la proprietà Per ulteriori informazioni sull'impostazione delle proprietà di configurazione, vedi Gestire i componenti del piano di runtime. |
Configurazioni avanzate
In alcuni scenari, potrebbe essere necessario utilizzare opzioni di scalabilità avanzate. Ecco alcuni scenari di esempio:
- Impostazione di diverse opzioni di scalabilità per ogni ambiente. Ad esempio, dove env1 ha
un
minReplicadi 5 ed env2 ha unminReplicadi 2. - Impostazione di diverse opzioni di scalabilità per ogni componente all'interno di un ambiente. Ad esempio,
dove il componente
udcaha unmaxReplicadi 5 e il componentesynchronizerha unmaxReplicadi 2.
L'esempio seguente mostra come utilizzare il comando kubernetes patch per modificare
la proprietà maxReplicas per il componente runtime:
- Crea variabili di ambiente da utilizzare con il 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
- Applica la patch. Tieni presente che questo esempio presuppone che
kubectlsi trovi inPATH: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 - Verifica la modifica:
kubectl get hpa -n $NAMESPACE