主节点默认污点如下
root@ubuntu-server:~# kubectl describe node ubuntu-server
Name: ubuntu-server
Roles: control-plane,master
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
kubernetes.io/arch=amd64
kubernetes.io/hostname=ubuntu-server
kubernetes.io/os=linux
node-role.kubernetes.io/control-plane=
node-role.kubernetes.io/master=
node.kubernetes.io/exclude-from-external-load-balancers=
Annotations: kubeadm.alpha.kubernetes.io/cri-socket: /var/run/dockershim.sock
node.alpha.kubernetes.io/ttl: 0
volumes.kubernetes.io/controller-managed-attach-detach: true
CreationTimestamp: Sat, 20 Apr 2024 05:17:11 +0000
Taints: node-role.kubernetes.io/master:NoSchedule
可以看到为
Taints: node-role.kubernetes.io/master:NoSchedule
也就是不调度。
但是我们可以通过在YAML中设置tolerations字段,需要 k8s 1.6 以上,即可成功调度
...
kind: DaemonSet
spec:
...
template:
...
spec:
tolerations:
- key: node-role.kubernetes.io/master
effect: NoSchedule
root@ubuntu-server:~# k get po -A
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system coredns-6d8c4cb4d-4rx45 1/1 Running 0 4h7m
kube-system coredns-6d8c4cb4d-hcgs2 1/1 Running 0 4h7m
kube-system etcd-ubuntu-server 1/1 Running 2 4h8m
kube-system kube-apiserver-ubuntu-server 1/1 Running 2 4h8m
kube-system kube-controller-manager-ubuntu-server 1/1 Running 3 (3h27m ago) 4h8m
kube-system kube-proxy-cvnkb 1/1 Running 0 4h7m
kube-system kube-proxy-szdrd 1/1 Running 0 4h7m
kube-system kube-scheduler-ubuntu-server 1/1 Running 3 (3h27m ago) 4h8m
sectest detector-7rdvw 1/1 Running 0 12m
sectest detector-l666d 1/1 Running 0 11m