示例:

1、定义YAML

$ cat > nodeselector.yaml <<EOF

apiVersion: v1
kind: Pod
metadata:
  name: nginx-ssd
spec:
  containers:
  - name: nginx-ssd
    image: nginx:1.23.2
    imagePullPolicy: IfNotPresent
    ports:
    - containerPort: 80
  nodeSelector:
    disktype: ssd
EOF

2、应用YAML

$ k apply -f nodeselector.yaml

3、给k8s-master01节点打上disktype=ssd标签

$ k label node k8s-master01 disktype=ssd

4、查看Node label

$ k get node --show-labels | grep disktype
k8s-master01   Ready    <none>   205d   v1.23.17   alpine=true,beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,disktype=ssd,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master01,kubernetes.io/os=linux,node.kubernetes.io/node=

5、查看Pod信息

$ k describe po nginx-ssd | grep -i node
Node:         k8s-master01/192.168.1.31
Node-Selectors:              disktype=ssd
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s

6、恢复

$ k delete -f nodeselector.yaml