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 Version bereitgestellt. Zuerst wird jedoch ein kleiner Prozentsatz des Traffics an sie weitergeleitet. Im Laufe der Zeit erhöht sich dieser Prozentsatz, bis der gesamte Traffic zur neuen Version geleitet wird.
Direkte Updates
Wenn Sie ein direktes Update auslösen möchten, ändern Sie einfach die gewünschten Einstellungen in der Überschreibungendatei und wenden Sie 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 ausführen
Verwenden Sie für ein AB-Update das Tag revision
in Ihrer Überschreibungsdatei.
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, geht ein kleiner Prozentsatz des Traffics an die neue Version. Im Laufe der Zeit wird mehr Traffic an die neue Version weitergeleitet, bis sie 100 % erreicht. Die alte Version wird dann gelöscht.
Wenn ein AB-Roll-out 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 Überschreibungsdatei vornehmen, um ein AB-Roll-out auszulösen.
Die folgende Tabelle enthält den Zeitplan eines AB-Roll-outs:
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.