您好,登錄后才能下訂單哦!
這篇文章主要講解了“什么是label”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“什么是label”吧!
Label其實就一對 key/value ,被關聯到對象上, label可以附加到各種資源對象上,如Node,Pod,Service,RC等。
一個資源擁有多個標簽,可以實現不同維度的管理。
Label可以在創建對象時就附加到對象上,也可以在對象創建后通過API進行額外添加或修改。
2.1 當相同類型的資源越來越多,對資源劃分管理是很有必要,此時就可以使用Label為資源對象 命名,以便于配置,部署等管理工作,提升資源的管理效率。label 作用類似Java包能對不同文件分開管理,讓整體更加有條理,有利于維護。
2.2 通過Label來對對象進行引用。
apiVersion: v1 kind: Namespace metadata: name: hubble-manager --- apiVersion: apps/v1 kind: Deployment metadata: name: hubble-biz-cm-pod # pod 名稱, 一個運營商一套 namespace: hubble-manager # namespace 名稱 spec: replicas: 2 # 指定要部署的個數 selector: matchLabels: app: hubble-biz-cm #rc管理pod的時候選擇包含app=hubble-biz-cm的標簽進行管理 template: # Pod的部署模板 metadata: labels: app: hubble-biz-cm # 為pod創建兩個標簽,分別是app,proj proj: hubble-manager spec: containers: - # 采集器組件 image: hubble-biz-cm:2.2.8-008 imagePullPolicy: Always name: hubble-biz-cm #給容器起名字,和標簽不是一個概念,名字相同只是為了便于識別應用 --- apiVersion: v1 kind: Service metadata: name: m-biz-cm namespace: hubble-manager annotations: service.loadbalancer-address-type: "private" # 內外網:public/private service.loadbalancer-provider: "" # 運營商信, 若為內網private則忽略 service.loadbalancer-project: "hubble" # 服務所屬的項目信息 spec: type: LoadBalancer # 必須指定為LoadBalancer ports: - name: m-biz-cm port: 9666 #對外暴露的端口 protocol: TCP # 通信協議: 可選TCP,UDP targetPort: 9666 # 轉發到的后端Pod的端口 selector: app: hubble-biz-cm # 指定轉發的Pod, 此處選擇標簽為以上定義的spec.template.metadata.labels中定義的app=hubble-biz-cm的Pod將作為QLB的后端服務器
1、給名為tomcat 的Pod添加label app=tomcat。
kubectl label pods tomcat app=tomcat
2、 把名為tomcat 的Pod修改label為app=tomcat1,且覆蓋現有的value
kubectl label --overwrite pods tomcat app=tomcat1
3、把 namespace 中的所有 pod 添加 label
kubectl label pods --all test=test
4、刪除名為“app”的label 。(使用“ - ”減號相連)
kubectl label pods tomcat app-
感謝各位的閱讀,以上就是“什么是label”的內容了,經過本文的學習后,相信大家對什么是label這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。