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...