用例
假设我有 3 个不同的节点池:default
、kafka
和 team-a
。我想确保只有与 kafka 相关的部署和类似 daemonsets 或 kubernetes 系统服务的东西在这个节点池上运行。为此,我只需在我的 kafka 部署中添加一个节点选择器,这样它就只能在 kafka 节点池上进行调度:
nodeSelector:
cloud.google.com/gke-nodepool: kafka
问题
当我有进一步的部署或有状态集时,它们没有指定任何节点选择器,它们可能会被安排在那个 kafka 节点池上。相反,我希望所有其他没有节点选择器的部署都安排在我的默认节点池中。
表述为一般性问题
我如何确保没有节点选择器的所有部署和有状态集都将安排在特定节点池内?
最佳答案
对 statefulset 或 pod
使用 taint
。关注:https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/
关于kubernetes - 默认节点选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55394630/