日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

k8s标签Labels概念和操作详解

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 k8s标签Labels概念和操作详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

標簽(Labels),是附加到k8s對象上的鍵值對標識,支持高效的查找和監聽。作用就是字面意思,給k8s對象打上標簽,我們可以使用標簽來選擇對象。

和**注解(annotations)**的區別在于注解僅用于記錄一些元數據,不能用來做標識。不支持高效查找和監聽

為什么要有標簽

開發人員日常工作中肯定會用到類似id的概念,id就是用來唯一標識某個對象。標簽也是用來做標識,不過它可以從多個維度來標識,這就增加了通過標識來管理的靈活性。

k8s管理的對象往往是很靈活而不是有固定層次結構的,比如管理應用的發布,會涉及到環境env、版本release、區域region,還經常是交叉管理。用標簽的話,就可以直接查找到自己想要管理的對象。

標簽的語法

標簽鍵:

  • 一般情況下,鍵包括前綴和名稱,用/分隔
  • 前綴可以省略,省略則視為用戶私有標簽。
  • 指定前綴,前綴必須是DNS子域,
  • 名稱必須,不超過63個字符
  • k8s.io/和kubernetes.io/前綴是為k8s核心組件保留的

標簽值

  • 不超過63個字符,可以為空
  • 字母數字開頭和結尾
  • 可以包含 - _ . 字母 數字

其他

  • 每個對象都可以有多個標簽,但是同一對象每個標簽的鍵值必須是唯一的。
  • 不同對象間的標簽可以相同
標簽選擇運算符
=: 相等 ==: 相等 !=: 不相等,包括鍵不存在的情況 in: 在范圍之內 notin: 不在這個范圍之內,包含不存在這個標簽的對象 exists: # 示例 env! = test 獲取全部env的值不為 test 和不存在 env 標簽的對象
  • , (逗號)表示與的關系
  • 標簽選擇器為空,則選擇所有。為null,全部不選擇
使用示例

命令后加上-v=9可以查看詳細的請求

設置標簽

# 為命名空間test設置標簽env=test kubectl label ns test env=test

修改標簽

內部操作是先獲取全部label,再找到對應鍵的label,修改值,再使用設置標簽的接口

kubectl label --overwrite ns test env=production

刪除標簽

內部操作也是先獲取全部label,再將對應label置為null,再調用設置標簽請求

kubectl label ns test env- # {"metadata":{"labels":{"env":null}}}

查看命名空間標簽

kubectl describe ns test | grep "Labels" -A 10

根據標簽搜索資源對象

kubectl get pods -l environment=production,tier=frontend# 實際訪問接口 # api/v1/namespaces/default/pods?labelSelector=environment=production&tier=frontend kubectl get pods -l 'environment in (production, test),tier in (frontend)'

總結

以上是生活随笔為你收集整理的k8s标签Labels概念和操作详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。