生活随笔
收集整理的這篇文章主要介紹了
k8s标签
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
https://www.cnblogs.com/chuangcc/p/10616462.html
kubectl get pods --show-labels #查看pod所有標簽信息
kubectl get pods -l app #過濾包含app的標簽
kubectl get pods -L app #過濾包含app的標簽及顯示值
kubectl label pods pod-demo release=canary #給pod-demo增加標簽
kubectl label pods pod-demo release=stable --overwrite #修改標簽
標簽組成
key=value
key:只能使用 字母 數字 _ - . (只能以字母數字開頭,不能超過63給字符)
value: 可以為空 只能使用 字母 數字開頭
標簽選擇器
給資源打上標簽后,可以使用標簽選擇器過濾指定的標簽
標簽選擇器目前有兩個:基于等值關系和基于集合關系
等值關系操作符:=, == , !=
#使用格式
kubectl get pods -l run=myapp
kubectl get pods -l run=myapp --show-labels
kubectl get pods -l run!=client --show-labels
集合關系的操作符:in,notin,exists
#使用格式
kubectl get pods -l "run in (client,myapp,alpha)" --show-labels #三個值有一個匹配上都可以
kubectl get pods -l "run notin (client,myapp,alpha)" --show-labels
kubectl get node --show-labels
另外許多資源支持內嵌字段
matchLabels: 直接給定建值
matchExpressions: 基于給定的表達式來定義使用標簽選擇器,{key:“KEY”,operator:“OPERATOR”,values:[V1,V2,…]}
操作符: in notin:Values字段的值必須是非空列表 Exists NotExists: Values字段的值必須是空列表
實例:
kube-dashboard 在node01上啟動
apiVersion: extensions/v1beta1
kind: Deployment
metadata:name: kubernetes-dashboardnamespace: kube-systemlabels:k8s-app: kubernetes-dashboardkubernetes.io/cluster-service: "true"addonmanager.kubernetes.io/mode: Reconcile
spec:selector:matchLabels:k8s-app: kubernetes-dashboardtemplate:metadata:labels:k8s-app: kubernetes-dashboardannotations:scheduler.alpha.kubernetes.io/critical-pod: ''spec:serviceAccountName: kubernetes-dashboardcontainers:- name: kubernetes-dashboardimage: docker.io/mritd/kubernetes-dashboard-amd64 resources: limits:cpu: 100mmemory: 300Mirequests:cpu: 100mmemory: 100Miports:- containerPort: 9090livenessProbe:httpGet:path: /port: 9090initialDelaySeconds: 30timeoutSeconds: 30tolerations:- key: "CriticalAddonsOnly"operator: "Exists"nodeSelector: ##新增kubernetes.io/hostname: node01 ##新增
總結
以上是生活随笔為你收集整理的k8s标签的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。