Sie können die meisten in Kubernetes ausgeführten Dienste über die Befehlszeile oder per Konfigurationsüberschreibung skalieren. Sie können Skalierungsparameter für Apigee Hybrid-Laufzeitdienste in der overrides.yaml
-Datei festlegen.
Dienst | Implementierung als | Skalierung |
---|---|---|
Cassandra | ApigeeDatastore (CRD) | Weitere Informationen finden Sie unter Cassandra skalieren. |
Ingress/LoadBalancer | Deployment | Anthos Service Mesh verwendet horizontales Pod-Autoscaling (HPAs). |
Logger | DaemonSet | DaemonSets verwalten die Replikate eines Pods auf allen Knoten. Sie skalieren also, wenn Sie die Pods selbst skalieren. |
MART Apigee Connect Watcher |
ApigeeOrganization (CRD) | Zur Skalierung über die Konfiguration erhöhen Sie den Wert des Konfigurationsattributs mart: replicaCountMin: 2 replicaCountMax: 1 watcher: replicaCountMin: 2 replicaCountMax: 1 connectAgent: replicaCountMin: 2 replicaCountMax: 1 Diese Deployments verwenden einen horizontalen Pod-Autoscaler für das Autoscaling. Legen Sie für das Attribut Weitere Informationen zum Festlegen von Konfigurationsattributen finden sich unter Komponenten der Laufzeitebene verwalten. |
Laufzeit Synchronizer UDCA |
ApigeeEnvironment (CRD) | Zur Skalierung über die Konfiguration erhöhen Sie den Wert des Attributs replicaCountMin für die Blöcke udca , synchronizer und/oder runtime in der Überschreibungsdatei. Beispiel:
synchronizer: replicaCountMin: 10 replicaCountMax: 1 runtime: replicaCountMin: 10 replicaCountMax: 1 udca: replicaCountMin: 10 replicaCountMax: 1 Hinweis: Diese Änderungen gelten für ALLE Umgebungen in der Überschreibungsdatei. Wenn Sie die Skalierung für jede Umgebung anpassen möchten, lesen Sie den Abschnitt Erweiterte Konfigurationen weiter unten. Diese Deployments verwenden einen horizontalen Pod-Autoscaler für das Autoscaling. Legen Sie für das Attribut Weitere Informationen zum Festlegen von Konfigurationsattributen finden sich unter Komponenten der Laufzeitebene verwalten. |
Erweiterte Konfigurationen
In einigen Szenarien müssen Sie eventuell erweiterte Skalierungsoptionen verwenden. Beispielszenarien:
- Unterschiedliche Skalierungsoptionen für jede Umgebung festlegen. Beispiel: env1 hat ein
minReplica
von 5 und env2 einminReplica
von 2. - Unterschiedliche Skalierungsoptionen für jede Komponente in einer Umgebung festlegen. Beispiel: Die Komponente
udca
hat einmaxReplica
von 5 und die Komponentesynchronizer
einmaxReplica
von 2.
Das folgende Beispiel zeigt, wie Sie mit dem Befehl kubernetes patch
das Attribut maxReplicas
für die Komponente runtime
ändern:
- Erstellen Sie Umgebungsvariablen für die Verwendung mit dem Befehl:
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
- Wenden Sie den Patch an. In diesem Beispiel wird davon ausgegangen, dass sich
kubectl
in IhremPATH
befindet: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
- Prüfen Sie, ob die Änderung erfolgreich war:
kubectl get hpa -n $NAMESPACE