DaemonSet的滚动更新
DaemonSet 更新策略
DaemonSet 有两种更新策略 :
-
OnDelete: 默认的向后兼容更新策略. 只有当你手动删除老的DaemonSet pods时,新的DaemonSet pods 才会被自动创建。跟k8s 1.5版本及以前的行为类似。
-
RollingUpdate: 老的DaemonSet pods会被自动杀死,新的DaemonSet pods会自动创建。
限制
-
DaemonSet rollout历史目前还不支持.
-
DaemonSet 回滚 目前 kubectl还不支持. 你可以修改到DaemonSet 模板到以前版本来实现rollback.
警告: 更新Kubernetes1.5 及以前版本创建的DeamonSet
当你第一次设置RollingUpdate 滚动更新策略时,rollout 会被触发, 即使DaemonSet 模板没有修改. 所有的DaemonSet pods 会重启.
要避免重启, 首先获取DaemonSet .spec.templateGeneration:的当前值。
kubectl get ds/<daemonset-name> -o go-template=