8-3 Label-----小标签大作为

Label

部署已经改好的标签

3-lable/web-dev.yaml  项目

kubectl label node w1 disktype=ssd  # w1打标签
kubectl label node w1 group=dev

kubectl describe node w1 # 查看node打的标签非常重要,否则部署的时候找不到标签报错
kubectl apply -f web-dev.yaml # 部署之后用下面查看

根据标签过滤资源

kubectl get pods -l group=dev -n dev
kubectl get pods -l app=web-demo -n dev
kubectl get pods -l app=web-demo,group=dev -n dev
kubectl get pods -l 'group in (dev,test)' -n dev
kubectl get pods -l 'group notin (dev,test)' -n dev

kubectl get deploy -n dev
kubectl get deploy -n dev -o wide #查看selector

name: web-demo-new   上一节 部署项目 name: web-demo ,两个同时拥有 matchLabels:web-demo 用同一个域名访问怎样做区分呢?

kubectl apply -f web-dev.yaml
kubectl get pods -n dev    # 看到两项目名  web-demo  web-demo-new

访问

http://web-dev.tt.com/

 访问的时候两个项目来回轮询,这样比较奇怪。用下面条件做区分。

kubectl delete -f web-dev.yaml    # 删除之后,配置在重建部署

# 如果两个服务用相同kubectl apply -f web-dev.yaml 的域名,则配置条件区分 1
matchExpressions:
  - {key: group, operator: In, values: [dev, test, aaa]}

 label 选择上面定义的

labels:
  # 如果两个服务用相同的域名,则配置条件区分 2, 和上面同时用;   也可在上边配置就是公用的了。下边配置就下边单独使用。
  group: aaa      #  配置aaa,则不存在,则致访问以前向项目

Pod选择label

# 添加nodeSelector选项用来选择对应的node      
nodeSelector: # 可以选择 node selector , disktype: ssd # 磁盘类型

 kubectl apply -f web-dev.yaml 

end...

原文地址:https://www.cnblogs.com/edeny/p/14501121.html