Kubenetes:标签
1)创建带有标签的pod,编辑gwp-manual-with-labels.yaml
apiVersion: v1kind: Pod
metadata:
name: gwp-manual-v2
labels:
creation_method: manual
env: prod
spec:
containers:
- image: registry.cn-hangzhou.aliyuncs.com/rogueq/gwp:v1
name: gwp
ports:
- containerPort: 8080
protocol: TCP
2)创建该pod
kubectl create -f gwp-manual-with-labels.yaml
3)查看pod标签
kubectl get pod --show-labels
4)使用-L选项分别显示标签
kubectl get pod -L creation_method,env
5)修改现有pod标签
kubectl label pod gwp-manual creation_method=manual
6)更新现有标签,需要使用--overwrite选项
kubectl label pod gwp-manual-v2 env=debug --overwrite
7)使用标签选择器列出pod
a.列出creation_method=manual的pod
kubectl get pod -l creation_method=manual
b.列出包含env标签的pod
kubectl get pod -l env
c.列出没有env标签的pod
kubectl get pod -l "!env"
d.列出creation_method!=manual的pod
kubectl get pod -l creation_method!=manual
e.列出带有env且值为prod和devel的pod
kubectl get pod -l "env in (prod,devel)"
f.列出带有env且值不为prod和devel的pod
kubectl get pod -l "env notin (prod,devel)"
d.使用多个标签选择器选择pod,用逗号分隔
kubectl get pod -l "env notin (prod,devel)",creation_method!=manual
8)给工作节点添加标签
kubectl label node minikube gpu=true
查看节点标签
kubectl get node --show-labels
9)使用标签选择器将pod调度到特定节点
编辑gwp-gpu.yaml,在spec部分添加nodeSelector字段,并将gpu设置为false
apiVersion: v1kind: Pod
metadata:
name: gwp-gpu
spec:
nodeSelector:
gpu: "false"
containers:
- image: registry.cn-hangzhou.aliyuncs.com/rogueq/gwp:v1
name: gwp
ports:
- containerPort: 8080
protocol: TCP
创建pod
kubectl create -f gwp-gpu.yaml
查看pod,一直处于Pending状态,因为只有一个节点且gpu标签时true,所以无法调度
删除gwp-gpu,将yaml中的gpu字段设置为true,再创建pod,查看pod状态,pod正常调度
以上是 Kubenetes:标签 的全部内容, 来源链接: utcz.com/z/511446.html