やりたいこと
WorkerNodeの状態を管理するパラメータである「node-monitor-grace-period」を変更する。
環境情報
- Kubernetes v1.23.2
やり方
kube-contoller-managerの引数に記載する数値を変更する。(デフォルトは40秒)
- kube-controller-manager - --node-monitor-grace-period=40s
尚、同値を変更することでkube-controller-managerがNodeのステータスのヘルスチェックに関する閾値が変更される。
I1025 ...1 event.go:294] "Event occurred" object="xx" kind="Node" apiVersion="v1" type="Normal" reason="NodeNotReady" message="Node ... status is now: NodeNotReady"
NodeがNotReadyになることで各Podに対してもWarningのイベントが起きる。
I1025 ...1 event.go:294] "Event occurred" object="test-ns/test-pod" kind="Pod" apiVersion="v1" type="Warning" reason="NodeNotReady" message="Node is not ready"
以下、補足です。
補足
WokerNodeの状態取得は以下の間隔でコントローラーが取得を行い
--node-monitor-period duration Default: 5s
以下の時間を超過して状態が正常に確認できないとNodeがReadyではなくなります。
--node-monitor-grace-period duration Default: 40s
WorkerNodeのステータスが不正となると以下の影響があるため、避けたい場合は同項目をより長い値に変更する必要があります。
ちなみにWokerNodeのステータスを管理するパラメータとしてkubelet側の引数であるnode-status-update-frequencyが存在するので、node-monitor-grace-periodを変更する場合はkubelet側の引数の見直しも必要です。
以上。