规格:
据我所知,默认情况下主节点上会有污点(node-role.kubernetes.io/master
)。但是,我的集群上的任何主节点上都没有污点
root@master3:~# `kubectl get node `
`NAME STATUS ROLES AGE VERSION`
`master1 Ready control-plane,master 25h v1.21.1`
`master2 Ready control-plane,master 25h v1.21.1`
`master3 Ready control-plane,master 25h v1.21.1`
`worker1 Ready <none> 25h v1.21.1`
`worker2 Ready <none> 25h v1.21.1`
root@master3:~# `kubectl describe node master | grep -i taints`
`Taints: <none>`<p>
`Taints: <none>`<p>
`Taints: <none>`<p>
并且一些 Pod 被调度在主节点上
root@master3:~# kubectl get pod -o wide | grep master <p>
nginx-test-5dbdb6f988-dfmcv 1/1 Running 0 23m 10.233.97.35 master1 <none> <none><p>
nginx-test-5dbdb6f988-flm4h 1/1 Running 0 22m 10.233.97.36 master1 <none> <none><p>
这里是部署nginx-test的yaml
root@master3:~# `kubectl get deployment nginx-test -o yaml`<p>
`apiVersion: apps/v1`<p>
`kind: Deployment`<p>
`metadata:`<p>
` annotations:`<p>
` deployment.kubernetes.io/revision: "10"`<p>
` creationTimestamp: "2021-07-06T01:33:19Z"`<p>
` generation: 23`<p>
` labels:`<p>
` app: nginx-test`<p>
` name: nginx-test`<p>
` namespace: default`<p>
` resourceVersion: "175269"`<p>
` uid: 4a08b870-1b31-4d66-b39f-d25c70e4e22d`<p>
`spec:`<p>
` progressDeadlineSeconds: 600`<p>
` replicas: 15`<p>
` revisionHistoryLimit: 10`<p>
` selector:`<p>
` matchLabels:`<p>
` app: nginx-test`<p>
` strategy:`<p>
` rollingUpdate:`<p>
` maxSurge: 25%`<p>
` maxUnavailable: 25%`<p>
` type: RollingUpdate`<p>
` template:`<p>
` metadata:`<p>
` annotations:`<p>
` kubectl.kubernetes.io/restartedAt: "2021-07-06T14:52:42+09:00"`<p>
` creationTimestamp: null`<p>
` labels:`<p>
` app: nginx-test`<p>
` spec:`<p>
` containers:`<p>
` - image: nginx`<p>
` imagePullPolicy: Always`<p>
` name: nginx`<p>
` resources: {}`<p>
` terminationMessagePath: /dev/termination-log`<p>
` terminationMessagePolicy: File`<p>
` dnsPolicy: ClusterFirst`<p>
` restartPolicy: Always`<p>
` schedulerName: default-scheduler`<p>
` securityContext: {}`<p>
` terminationGracePeriodSeconds: 30`<p>
`status:`<p>
` availableReplicas: 15`<p>
` conditions:`<p>
` - lastTransitionTime: "2021-07-06T05:44:30Z"`<p>
` lastUpdateTime: "2021-07-06T05:44:30Z"`<p>
` message: Deployment has minimum availability.`<p>
` reason: MinimumReplicasAvailable`<p>
` status: "True"`<p>
` type: Available`<p>
` - lastTransitionTime: "2021-07-06T01:33:19Z"`<p>
` lastUpdateTime: "2021-07-06T06:03:41Z"`<p>
` message: ReplicaSet "nginx-test-5dbdb6f988" has successfully progressed.`<p>
` reason: NewReplicaSetAvailable`<p>
` status: "True"`<p>
` type: Progressing`<p>
` observedGeneration: 23`<p>
` readyReplicas: 15`<p>
` replicas: 15`<p>
` updatedReplicas: 15`<p>
答案 0 :(得分:0)
不需要控制平面节点上的污点。这完全取决于您如何安装 Kubernetes 以及它希望事情如何。例如,单节点安装程序不要设置它们,否则将无法运行。
答案 1 :(得分:0)
正如我在之前的评论中已经提到的,问题是由于主节点列在 Kubespray 清单文件的 [kube-node]
部分下,而不是正确的 [kube-master]
部分。这导致污点被去除。将主节点放在 [kube-master]
部分将解决问题。