Apigee ハイブリッドはローリング アップデートをサポートしています。Kubernetes では、ローリング アップデートにより、Pod インスタンスを段階的に新しいインスタンスに更新し、Deployment の更新をダウンタイムなしで行うことができます。
ローリング アップデートをサポートするコンポーネント
オーバーライド ファイルにある次のコンポーネントのハイブリッド プロパティを変更する場合、revision
プロパティを使用すると、影響を受ける Pod にローリング アップデートの実行を通知できます。
runtime
mart
udca
metrics
synchronizer
また、次のプロパティを変更する場合は、revision
を使用できます。
nodeSelector.*
envs.*
imagePullSecrets.*
gcpProjectID
k8sClusterName
contractProvider
org
ローリング アップデートの実施方法
たとえば、現在の 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 が更新されます。