Kubernetes ds赢得';t在主节点上运行pod

Kubernetes ds赢得';t在主节点上运行pod,kubernetes,kubelet,Kubernetes,Kubelet,我正在运行一个包含1个主节点和1个节点的集群。现在,当我运行daemon set时,它只显示1个所需的节点,而应该是2个。在descripe/logs中找不到任何错误,但守护程序只选择1个节点运行。我使用的是kubernetes 1.9.1 知道我做错了什么吗?或者如何调试它? TIA。默认情况下,出于安全原因,您的集群不会在主机上调度POD。如果您希望能够在主机上安排POD,例如,对于单机Kubernetes群集进行开发,请运行: kubectl污染节点——所有节点角色.kubernetes.

我正在运行一个包含1个主节点和1个节点的集群。现在,当我运行daemon set时,它只显示1个所需的节点,而应该是2个。在descripe/logs中找不到任何错误,但守护程序只选择1个节点运行。我使用的是kubernetes 1.9.1

知道我做错了什么吗?或者如何调试它?
TIA。

默认情况下,出于安全原因,您的集群不会在主机上调度POD。如果您希望能够在主机上安排POD,例如,对于单机Kubernetes群集进行开发,请运行:


kubectl污染节点——所有节点角色.kubernetes.io/master-

如果k8s主节点只有
node-role.kubernetes.io/master:NoSchedule污染而不允许它,则会发生这种情况

k8s 1.6或更高版本中需要允许node-role.kubernetes.io/master:NoSchedule
在主节点上调度守护程序

在YAML文件中为守护程序集添加以下容差,以使k8s也在主节点上调度守护程序:

...
kind: DaemonSet
spec:
  ...
  template:
   ...
    spec:
      tolerations:
      - key: node-role.kubernetes.io/master
        effect: NoSchedule
可以通过以下方式检查主节点的污染:

kubectl describe node <master node>
kubectl describe pod <pod name>
kubectl描述节点
吊舱的公差可通过以下方式进行检查:

kubectl describe node <master node>
kubectl describe pod <pod name>
kubectl描述pod

有关守护程序的详细信息,请参阅。

通常,主程序不会被标记为可以安排应用程序运行的节点。您希望它在主节点上运行有什么原因吗?虽然这会起作用,但它会增加一个额外的效果,即所有POD都有资格在删除主节点污染的节点上进行调度。