Puoi scalare la maggior parte dei servizi in esecuzione in Kubernetes
alla riga di comando o in un override della configurazione. Puoi impostare la scalabilità
per i servizi di runtime ibridi Apigee in
File overrides.yaml
.
Servizio | Implementata come | Scalabilità |
---|---|---|
Cassandra | ApigeeDatastore (CRD) | Consulta Scalabilità di Cassandra. |
Bilanciatore del carico/in entrata | Deployment | Anthos Service Mesh utilizza la scalabilità automatica orizzontale dei pod (HPA). |
Registratore | DaemonSet | I DaemonSet gestiscono le repliche di un pod su tutti i nodi, quindi scalano quando scali i pod stessi. |
MART Apigee Connect Visione |
ApigeeOrganization (CRD) | Per scalare tramite configurazione, aumenta il valore del parametro
Proprietà di configurazione mart: replicaCountMin: 2 replicaCountMax: 1 watcher: replicaCountMin: 2 replicaCountMax: 1 connectAgent: replicaCountMin: 2 replicaCountMax: 1 Questi deployment utilizzano Horizontal Pod Autoscaler per la scalabilità automatica. Imposta
Per ulteriori informazioni sull'impostazione delle proprietà di configurazione, consulta Gestire i componenti del piano di runtime. |
Runtime Sincronizzatore UDCA |
ApigeeEnvironment (CRD) | Per scalare tramite configurazione, aumenta il valore del parametro
Proprietà replicaCountMin per udca , synchronizer ,
e/o runtime
nel file di override. Ad esempio:
synchronizer: replicaCountMin: 10 replicaCountMax: 1 runtime: replicaCountMin: 10 replicaCountMax: 1 udca: replicaCountMin: 10 replicaCountMax: 1 Nota: queste modifiche si applicano a TUTTI gli ambienti nel file degli override. Se vuoi personalizzare la scalabilità per ciascun ambiente, consulta Configurazioni avanzate di seguito. Questi deployment usano Horizontal Pod Autoscaler per
e la scalabilità automatica. Imposta l'oggetto Deployment
Per ulteriori informazioni sull'impostazione delle proprietà di configurazione, consulta 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 opzioni di scalabilità diverse per ogni ambiente. Ad esempio, dove env1 ha
a
minReplica
di 5 e env2 ha unminReplica
di 2. - Impostare opzioni di scalabilità diverse per ogni componente all'interno di un ambiente. Ad esempio:
in cui il componente
udca
ha un valoremaxReplica
pari a 5 e Il componentesynchronizer
ha un valoremaxReplica
pari a 2.
L'esempio seguente mostra come utilizzare il comando kubernetes patch
per apportare modifiche
la proprietà maxReplicas
per il componente runtime
:
- Crea le 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 in questo esempio si presuppone che
kubectl
sia 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