kubernetes中nodeSelector节点选择器的使用
我们在创建pod资源是,k8s集群系统会给我们将pod资源随机分配到不同服务器上。我们通过配置nodeSelector可以将pod资源指定到拥有某个标签的服务器上。metadata:name: dm02spec:selector:template:metadata:labels:spec:- name: c1ports:我们可以看到资源被随机分配到两台服务器上。
一、概念
我们在创建pod资源是,k8s集群系统会给我们将pod资源随机分配到不同服务器上。我们通过配置nodeSelector可以将pod资源指定到拥有某个标签的服务器上。
[root@master deployment-demo]# cat nodeselector.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: dm02
spec:
replicas: 5
selector:
matchLabels:
k8s: dolphin
template:
metadata:
name: pod01
labels:
k8s: dolphin
spec:
containers:
- name: c1
image: nginx
ports:
- containerPort: 80
[root@master deployment-demo]# kubectl apply -f nodeselector.yaml
我们可以看到资源被随机分配到两台服务器上
二、使用
1. 查看节点的标签
2. 给集群节点打标签
# 查看节点名称
[root@master deployment-demo]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 25d v1.23.5
node1 Ready <none> 25d v1.23.5node2 Ready <none> 24d v1.23.5
# 给节点打标签[root@master deployment-demo]# kubectl label node node1 k8s=node1
node/node1 labeled
[root@master deployment-demo]# kubectl label node node2 k8s=node2
node/node2 labeled使用命令查看节点标签 kubectl get nodes --show-labels
如下图,说明成功打上标签
3.编辑修改nodeselector.yaml 添加nodeSelector选择调度资源标签
[root@master deployment-demo]# cat nodeselector.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: dm02
spec:
replicas: 5
selector:
matchLabels:
k8s: dolphin
template:
metadata:
name: pod01
labels:
k8s: dolphin
spec:
nodeSelector:
k8s: node1
containers:
- name: c1
image: nginx
ports:
- containerPort: 80
[root@master deployment-demo]# kubectl apply -f nodeselector.yaml
查看命令kubectl get pod -o wide,看到全都调度到了节点1上,使用成功
更多推荐
所有评论(0)