溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

什么是label

發(fā)布時(shí)間:2021-10-09 15:56:39 來(lái)源:億速云 閱讀:366 作者:iii 欄目:編程語(yǔ)言

這篇文章主要講解了“什么是label”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“什么是label”吧!

一、介紹

Label其實(shí)就一對(duì) key/value ,被關(guān)聯(lián)到對(duì)象上, label可以附加到各種資源對(duì)象上,如Node,Pod,Service,RC等。

一個(gè)資源擁有多個(gè)標(biāo)簽,可以實(shí)現(xiàn)不同維度的管理。

Label可以在創(chuàng)建對(duì)象時(shí)就附加到對(duì)象上,也可以在對(duì)象創(chuàng)建后通過(guò)API進(jìn)行額外添加或修改。

二、 使用Label原因

2.1 當(dāng)相同類(lèi)型的資源越來(lái)越多,對(duì)資源劃分管理是很有必要,此時(shí)就可以使用Label為資源對(duì)象 命名,以便于配置,部署等管理工作,提升資源的管理效率。label 作用類(lèi)似Java包能對(duì)不同文件分開(kāi)管理,讓整體更加有條理,有利于維護(hù)。

2.2 通過(guò)Label來(lái)對(duì)對(duì)象進(jìn)行引用。

三、創(chuàng)建對(duì)象時(shí)附加label到對(duì)象上

apiVersion: v1
kind: Namespace
metadata:
  name: hubble-manager

---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: hubble-biz-cm-pod # pod 名稱(chēng), 一個(gè)運(yùn)營(yíng)商一套
  namespace: hubble-manager # namespace 名稱(chēng)
spec:
  replicas: 2 # 指定要部署的個(gè)數(shù)
  selector:
    matchLabels:
      app: hubble-biz-cm #rc管理pod的時(shí)候選擇包含app=hubble-biz-cm的標(biāo)簽進(jìn)行管理
  template: # Pod的部署模板
    metadata:
      labels:
        app: hubble-biz-cm # 為pod創(chuàng)建兩個(gè)標(biāo)簽,分別是app,proj
        proj: hubble-manager
    spec:
      containers:
        - # 采集器組件
          image: hubble-biz-cm:2.2.8-008
          imagePullPolicy: Always
          name: hubble-biz-cm #給容器起名字,和標(biāo)簽不是一個(gè)概念,名字相同只是為了便于識(shí)別應(yīng)用
---
apiVersion: v1
kind: Service
metadata:
  name: m-biz-cm
  namespace: hubble-manager
  annotations:
    service.loadbalancer-address-type: "private" # 內(nèi)外網(wǎng):public/private
    service.loadbalancer-provider: "" # 運(yùn)營(yíng)商信, 若為內(nèi)網(wǎng)private則忽略
    service.loadbalancer-project: "hubble" # 服務(wù)所屬的項(xiàng)目信息
spec:
  type: LoadBalancer # 必須指定為L(zhǎng)oadBalancer
  ports:
    - name: m-biz-cm
      port: 9666 #對(duì)外暴露的端口
      protocol: TCP # 通信協(xié)議: 可選TCP,UDP
      targetPort: 9666 # 轉(zhuǎn)發(fā)到的后端Pod的端口
  selector:
    app: hubble-biz-cm # 指定轉(zhuǎn)發(fā)的Pod, 此處選擇標(biāo)簽為以上定義的spec.template.metadata.labels中定義的app=hubble-biz-cm的Pod將作為QLB的后端服務(wù)器

四、標(biāo)簽相關(guān)命令使用

1、給名為tomcat 的Pod添加label app=tomcat。

        kubectl label pods tomcat  app=tomcat

2、 把名為tomcat 的Pod修改label為app=tomcat1,且覆蓋現(xiàn)有的value

        kubectl label --overwrite pods tomcat app=tomcat1

3、把 namespace 中的所有 pod 添加 label

        kubectl label pods --all test=test

4、刪除名為“app”的label 。(使用“ - ”減號(hào)相連)

        kubectl label pods tomcat app-

感謝各位的閱讀,以上就是“什么是label”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)什么是label這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI