kubernetes 主节点上没有污点

时间:2021-07-06 06:33:55

标签: kubernetes

规格:

  • 操作系统:Ubuntu 20.04
  • kubernetes 版本:1.21.1

据我所知,默认情况下主节点上会有污点(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>

2 个答案:

答案 0 :(得分:0)

不需要控制平面节点上的污点。这完全取决于您如何安装 Kubernetes 以及它希望事情如何。例如,单节点安装程序不要设置它们,否则将无法运行。

答案 1 :(得分:0)

正如我在之前的评论中已经提到的,问题是由于主节点列在 Kubespray 清单文件的 [kube-node] 部分下,而不是正确的 [kube-master] 部分。这导致污点被去除。将主节点放在 [kube-master] 部分将解决问题。