线上机器性能比较差,为满足kubeadm的initial检查,故只有master的配置比较高,毕竟囊中羞涩嘛!
事情的开端始于想跑一个Jenkins用于实验和学习,结果JVM直接把垃圾的Node 干趴下了,load最高跑到了29,一脸懵逼……

经过几次调整,甚至还给Node上添加了swap,结果还是无法满足需求,因而只能用别的方案……
由于master上除了一些基础调度服务,没有跑过其他的Pod,故决定将Jenkins跑在master上,死马当活马医,实在不行再“学李白,重来……”
先给master加一个label:

[root@xxxxxx yyyy]# kubectl label nodes xxxxxx.plus7s.com node-zzzz=master node/xxxxxx.plus7s.com labeled [root@xxxxxx yyyy]#
然后查看一下master的描述信息:
[root@xxxxxx yyyy]# kubectl describe node xxxxxx.plus7s.com
Name:               xxxxxx.plus7s.com
Roles:              master
Labels:             beta.kubernetes.io/arch=amd64
                    beta.kubernetes.io/os=linux
                    kubernetes.io/arch=amd64
                    kubernetes.io/hostname=xxxxxx.plus7s.com
                    kubernetes.io/os=linux
                    node-business=master
                    node-role.kubernetes.io/master=
Annotations:        flannel.alpha.coreos.com/backend-data: {"VtepMAC":"ba:00:04:8b:3b:2b"}
                    flannel.alpha.coreos.com/backend-type: vxlan
                    flannel.alpha.coreos.com/kube-subnet-manager: true
                    flannel.alpha.coreos.com/public-ip: w.x.y.z
                    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:  Mon, 06 Jan 2020 04:52:59 +0000
Taints:             node-role.kubernetes.io/master:NoSchedule

在deployment.yaml文件中增加如下字段:

nodeSelector: node-business: master tolerations: - key: "node-role.kubernetes.io/master" operator: "Exists" effect: "NoSchedule"
重新查看load,发现load已经降下来了:

参考资料:https://www.qikqiak.com/post/kubernetes-affinity-scheduler/