Apigee hybrid unterstützt zwei Arten von Aktualisierungen. Die erste ist ein direktes Update, bei dem Sie eine Konfigurationsänderung anwenden und eine Hybrid-Kubernetes-Rolling Update startet. Bei Kubernetes-Updates können Rolling Updates ohne Ausfallzeiten ausgeführt werden, indem Pod-Instanzen schrittweise mit neuen aktualisiert werden.
Apigee Hybrid unterstützt auch ein Canary- oder AB-Update. In einem AB-Update wird die neue Überarbeitung bereitgestellt. Zuerst wird jedoch ein kleiner Prozentsatz des Traffics an ihn weitergeleitet. Im Laufe der Zeit erhöht sich dieser Prozentsatz, bis der gesamte Traffic zur Überarbeitung kommt.
Direkte Aktualisierungen
Wenn Sie ein direktes Update auslösen möchten, ändern Sie einfach die gewünschten Einstellungen in der Überschreibungendatei und wenden sie auf den Cluster an. Angenommen, Sie möchten den aktuellen Speicher von runtime
von 1Gi in 5Gi ändern:
Hier sehen Sie die ursprüngliche Konfiguration:
... runtime: replicaCountMin: 2 replicaCountMax: 20 resources: requests: cpu: 1000m memory: 1Gi ...
In der neuen Konfiguration wird der Speicher in 5Gi geändert:
... runtime: replicaCountMin: 2 replicaCountMax: 20 resources: requests: cpu: 1000m memory: 5Gi ...
Wenn Sie die Änderung übernehmen, werden die vorhandenen Pods gestartet und ersetzt. Aufgrund der Rolling Update-Funktion von Kubernetes treten bei Clients keine Ausfallzeiten auf.
AB-Update machen
Verwenden Sie für ein AB-Update das Tag revision
in Ihrer Überschreibungen-Datei.
Angenommen, Sie möchten den aktuellen Speicher von runtime
von 1Gi in 5Gi ändern:
In der aktuellen Konfiguration ist revision
auf blue
gesetzt:
... revision: blue ... runtime: replicaCountMin: 2 replicaCountMax: 20 resources: requests: cpu: 1000m memory: 1Gi ...
Wenn Sie in der neuen Konfiguration revision
zu green
ändern, geben Sie an, dass Sie ein Rolling Update machen möchten, wenn die Änderung angewendet wird. Der festgelegte Wert revision
spielt keine Rolle Sie können jeden beliebigen String verwenden, solange Sie den vorherigen Wert in einen anderen Wert ändern.
... revision: green ... runtime: replicaCountMin: 2 replicaCountMax: 20 resources: requests: cpu: 1000m memory: 5Gi ...
Wenn Sie die Änderung übernehmen, ein kleiner Prozentsatz des Traffics für die neue Überarbeitung. Im Laufe der Zeit wird mehr Traffic an die neue Überarbeitung weitergeleitet, bis sie 100 % erreicht. Die alte Überarbeitung wird dann gelöscht.
Wenn ein AB-Rollout ausgelöst werden soll, fügen Sie entweder das Tag revision
hinzu, falls es nicht vorhanden ist, oder ändern Sie den Wert des Tags revision
, falls es bereits vorhanden ist. Sie müssen keine anderen Änderungen an der Überschreibungendatei vornehmen, um eine AB-Einführung auszulösen.
Die folgende Tabelle enthält den Zeitplan einer AB-Einführung:
Phase | Traffic-Prozentsatz | Wartezeit |
---|---|---|
1 | 5 % | 60 Sekunden |
2 | 20 % | 10 Sekunden |
3 | 100 % | 10 Sekunden |
In der aktuellen Version sind die Prozentsätze und Wartezeiten nicht konfigurierbar.