允许在Kubernetes master上安排pod?

问题描述 投票:11回答:5

我使用generic install scripts在裸机上在CoreOS上设置了Kubernetes。它运行当前稳定版本1298.6.0,Kubernetes版本1.5.4。

我们希望有一个高度可用的主设置,但我们目前没有足够的硬件专门用作三个服务器作为Kubernetes主服务器,所以我希望能够允许用户容器安排在Kubernetes大师。我在/etc/systemd/system/kubelet.service中设置了--register-schedulable = true但它仍然显示为SchedulingDisabled。

我尝试添加设置以将节点包括为工作者,包括将工作者TLS证书添加到/ etc / kubernetes / ssl,将这些设置添加到kubelet.service,添加指向那些的/etc/kubernetes/worker-kubeconfig.yaml证书,并将该信息添加到/etc/kubernetes/manifests/kube-proxy.yaml。我使用现有节点作为添加内容的模板。这会在主服务器主机名下注册另一个节点,然后它和原始主节点都显示为NotReady,SchedulingDisabled。

This question表示主节点上的调度pod应该是可能的,但我几乎找不到任何关于这个主题的东西。

kubernetes coreos
5个回答
25
投票

如果您使用的是Kubernetes 1.7及以上版本:

kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule-

5
投票

首先,获取主人的名字

kubectl get nodes

NAME     STATUS   ROLES    AGE   VERSION
yasin   Ready    master   11d   v1.13.4

我们可以看到有一个名为yasin的节点,角色是master。如果我们想将它用作工人,我们应该运行

kubectl taint nodes yasin node-role.kubernetes.io/master-

3
投票

我不知道为什么主节点显示为NotReady;它不应该。尝试执行kubectl describe node mymasternode以找出答案。

SchedulingDisabled是因为主节点被dedicated=master:NoSchedule污染了

对所有主人执行此命令以消除污点:

kubectl taint nodes mymasternode dedicated-

要理解为什么有效,请阅读taints and tolerations


1
投票

适用于在AWS上使用kops的任何人。我想在master上启用Pods的调度。

$ kubectl get nodes -owide给了我这个输出:

NAME                                          STATUS
...
...
ip-1**-**-**-***.********.compute.internal    Ready                      node
ip-1**-**-**-***.********.master.internal     Ready,SchedulingDisabled   master
                                                    ^^^^^^^^^^^^^^^^^^
ip-1**-**-**-***.********.compute.internal    Ready                      node
...
...

$ kubectl describe nodes ip-1**-**-**-***.********.master.internal

...
...
Taints:             <none>
Unschedulable:      true
...                 ^^^^
...

使用此命令修补master:

$ kubectl patch node MASTER_NAME -p "{\"spec\":{\"unschedulable\":false}}"

为我工作,现在启用了Pods的安排。

参考:https://github.com/kubernetes/kops/issues/639#issuecomment-287015882


0
投票

使用以下命令取消所有母版

kubectl taint nodes --all node-role.kubernetes.io/master-
© www.soinside.com 2019 - 2024. All rights reserved.