標籤與註解

最佳實務指南的這一部分討論了在圖表中使用標籤和註解的最佳實務。

它是標籤還是註解?

在以下情況下,中繼資料項目應為標籤

  • Kubernetes 使用它來識別此資源
  • 將其公開給操作員以便查詢系統很有用。

例如,我們建議使用 helm.sh/chart: NAME-VERSION 作為標籤,以便操作員可以方便地找到特定圖表的所有實例以供使用。

如果中繼資料項目不用於查詢,則應將其設置為註解。

Helm 掛鉤始終是註解。

標準標籤

下表定義了 Helm 圖表使用的常見標籤。Helm 本身從不要求存在特定標籤。標記為 REC 的標籤是推薦的,並且應該放置在圖表上以實現全局一致性。標記為 OPT 的是可選的。這些是慣用的或常用的,但操作上並不經常依賴它們。

名稱狀態描述
app.kubernetes.io/nameREC這應該是應用程式名稱,反映整個應用程式。通常使用 {{ template "name" . }} 來實現這一點。許多 Kubernetes 資訊清單都使用它,並且不是 Helm 特定的。
helm.sh/chartREC這應該是圖表名稱和版本:{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
app.kubernetes.io/managed-byREC這應該始終設置為 {{ .Release.Service }}。它用於查找由 Helm 管理的所有內容。
app.kubernetes.io/instanceREC這應該是 {{ .Release.Name }}。它有助於區分同一應用程式的不同實例。
app.kubernetes.io/versionOPT應用程式的版本,可以設置為 {{ .Chart.AppVersion }}
app.kubernetes.io/componentOPT這是一個常見的標籤,用於標記片段在應用程式中可能扮演的不同角色。例如,app.kubernetes.io/component: frontend
app.kubernetes.io/part-ofOPT當多個圖表或軟體片段一起使用以製作一個應用程式時。例如,應用程式軟體和資料庫以產生網站。這可以設置為支援的頂級應用程式。

您可以在 Kubernetes 文件 中找到更多關於 Kubernetes 標籤的資訊,這些標籤以 app.kubernetes.io 為前綴。