簡體   English   中英

docker 標簽和 kube.netes 標簽之間的區別?

[英]Difference between docker labels and kubernetes labels?

我看到帶有命令“docker inspect”的標簽比“kubectl describe”或“kubectl get pods --show-labels”中顯示的 kube.netes 標簽多得多。 是否可以使用 kubectl 命令查看所有相同的 docker 標簽,或者這是不可能的,因為 docker 標簽與 kube.netes 中的 pod 標簽無關?

兩個標簽都只包含鍵值對。

在 Kube.netes 中,標簽附加到對象,例如 pod。 標簽旨在用於指定對用戶有意義且相關的對象的標識屬性,但不直接暗示核心系統的語義。 標簽可用於組織對象的 select 個子集。 因此,例如,如果您 label 部署具有在特定節點上安排 pod 的規則,則可以使用它。 或者說,例如,如果 pod 可以從具有 label XYZ 的一項特定服務獲得入口流量,則使用標簽完成。 您可以通過多種方式使用它。

另一方面,Docker 支持將標簽添加到圖像中,作為添加自定義元數據的一種方式。 所以在 Dockerfile 你提到它是:

LABEL <key>=<value> <key>=<value> <key>=<value>

它將數據存儲為:

LABEL multi.label1="value1" \
      multi.label2="value2" \
      other="value3"

您可以將其檢查為:

docker inspect \
       --format "{{ index .Config.Labels \"multi.label2\"}}"
       <your image>

根據 docker 文檔指南: https://docs.docker.com/config/labels-custom-metadata/

鏈接http://label-schema.org/rc1/對於標簽也很有用。 構建時間標簽在此處定義明確:

http://label-schema.org/rc1/#build-time-labels

我認為訪問 docker 的 label 是不可行的,因為它沒有通過 Kube.netes API 公開。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM