Kubernetes困难之路-如何设置节点不可调度

Kubernetes困难之路-如何设置节点不可调度,kubernetes,Kubernetes,我从头开始配置Kubernetes群集(原因)。这是VM内部的本地设置,一切正常,除了master节点被创建为可调度节点 我已尝试通过将所需参数传递给kubelet binary(无法解决问题),将master标签和适当的污点分配给节点: 以下是kubectl Descripte的输出: 如何将此节点设置为不可计划?文档中并没有具体说明这一点(如果我遗漏了什么,请随意指向文档的适当部分) PS:上面提到的标签/污点是在创建/注册节点之前出现的。污点使我们能够标记节点,以防止调度程序使用带有NoS

我从头开始配置Kubernetes群集(原因)。这是VM内部的本地设置,一切正常,除了
master
节点被创建为可调度节点

我已尝试通过将所需参数传递给kubelet binary(无法解决问题),将
master
标签和适当的污点分配给节点:

以下是kubectl Descripte的输出:

如何将此节点设置为不可计划?文档中并没有具体说明这一点(如果我遗漏了什么,请随意指向文档的适当部分)


PS:上面提到的标签/污点是在创建/注册节点之前出现的。

污点使我们能够标记节点,以防止调度程序使用带有
NoSchedule
参数的特定POD,并且它们具有Kubernetes调度程序在计划步骤中使用的特殊值。默认情况下,在添加
容忍度
之前,无法在具有污染的节点上生成POD,这将允许调度程序在
容忍度
配置中指定的具有污染的节点上创建POD;因此,根据您的节点描述,您已将此节点成功注册为
NoSchedule
,这意味着不会在此节点上调度POD

污染:节点角色.kubernetes.io/master=true:NoSchedule

或者,您可以使用
kubectl cordon NODE
命令将节点标记为;因此,它将完全禁用节点的调度,因此Kubernetes Scheduler将在规划工作负载的过程中忽略它,并反映在您的节点配置中,如:

不可计划的:是的

--register-with-taints=node-role.kubernetes.io/master=:NoSchedule
--node-labels=master,node-role.kubernetes.io/master=""
Name:               myNodeName
Roles:              master
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/os=linux
                    kubernetes.io/hostname=myHostName
                    master=
                    node-role.kubernetes.io/master=
Annotations:        node.alpha.kubernetes.io/ttl=0
                    volumes.kubernetes.io/controller-managed-attach-detach=true
CreationTimestamp:  Tue, 03 Jul 2018 05:56:53 +0000
Taints:             node-role.kubernetes.io/master=true:NoSchedule
Unschedulable:      false