Kubernetes:将守护程序集部署到除主节点之外的所有节点

Kubernetes:将守护程序集部署到除主节点之外的所有节点,kubernetes,Kubernetes,我在版本1.5上运行kubernetes,它有两个节点和一个主节点。我想将fluentd作为守护进程集部署到所有节点上,但主节点除外(主节点由于找不到日志而发出警告消息)。如何避免部署到主节点?您正在查找污染和容忍功能。使用这些,您可以以“受污染”的特定方式定义给定节点,防止在此节点上调度POD,除非它们具有与该污染匹配的容差。您可以为从属节点使用标签,并在选择器中为守护程序集使用该标签,它将仅部署在具有该标签的节点上 相反,您可以定义一个负选择器,将守护进程集分配给没有标签的pod。在您的情况

我在版本1.5上运行kubernetes,它有两个节点和一个主节点。我想将fluentd作为守护进程集部署到所有节点上,但主节点除外(主节点由于找不到日志而发出警告消息)。如何避免部署到主节点?

您正在查找污染和容忍功能。使用这些,您可以以“受污染”的特定方式定义给定节点,防止在此节点上调度POD,除非它们具有与该污染匹配的容差。

您可以为从属节点使用
标签,并在
选择器中为守护程序集使用该标签,它将仅部署在具有该标签的节点上


相反,您可以定义一个负选择器,将守护进程集分配给没有标签的pod。在您的情况下,没有主节点标签的pod。

因此,要使pod不在主节点上调度,您需要添加以下内容

nodeSelector:
    kubernetes.io/role: node

这将使pod计划仅在节点上进行。上面的示例显示了kops配置集群中节点的默认标签。如果您已从其他提供程序配置集群,请输入键值。这不起作用:容差:-键:“kubernetes.io/role”操作符:“Equal”值:“master”效应:“NoSchedule”最后,我们为所有要部署的节点添加了一个标签,并为它们使用了一个节点选择器。如何使用负数选择器?从文档中,您应该能够执行
=我的错,它似乎只是用于查找,而不是用于定义。