跳至主要内容

Secrets

Secrets 儲存敏感資料,如密碼、令牌或金鑰。它們可能包含一個或多個鍵值對。

備註

此頁面是關於一般的 secrets。有關設定私有登錄檔的詳細資訊,請參閱登錄檔一節。

配置工作負載時,您可以選擇要包含哪些 secrets。與 config maps 一樣,secrets 可以由工作負載作為環境變數或磁碟區掛載引用。

掛載的 secrets 會自動更新,除非它們作為子路徑磁碟區掛載。有關更新的 secrets 如何傳播的詳細資訊,請參閱 Kubernetes 文件。

在命名空間中建立 Secrets​

  1. 在左上角,點擊 ☰ > Cluster Management。

  2. 前往您想要新增 secret 的叢集,然後點擊 Explore。

  3. 要導航到 secrets,您可以點擊 Storage > Secrets 或 More Resources > Core > Secrets。

  4. 選擇 Namespaced 標籤。

  5. 點擊 Create。

  6. 選擇您想要建立的 secret 類型。

  7. 為 secret 選擇 Namespace。

  8. 為 secret 輸入 Name。

    備註

    Kubernetes 將 secrets、憑證和登錄檔都歸類為 secrets,在命名空間中不能有兩個同名的 secrets。因此,為了避免衝突,您的 secret 在工作區內的所有 secrets 中必須具有唯一的名稱。

  9. 從 Data 中,點擊 Add 以新增鍵值對。根據需要新增任意數量的值。

    提示

    您可以透過複製和貼上將多個鍵值對新增到 secret。

  10. 點擊 Save。

結果: 您的 secret 已新增到您選擇的命名空間。您可以在 Rancher UI 中透過點擊 Storage > Secrets 或 More Resources > Core > Secrets 來查看 secret。

掛載的 secrets 會自動更新,除非它們作為子路徑磁碟區掛載。有關更新的 secrets 如何傳播的詳細資訊,請參閱 Kubernetes 文件。

在專案中建立 Secrets​

在專案範圍內建立 secret 時,secret 會被複製到專案內的所有命名空間中。

在 UI 中建立專案範圍的 Secret​

  1. 在左上角,點擊 ☰ > Cluster Management。

  2. 前往您想要新增 secret 的叢集,然後點擊 Explore。

  3. 要導航到 secrets,您可以點擊 Storage > Secrets 或 More Resources > Core > Secrets。

  4. 選擇 Project Scoped 標籤。

  5. 點擊 Create Project Scoped Secret。

  6. 選擇您想要建立的 secret 類型。

  7. 為 secret 選擇 Project。

  8. 為 secret 輸入 Name。

    備註

    Kubernetes 將 secrets、憑證和登錄檔都歸類為 secrets,在命名空間中不能有兩個同名的 secrets。如果您建立的專案範圍 secret 與專案命名空間之一中的現有 secret 同名,則現有 secret 將被覆寫。

  9. 從 Data 中,點擊 Add 以新增鍵值對。根據需要新增任意數量的值。

    提示

    您可以透過複製和貼上將多個鍵值對新增到 secret。

  10. 點擊 Save。

結果: 您的 secret 已新增到專案內的每個命名空間。您可以在 Rancher UI 中透過點擊 Storage > Secrets 或 More Resources > Core > Secrets 來查看 secret。

使用 kubectl 建立專案範圍的 Secret​

專案範圍的 secrets 透過在管理叢集上稱為「專案後備命名空間」的地方建立原始 secret 來工作。Rancher 將重要的專案相關資訊儲存在此命名空間中。您可以在專案 CRD 的 status.backingNamespace 欄位中找到它,或在管理叢集中執行 kubectl get projects -A。

為了讓 secret 被 Rancher 識別為專案範圍的 secret,它還需要標籤 management.cattle.io/project-scoped-secret: <projectID>。

範例 yaml:

apiVersion: v1
data:
key: ZG9n
kind: Secret
metadata:
labels:
management.cattle.io/project-scoped-secret: p-vwxyz
name: test-secret
namespace: c-abc123-p-vwxyz
type: Opaque

在上面的 YAML 中,命名空間是專案 p-vwxyz 的後備命名空間,專案範圍的 secret 標籤引用 projectID。應用到管理叢集時,專案 p-vwxyz 內的所有命名空間都包含 test-secret 的副本。

下一步?​

現在您已經將 secret 新增到命名空間,您可以將其新增到您部署的工作負載。

有關將 secret 新增到工作負載的更多資訊,請參閱部署工作負載。