Kubernetes 防止用户将POD部署到主服务器中

Kubernetes 防止用户将POD部署到主服务器中,kubernetes,Kubernetes,有没有办法不允许调度禁用的主机执行pod调度 如果pod使用此公差,则始终可以安排: tolerations: - operator: Exists 主节点有以下缺陷: Taints: node-role.kubernetes.io/master:NoSchedule node.kubernetes.io/unschedulable:NoSchedule Unschedulable: true $kubectl获得吊舱

有没有办法不允许调度禁用的主机执行pod调度

如果pod使用此公差,则始终可以安排:

tolerations:
- operator: Exists
主节点有以下缺陷:

Taints:             node-role.kubernetes.io/master:NoSchedule
                    node.kubernetes.io/unschedulable:NoSchedule
Unschedulable:      true
$kubectl获得吊舱-o宽
名称就绪状态重新启动老化IP节点指定节点就绪门
部署-b976f9795-rc2t5 1/1运行0 5m51s 192.168.0.15 master01
$kubectl获取节点-o宽
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
master01就绪,计划禁用master 38h v1.15.3 10.12.0.51 Ubuntu 18.04.3 LTS 4.15.0-62-genericdocker://18.9.9
node01就绪节点38h v1.15.3 10.12.0.62 Ubuntu 18.04.3 LTS 4.15.0-62-genericdocker://18.9.9

正如您所提到的,您正在使用
Taints:node role.kubernetes.io/master:NoSchedule

不允许将POD分配给此节点。但是,您使用的是一种特殊情况:

运算符存在的空键与所有键、值和效果匹配 也就是说 这将容忍一切

空效果将所有效果与键匹配


我唯一想到的是使用,或者只是使用。

你能分享
kubectl get nodes-o wide的输出吗?@prometherion我已经添加了输出
$ kubectl get pod -o wide
NAME                        READY   STATUS             RESTARTS   AGE     IP              NODE                              NOMINATED NODE   READINESS GATES
deploy-b976f9795-rc2t5   1/1     Running   0          5m51s   192.168.0.15    master01   <none>           <none>
$ kubectl get node -o wide
NAME                              STATUS                     ROLES    AGE    VERSION   INTERNAL-IP   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
master01    Ready,SchedulingDisabled   master   38h    v1.15.3   10.12.0.51    <none>        Ubuntu 18.04.3 LTS   4.15.0-62-generic   docker://18.9.9
node01   Ready                      node     38h    v1.15.3   10.12.0.62    <none>        Ubuntu 18.04.3 LTS   4.15.0-62-generic   docker://18.9.9
tolerations:
- operator: "Exists"
tolerations:
- key: "key"
  operator: "Exists"