首页 > 编程语言 >node节点选择器

node节点选择器

时间:2022-12-27 00:33:40浏览次数:36  
标签:node master1 调度 节点 pod root 选择器

百度网盘链接:https://pan.baidu.com/s/15t_TSH5RRpCFXV-93JHpNw?pwd=8od3

5 node节点选择器

我们在创建pod资源的时候,pod会根据schduler进行调度,那么默认会调度到随机的一个工作节点,如果我们想要pod调度到指定节点或者调度到一些具有相同特点的node节点,可以使用pod中的nodeName或者nodeSelector字段指定要调度到的node节点。

5.1 nodeName

[root@master1 ~]# vim pod-node.yaml

apiVersion: v1

kind: Pod

metadata:

  name: demo-pod

  namespace: default

  labels:

    app: myapp

    env: dev

spec:

  nodeName: node1

  containers:

  - name: tomcat-pod-java

    ports:

    - containerPort: 8080

    image: tomcat:8.5-jre8-alpine

    imagePullPolicy: IfNotPresent

  - name: busybox

    image: busybox:1.28

    imagePullPolicy: IfNotPresent

    command:

    - "/bin/sh"

    - "-c"

    - "sleep 3600"

[root@master1 ~]# kubectl apply -f pod-node.yaml

[root@master1 ~]# kubectl get pods -o wide    //查看pod调度到哪个节点

demo-pod   2/2     Running   0          2m59s   10.244.166.134   node1

5.2 nodeSelector

指定pod调度到具有哪些标签的node节点上。

[root@master1 ~]# kubectl label nodes node2 disk=ceph   //给node节点打标签,打个具有disk=ceph的标签

[root@master1 ~]# vim pod-1.yaml   //定义pod的时候指定要调度到具有disk=ceph标签的node上

apiVersion: v1

kind: Pod

metadata:

  name: demo-pod-1

  namespace: default

  labels:

    app: myapp

    env: dev

spec:

  nodeSelector:

    disk: ceph

  containers:

  - name: tomcat-pod-java

    ports:

    - containerPort: 8080

    image: tomcat:8.5-jre8-alpine

    imagePullPolicy: IfNotPresent

[root@master1 ~]# kubectl apply -f pod-1.yaml

[root@master1 ~]# kubectl get pods -o wide    //查看pod调度到哪个节点

demo-pod-1   1/1     Running   0          68s   10.244.104.15   node2  

[root@master1 ~]# kubectl label nodes node2 disk-    //删除node节点打的标签

同一个yaml文件里定义pod资源,如果同时定义了nodeName和NodeSelector,那么条件必须都满足才可以,有一个不满足都会调度失败。

标签:node,master1,调度,节点,pod,root,选择器
From: https://www.cnblogs.com/KrillLiszt/p/17007190.html

相关文章