资源调度 —— Label 和 Selector:标签和选择器

一、Label 和 Selector

图片描述

一)标签(Label)

1、通过配置文件配置标签

在各类资源的 metadata.labels / spec.labels 中进行配置

apiVersion: v1
kind: Pod
metadata:
  name : nginx-po
  labels:
    type: app
    version: 1.0.0
  namespace: 'default'
spec:
  containers:

2、通过 kubectl 配置标签

a、临时创建 label
kubectl label po <资源名称> app=hello
b、修改已经存在的标签
kubectl label po <资源名称> app=hello2 --overwrite
c、查看 label
# selector 按照 label 单值查找节点
kubectl get po -A -l app=hello

# 查看所有节点的 labels
kubectl get po --show-labels

二)选择器(Selector)

1、配置文件

在各对象的配置 spec.selector 或其他可以写 selector 的属性中编写
例如:
spec:
  selector:
    matchLabels:
      app: nginx-deploy

2、kubectl

# 匹配单个值,查找 app=hello 的 pod
kubectl get po -A -l app=hello

# 匹配多个值
kubectl get po -A -l 'k8s-app in (metrics-server, kubernetes-dashboard)'
或 
# 查找 version!=1 and app=nginx 的 pod 信息
kubectl get po -l version!=1,app=nginx

# 不等值 + 语句
kubectl get po -A -l version!=1,'app in (busybox, nginx)'
posted @ 2023-10-12 23:47  yifanSJ  阅读(30)  评论(0编辑  收藏  举报