ローリング アップデート

Apigee ハイブリッドはローリング アップデートをサポートしています。Kubernetes では、ローリング アップデートにより、ポッド インスタンスを段階的に新しいインスタンスに更新できます。これにより、デプロイメントの更新をダウンタイムなしで行うことができます。

ローリング アップデートをサポートするコンポーネント

オーバーライド ファイルにある次のコンポーネントのハイブリッド プロパティを変更する場合、revision プロパティを使用すると、影響を受けるポッドにローリング アップデートの実行を通知できます。

  • runtime
  • mart
  • udca
  • metrics
  • synchronizer

また、次のプロパティを変更する場合は、revision を使用できます。

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

ローリング アップデートの実行方法

現在の runtime メモリを 1 Gi から 5 Gi に変更する場合について考えてみましょう。

現在の構成では、revisionblue に設定されています。

...
    revision: blue
    ...
    runtime:
      replicaCountMin: 2
      replicaCountMax: 20
      resources:
        cpu: 1000m
        memory: 1Gi
    ...

新しい構成では、revisiongreen に変更されました。これは、変更が適用されたときにローリング アップデートを実行することを通知します。revision に設定する値は重要ではありません。前の値と異なれば、任意の文字列を使用できます。

...
    revision: green
    ...
    runtime:
      replicaCountMin: 2
      replicaCountMax: 20
      resources:
        cpu: 1000m
        memory: 5Gi
    ...

変更を適用すると、-c フラグを使用して特定のポッドのみを更新できます。例:

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

-c を使用しないと、構成を変更したすべてのポッドが更新されます。