您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
52、集群调度 固定节点调度
发布时间:2023-01-08 21:55:14编辑:雪饮阅读()
Step1
再来建立一个实验目录并进入
[root@k8s-master01 ~]# mkdir node
[root@k8s-master01 ~]# cd node
然后建立一个固定节点调度的pod模板
[root@k8s-master01 node]# cat node1.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: myweb
spec:
replicas: 7
template:
metadata:
labels:
app: myweb
spec:
nodeName: k8s-node01
containers:
- name: myweb
image: wangyanglinux/myapp:v1
ports:
- containerPort: 80
这里副本数为7,然后指定节点固定在node01上
然后创建
[root@k8s-master01 node]# kubectl apply -f node1.yaml
deployment.extensions/myweb created
可以看到这7个副本确实都是在node01节点上
[root@k8s-master01 node]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
myweb-c7d567d89-7qrgr 1/1 Running 0 95s 10.224.1.199 k8s-node01 <none> <none>
myweb-c7d567d89-7rkjs 1/1 Running 0 95s 10.224.1.198 k8s-node01 <none> <none>
myweb-c7d567d89-8gs6m 1/1 Running 0 95s 10.224.1.202 k8s-node01 <none> <none>
myweb-c7d567d89-8xx26 1/1 Running 0 95s 10.224.1.203 k8s-node01 <none> <none>
myweb-c7d567d89-gchqc 1/1 Running 0 95s 10.224.1.200 k8s-node01 <none> <none>
myweb-c7d567d89-s7jfl 1/1 Running 0 95s 10.224.1.201 k8s-node01 <none> <none>
myweb-c7d567d89-tw4zr 1/1 Running 0 95s 10.224.1.197 k8s-node01 <none> <none>
pod-3 1/1 Running 0 7h7m 10.224.1.196 k8s-node01 <none> <none>
这就是固定节点调度
Step2
接下来我们清理下
[root@k8s-master01 node]# kubectl delete deployment --all
deployment.extensions "myweb" deleted
[root@k8s-master01 node]# kubectl delete pod --all
pod "pod-3" deleted
然后准备第二个实验的pod的yaml模板
这个实验我们是按label进行选择适合的节点的
[root@k8s-master01 node]# cat node2.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: myweb111111
spec:
replicas: 2
template:
metadata:
labels:
app: myweb11
spec :
nodeSelector:
disk: ssd
containers:
- name: myweb11
image: wangyanglinux/myapp:v1
ports:
- containerPort: 80
那么所以我们创建后发现状态都是pending状态,两个pod都是
是因为目前的node01和node02节点都没有这个yaml模板所要求的label
[root@k8s-master01 node]# kubectl apply -f node2.yaml
deployment.extensions/myweb111111 created
[root@k8s-master01 node]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
myweb111111-6756c88c87-qbxqh 0/1 Pending 0 12s <none> <none> <none> <none>
myweb111111-6756c88c87-skw5h 0/1 Pending 0 12s <none> <none> <none> <none>
那么我给node01节点配置上上面这个符合的label,然后可以发现目前已经有的这两个pod就都分配到node01上面了,且状态为running了
[root@k8s-master01 node]# kubectl label node k8s-node01 disk=ssd
node/k8s-node01 labeled
[root@k8s-master01 node]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
myweb111111-6756c88c87-qbxqh 1/1 Running 0 2m53s 10.224.1.205 k8s-node01 <none> <none>
myweb111111-6756c88c87-skw5h 1/1 Running 0 2m53s 10.224.1.204 k8s-node01 <none> <none>
如果此时node02也设置为符合条件的label,则是不会调度到node02上面的
[root@k8s-master01 node]# kubectl label node k8s-node02 disk=ssd
node/k8s-node02 labeled
[root@k8s-master01 node]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
myweb111111-6756c88c87-qbxqh 1/1 Running 0 4m29s 10.224.1.205 k8s-node01 <none> <none>
myweb111111-6756c88c87-skw5h 1/1 Running 0 4m29s 10.224.1.204 k8s-node01 <none> <none>
因为副本数总共我们设置的就是2个,这两个已经都在node01上面了。
那么我们此时修改下副本数(replicas)为8个(其实这里应该是只要比2大就行了哈,数量多点,看数据可以更加充足直观点哈,当然是我个人观点咯)
[root@k8s-master01 node]# kubectl edit deployment myweb111111
deployment.extensions/myweb111111 edited
然后再次查看pod部署于节点上的情况
[root@k8s-master01 node]# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
myweb111111-6756c88c87-6bs48 1/1 Running 0 99s 10.224.2.212 k8s-node02 <none> <none>
myweb111111-6756c88c87-f5wnk 1/1 Running 0 99s 10.224.2.215 k8s-node02 <none> <none>
myweb111111-6756c88c87-fc8jv 1/1 Running 0 99s 10.224.2.213 k8s-node02 <none> <none>
myweb111111-6756c88c87-gjmgk 1/1 Running 0 99s 10.224.1.207 k8s-node01 <none> <none>
myweb111111-6756c88c87-pn7v9 1/1 Running 0 99s 10.224.1.206 k8s-node01 <none> <none>
myweb111111-6756c88c87-qbxqh 1/1 Running 0 7m52s 10.224.1.205 k8s-node01 <none> <none>
myweb111111-6756c88c87-skw5h 1/1 Running 0 7m52s 10.224.1.204 k8s-node01 <none> <none>
myweb111111-6756c88c87-xfsnv 1/1 Running 0 99s 10.224.2.214 k8s-node02 <none> <none>
可以看到4个pod在node01上面,4个pod在node02上面
现在就是从某些方面来说已经算是均衡调度在各个节点上了。
关键字词:集群,调度,固定,节点
上一篇:51、集群调度 污点和容忍