首页 > 其他分享 >k8s基础篇 pod(六)节点选择器

k8s基础篇 pod(六)节点选择器

时间:2022-10-22 17:32:58浏览次数:45  
标签:node kubernetes 节点 io pod k8s k8s01 选择器

6.node节点选择器

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

1、nodeName

指定pod节点运行在哪个具体node上

由于只开了一主一从,需要先k8s01的污点去掉
kubectl taint nodes k8s01 node-role.kubernetes.io/master-

[root@k8s01 ~]# cat pod-node.yaml
apiVersion: v1
kind: Pod
metadata:
name: demo-pod
namespace: default
labels:
app: myapp
env: env
spec:
nodeName: k8s01
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"

kubectl apply -f pod-node.yaml
[root@k8s01 ~]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
demo-pod 2/2 Running 0 13s 10.244.73.67 k8s01 <none> <none>

2、nodeSelector

指定pod调度到具有哪些标签的node节点上 #给node节点打标签,打个具有disk=ceph的标签

kubectl label node k8s02 disk=ceph
[root@k8s01 ~]# kubectl get nodes --show-labels
NAME STATUS ROLES AGE VERSION LABELS
k8s01 Ready control-plane,master 24h v1.20.6 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s01,kubernetes.io/os=linux,node-role.kubernetes.io/control-plane=,node-role.kubernetes.io/master=
k8s02 Ready worker 24h v1.20.6 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,disk=ceph,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s02,kubernetes.io/os=linux,node-role.kubernetes.io/worker=worker

[root@k8s01 ~]# cat pod-1.yaml
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

kubectl apply -f pod-1.yaml
#查看pod调度到哪个节点
[root@k8s01 ~]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READIN ESS GATES
demo-pod 2/2 Running 0 7m46s 10.244.73.67 k8s01 <none> <none>
demo-pod-1 1/1 Running 0 19s 10.244.236.145 k8s02 <none> <none>

标签:node,kubernetes,节点,io,pod,k8s,k8s01,选择器
From: https://blog.51cto.com/u_13236892/5786030

相关文章

  • Kubernetes--标签选择器(标签)
    标签选择器用于表达标签的查询条件或选择标准,KubernetesAPI目前支持两个选择器:基于等值关系(equality-based)以及基于集合关系(set-based)。例如,env=production和env!=qa......
  • 597 选择器扩展_选择器 and 598 属性1
    扩展选择器:         1.选择所有元素:            语法:*{}         2.并集选择器:            选择器1,选择......
  • 595 CSS语法格式 and 596 CSS选择器_基础选择器
    CSS语法格式css语法:    格式:      选择器{         属性名1:属性值1;         属性名2:属性值2;         ...   ......
  • CSS选择器_基础选择器和扩展选择器
    5.选择器:筛选具有相似特征的元素 *分类: 1.基础选择器 1.id选择器:选择具体的id属性值的元素.建议在一个html页面中id值唯一 *语......
  • 选择器-基础选择器、扩展选择器、CSS属性
    选择器-基础选择器 <title>选择器</title><style>#div1{color:red;}#class1{color:gray;}......
  • 【Kubernetes】K8s笔记(十一):Ingress 集群进出流量总管
    目录0.Ingress解决了什么问题1.IngressController2.指定IngressClass使用多个IngressController3.使用YAML描述Ingress/IngressClass3.1Ingress3.2Ingr......
  • k8s基础篇 pod(五)资源清单详细解读
    apiVersion:v1#版本号,例如v1kind:Pod#资源类型,如Podmetadata:#元数据name:string#Pod名字namespace:string#Pod所属的命名空间......
  • k8s-node节点的安装3
    k8s-node节点的安装3环境:master节点:10.0.0.11node1节点:10.0.0.12node2节点:10.0.0.13接下来node1节点的安装node1节点安装的时候就自动把docker安装了,不要epel源,默......
  • 伪类选择器
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>伪类选择器</......
  • 安装pod网络插件flannel
    官网地址https://github.com/flannel-io/flannel/blob/master/Documentation/kube-flannel.yml感觉网络这块有点复杂,抠脑壳!!同一个节点上宿pod之间同通信不同节点上pod......