dmo*_*mol 15 coreos kubernetes
我使用通用安装脚本在裸机上在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.
这个问题表明主节点上的调度pod应该是可能的,但我几乎找不到任何关于这个主题的东西.
小智 31
如果您使用的是Kubernetes 1.7及以上版本:
kubectl taint node mymasternode node-role.kubernetes.io/master:NoSchedule-
Run Code Online (Sandbox Code Playgroud)
The*_*DHM 10
kubernetes 官方文档:node-role-kubernetes-io-master
所以对于版本+v1.20,解决方案是:
kubectl taint node <master-node> node-role.kubernetes.io/control-plane:NoSchedule-
kubectl taint node <master-node> node-role.kubernetes.io/master:NoSchedule-
Run Code Online (Sandbox Code Playgroud)
对于在 AWS 上使用 kops 的任何人。我想在 master 上启用 Pod 调度。
$ 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
...
...
Run Code Online (Sandbox Code Playgroud)
和$ kubectl describe nodes ip-1**-**-**-***.********.master.internal:
...
...
Taints: <none>
Unschedulable: true
... ^^^^
...
Run Code Online (Sandbox Code Playgroud)
使用以下命令修补 master :
$ kubectl patch node MASTER_NAME -p "{\"spec\":{\"unschedulable\":false}}"
为我工作,现在已启用 Pod 调度。
参考: https: //github.com/kubernetes/kops/issues/639#issuecomment-287015882
使用以下命令清除所有大师
kubectl taint nodes --all node-role.kubernetes.io/master-
Run Code Online (Sandbox Code Playgroud)
首先,获取主人的名字
kubectl get nodes
NAME STATUS ROLES AGE VERSION
yasin Ready master 11d v1.13.4
Run Code Online (Sandbox Code Playgroud)
如我们所见,有一个节点的名称为yasin,角色为master。如果要使用它作为工作程序,则应运行
kubectl taint nodes yasin node-role.kubernetes.io/master-
Run Code Online (Sandbox Code Playgroud)
我不知道为什么主节点显示为NotReady;不应该。尝试执行一下kubectl describe node mymasternode就知道了。
这SchedulingDisabled是因为主节点被污染了dedicated=master:NoSchedule
对所有 master 执行此命令以消除污点:
kubectl taint nodes mymasternode dedicated-
Run Code Online (Sandbox Code Playgroud)
要理解为什么它有效,请阅读污点和容忍。
| 归档时间: |
|
| 查看次数: |
19527 次 |
| 最近记录: |