再起動前にKubernetesマスターノードをドレインする

再起動前にKubernetesマスターノードをドレインする

Kubernetes マスターノードで sudo 再起動を実行した場合、Kubernetes はクラスターから自分自身を排出できるほどスマートでしょうか?

たとえば、マスター ノードにたまたま到着した 1 つのポッドを実行している Web サービスがあるとします。マスター ノードを「sudo で再起動」すると、マスター ノードは停止する前に別のノードにコピーを起動するように指示するでしょうか?

答え1

これはKubernetesの想定された動作ではありません。実際、K8sはマスターノードをコントロールプレーンすべてのクラスター管理操作について。各ノードの主な貢献者は次のとおりです。クベレットkubeプロキシ、コンテナランタイムソフトウェア(Docker、cri-oなど)。

特定のノード(マスター、ワーカー)でOSを再起動したい場合、K8sクラスタエンジンはそのアクションを認識せず、クラスタに関連するすべてのイベントをETCDキーバリューストレージ、最新のデータのバックアップ。クラスタノードの再起動を慎重に準備したい場合は、調整が必要になる場合があります。メンテナンスこのノードでジョブを実行して、スケジュールからノードを排出し、既存のすべてのポッドを正常に終了します。

定義されたセット内で関連するK8sリソースを構成する場合レプリカ、 それからレプリケーションコントローラ指定された数のポッドレプリカが、利用可能な各ノードを通じて同時に実行されることを保証します。ヘルスチェックに失敗したり、削除または終了したりした場合は、必要なレプリカと一致するポッドを再生成するだけです。

関連情報