Apigee ハイブリッドはローリング アップデートをサポートしています。Kubernetes では、ローリング アップデートにより、Pod インスタンスを段階的に新しいインスタンスに更新し、Deployment の更新をダウンタイムなしで行うことができます。
ローリング アップデートをサポートするコンポーネント
オーバーライド ファイルにある次のコンポーネントのハイブリッド プロパティを変更する場合、revision プロパティを使用すると、影響を受ける Pod にローリング アップデートの実行を通知できます。
runtimemartudcametricssynchronizer
また、次のプロパティを変更する場合は、revision を使用できます。
nodeSelector.*envs.*imagePullSecrets.*gcpProjectID(非推奨)k8sClusterName(非推奨)gcp.*k8sCluster.*contractProviderorg
ローリング アップデートの実行方法
たとえば、現在の runtime メモリを 1 Gi から 5 Gi に変更する場合について考えてみましょう。
現在の構成では、revision が blue に設定されています。
...
revision: blue
...
runtime:
replicaCountMin: 2
replicaCountMax: 20
resources:
cpu: 1000m
memory: 1Gi
...
新しい構成では、revision が green に変更されました。これは、変更されています。これは、変更が適用されたときにローリング アップデートを行うことの合図となります。revision に設定する値は重要ではありません。前の値と異なる任意の値を使用できます。
...
revision: green
...
runtime:
replicaCountMin: 2
replicaCountMax: 20
resources:
cpu: 1000m
memory: 5Gi
...
変更を適用する際に-c フラグを使用すると、特定の Pod のみを更新できます。次に例を示します。
apigeectl apply -f my-overrides.yaml -c runtime
-c を使用しないと、構成を変更したすべての Pod が更新されます。