将pod调度到指定节点
# 通过kubectl label 命令给目标Node上打上标签
[root@k8s-master yaml]# kubectl label nodes k8s-node01 zone=myapp
node/k8s-node01 labeled
# yaml 文件内容如下
[root@k8s-master yaml]# cat myapp_deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: myapp-test
spec:
replicas: 1
template:
metadata:
labels:
app: myapp-test
spec:
containers:
- name: myapp-c
image: zdwork/myapp:v1.0
ports:
- containerPort: 8080
nodeSelector:
zone: myapp
[root@k8s-master yaml]# kubectl apply -f myapp_deployment.yaml
deployment.extensions/myapp-test created
# 查看Pod已经在指定的Node上
[root@k8s-master yaml]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
myapp-test-7f6ff46f48-j55cw 1/1 Running 0 15s 10.244.1.173 k8s-node01 <none> <none>
# 修改标签
[root@k8s-master yaml]# kubectl label nodes k8s-node01 zone=beijing --overwrite
# 删除标签
[root@k8s-master yaml]# kubectl label nodes k8s-node01 zone-
注意:如果我们指定了Pod的nodeSelector条件,且在集群中不存在包含相应标签的Node,则即使在集群中还有其他可供使用的Node,这个Pod也无法被调度成功
Comments Closed.