关于Kubernetes中的节点优雅关闭 - Graceful node shutdown

写在前面

节点优雅关闭(Graceful node shutdown)已经在kubernetes 1.21进入beta状态,开启节点优雅关闭可以使kubelet在节点关闭期间正常的终止pod。

Kuberentes是一个多节点的分布式系统,各种意外情况都可能出现,比如可能某人或某个操作系统事件,在没有先排空节点的情况下关闭了节点,那么pod将会等待节点被判定为NotReady后,再遵循配置的驱逐时间(没有配置的话默认为5m),这样可能会影响服务访问的连续性。

在关闭之前最佳的流程应该是可以自动的安全的排干节点,确保节点上的pod被安全的终止,并在pod中接收SIGTERM信号或运行preStop。

Kubernetes的Graceful node shutdown能力可以我们更好的控制一些意外关闭的情况,开启功能后kubelet能够意识到底层系统的关闭事件,并将关闭事件传播到pod,确保pod能够尽可能优雅的关闭。

原理

节点优雅关闭功能依赖systemd,利用了systemd抑制锁来延迟节点关闭的时间。

systemd抑制锁可以覆盖到许多不同的节点关闭场景,如:

  • 运行shutdown、shutdown now -h、reboot、systemctl reboot、systemctl poweroff等
  • 物理机按电源键
  • 公有云停止VM实例或抢占式VM被动关闭

开启了Graceful node shutdown能力后,kubelet会在启动时获得一个延迟型的Inhibitor Lock,当系统即将关闭时,kubelet会指示systemd推迟一段时间关闭系统,让kubelet有时间终

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值