Istio プロパティのレプリカ数を拡張して Istio ノードのドレイン時の問題を回避する

Istio Pod をドレインするときに 3 以上のレプリカが必要ですが、一部のノードのレプリカ数が 1 になっているため、そのノードをドレインできないことがあります。これを回避するには、各プロパティの最小レプリカ数を 3 以上に設定する必要があります。

Istio ノードをバックアップしてドレインすると、次のようなエラーが表示されることがあります。

kubectl drain` failed to evict and reschedule pods to another node due to PodDisruptionBudget definitions:
===
NAMESPACE NAME MIN AVAILABLE MAX UNAVAILABLE ALLOWED DISRUPTIONS AGE
istio-system istio-ingressgateway 1 N/A 2 5d11h
istio-system istio-pilot 1 N/A 2 5d11h
===

istio-ingressgatewayistio-pilot については、istio.ingressgateway.replicaCountMin プロパティと istio.pilot.replicaCountMin プロパティを 3 以上に設定できます。詳しくは、構成プロパティのリファレンス istio をご覧ください。

その他の istio コンポーネント(replicaCountMin プロパティがない)については、GKE ドキュメントのクラスタまたはノードプールの手動アップグレードまたは Istio ドキュメントの IstioOperator オプションをご覧ください。