我有kubernetes在1.5版本上运行,有两个节点和一个主节点 . 我想将fluentd作为守护进程部署到所有节点上,但主节点(主节点发送警告消息,因为它找不到日志) . 如何避免部署到主节点?
您可以将 label 用于从属节点,并在 selector 中将该标签用于守护程序集,该守护程序集仅部署在具有该标签的节点上 .
label
selector
相反,您可以定义否定选择器以将守护程序集分配给没有标签的窗格 . 在您的情况下,没有主标签的pod .
您正在寻找Taints和Tolerations功能 . 使用这些可以以特定的方式定义“污染”中的给定节点,从而阻止pods在此节点上进行调度,除非它们具有与该污点相匹配的容忍度 .
因此,要在主节点上安排pod,您需要添加以下内容
nodeSelector: kubernetes.io/role: node
这将使pod计划仅在节点上进行 . 以上示例显示了kops配置群集中节点的默认标签 . 如果您已经从其他提供商配置了群集,请非常关键
3 回答
您可以将
label
用于从属节点,并在selector
中将该标签用于守护程序集,该守护程序集仅部署在具有该标签的节点上 .相反,您可以定义否定选择器以将守护程序集分配给没有标签的窗格 . 在您的情况下,没有主标签的pod .
您正在寻找Taints和Tolerations功能 . 使用这些可以以特定的方式定义“污染”中的给定节点,从而阻止pods在此节点上进行调度,除非它们具有与该污点相匹配的容忍度 .
因此,要在主节点上安排pod,您需要添加以下内容
这将使pod计划仅在节点上进行 . 以上示例显示了kops配置群集中节点的默认标签 . 如果您已经从其他提供商配置了群集,请非常关键