Kubernetes 为什么pod在主节点上运行?

Kubernetes 为什么pod在主节点上运行?,kubernetes,Kubernetes,我的kubernetes群集如下所示: k get nodes NAME STATUS ROLES AGE VERSION k8s-1 Ready master 2d22h v1.16.2 k8s-2 Ready master 2d22h v1.16.2 k8s-3 Ready master 2d22h v1.16.2 k8s-4 Ready master 2d22h v1.16.2 k8s-5

我的kubernetes群集如下所示:

k get nodes
NAME    STATUS   ROLES    AGE     VERSION
k8s-1   Ready    master   2d22h   v1.16.2
k8s-2   Ready    master   2d22h   v1.16.2
k8s-3   Ready    master   2d22h   v1.16.2
k8s-4   Ready    master   2d22h   v1.16.2
k8s-5   Ready    <none>   2d22h   v1.16.2
k8s-6   Ready    <none>   2d22h   v1.16.2
k8s-7   Ready    <none>   2d22h   v1.16.2
k获取节点
姓名状态角色年龄版本
k8s-1 Ready master 2d22h v1.16.2
k8s-2 Ready master 2d22h v1.16.2
k8s-3 Ready master 2d22h v1.16.2
k8s-4 Ready master 2d22h v1.16.2
k8s-5就绪2d22h v1.16.2
k8s-6就绪2d22h v1.16.2
k8s-7就绪2d22h v1.16.2
如您所见,集群由4个主节点和3个节点组成

这些是跑步舱:

NAMESPACE      NAME                                      READY   STATUS    RESTARTS   AGE     IP             NODE    NOMINATED NODE   READINESS GATES
default        greeter-service-v1-8d97f9bcd-2hf4x        2/2     Running   0          47h     10.233.69.7    k8s-6   <none>           <none>
default        greeter-service-v1-8d97f9bcd-gnsvp        2/2     Running   0          47h     10.233.65.3    k8s-2   <none>           <none>
default        greeter-service-v1-8d97f9bcd-lkt6p        2/2     Running   0          47h     10.233.68.9    k8s-7   <none>           <none>
default        helloweb-77c9476f6d-7f76v                 2/2     Running   0          47h     10.233.64.3    k8s-1   <none>           <none>
default        helloweb-77c9476f6d-pj494                 2/2     Running   0          47h     10.233.69.8    k8s-6   <none>           <none>
default        helloweb-77c9476f6d-tnqfb                 2/2     Running   0          47h     10.233.70.7    k8s-5   <none>           <none>
名称空间名称就绪状态重新启动老化IP节点指定节点就绪门
默认迎宾服务-v1-8d97f9bcd-2hf4x 2/2运行0 47h 10.233.69.7 k8s-6
默认迎宾服务-v1-8d97f9bcd-gnsvp 2/2运行0 47h 10.233.65.3 k8s-2
默认迎宾服务-v1-8d97f9bcd-lkt6p 2/2运行0 47h 10.233.68.9 k8s-7
默认helloweb-77c9476f6d-7f76v 2/2运行0 47h 10.233.64.3 k8s-1
默认helloweb-77c9476f6d-pj494 2/2运行0 47h 10.233.69.8 k8s-6
默认helloweb-77c9476f6d-tnqfb 2/2运行0 47h 10.233.70.7 k8s-5

为什么Pod greeter-service-v1-8d97f9bcd-gnsvp和helloweb-77c9476f6d-7f76v在主机上运行?

默认情况下,除非存在
污染
节点角色.kubernetes.io/master:NoSchedule
,否则不限制在主机上调度Pod

您可以使用验证主节点上是否存在任何污染
kubectl描述k8s-1

kubectl获取节点k8s-secure-master.linxlabs.com-o jsonpath={.spec.taints[]}&&echo

如果你想添加污点,请在下面使用

kubectl污染节点k8s-1节点角色。kubernetes.io/master=“”:NoSchedule

添加污染后,除非Pod规范中有匹配的容差,否则不会在此节点上计划新Pod

了解更多关于污染和容忍的信息