Rolling Updates

Apigee Hybrid unterstützt Rolling Updates, Bei Kubernetes-Updates können Rolling Updates ohne Ausfallzeiten ausgeführt werden, indem Pod-Instanzen schrittweise mit neuen aktualisiert werden.

Komponenten, die Rolling Updates unterstützen

Wenn Sie die Attributeinstellungen für eine Hybridversion der folgenden Komponenten in Ihrer Überschreibungendatei ändern, können Sie mit dem Attribut revision darauf hinweisen, dass Sie ein Rolling Update für die betroffenen Pods ausführen möchten.

  • runtime
  • mart
  • udca
  • metrics
  • synchronizer

Sie können revision auch verwenden, wenn Sie eines der folgenden Attribute ändern:

  • nodeSelector.*
  • envs.*
  • imagePullSecrets.*
  • gcpProjectID
  • k8sClusterName
  • contractProvider
  • org

So führen Sie ein Rolling Update durch

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:
    cpu: 1000m
    memory: 1Gi
...

In der neuen Konfiguration wird revision in green geändert. Damit wird angezeigt, dass Sie ein Rolling Update durchführen 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:
    cpu: 1000m
    memory: 5Gi
...

Wenn Sie die Änderung anwenden, können Sie das Flag -c verwenden, um nur einen bestimmten Pod zu aktualisieren. Beispiele:

apigeectl apply -f my-overrides.yaml -c runtime

Wenn Sie außerdem nicht -c verwenden, werden alle Pods mit Konfigurationsänderungen aktualisiert.