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-ingressgateway
と istio-pilot
については、istio.ingressgateway.replicaCountMin
プロパティと istio.pilot.replicaCountMin
プロパティを 3
以上に設定できます。詳しくは、構成プロパティのリファレンス istio
をご覧ください。
その他の istio
コンポーネント(replicaCountMin プロパティがない)については、GKE ドキュメントのクラスタまたはノードプールの手動アップグレードまたは Istio ドキュメントの IstioOperator オプションをご覧ください。