我有一个正在运行的DaemonSet,它在所有节点上运行。我想从一个节点中删除它,以便完全排出它,因为kubectl drain不会删除它们。在不删除我的DaemonSet的情况下,有什么好方法可以暂时从节点中删除这些pod?我尝试过排空它并删除DaemonSet pod,但DaemonSet仍然会重新调度它们,而不考虑将节点设置为Unschedulable: true。
发布于 2018-01-03 21:25:50
当您排出kubernetes节点时,您需要使用--ignore-daemonsets密钥:
-- Ignore -daemonsets=false:忽略DaemonSet管理的pods。
因此,为了在集群中使用DaemonSets来清空kubernetes节点,您需要执行:
kubectl drain <node_name> --ignore-daemonsets如果您需要从节点中完全清除DaemonSet pod ,您可以在.spec.template.spec.nodeSelector中指定一个.spec.template.spec.nodeSelector( DaemonSet控制器将在与该节点选择器匹配的节点上创建pod),并将该标签设置为除需要完全排出的节点之外的所有节点。
https://stackoverflow.com/questions/48078196
复制相似问题