Puoi scalare la maggior parte dei servizi in esecuzione in Kubernetes dalla riga di comando o in una sostituzione di configurazione. Puoi impostare la scalabilità
per i servizi di runtime ibridi di Apigee
File overrides.yaml
.
Servizio | Implementato 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). |
Logger | DaemonSet | I DaemonSet gestiscono le repliche di un pod su tutti i nodi, quindi scalano quando scali i pod stessi. |
MART Apigee Connect Watcher |
ApigeeOrganization (CRD) | Per eseguire il ridimensionamento tramite 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, consulta Gestire i componenti del piano di runtime. |
Runtime Sincronizzatore UDCA |
ApigeeEnvironment (CRD) | Per eseguire il ridimensionamento tramite configurazione, aumenta il valore della proprietà
replicaCountMin per le stanza udca , synchronizer e/o runtime nel file delle sostituzioni. 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 delle sostituzioni. Se vuoi personalizzare la scalabilità per ciascun ambiente, consulta 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, consulta Gestire i componenti del piano di runtime. |
Configurazioni avanzate
In alcuni scenari, potrebbe essere necessario utilizzare opzioni di ridimensionamento avanzate. Ecco alcuni scenari di esempio:
- Impostazione di opzioni di ridimensionamento diverse per ogni ambiente. Ad esempio, dove env1 ha
a
minReplica
di 5 e env2 ha unminReplica
di 2. - Impostazione di opzioni di scalabilità diverse per ciascun componente all'interno di un ambiente. Ad esempio,
se 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