Rolling Updates

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.