全部產品
Search
文件中心

Container Compute Service:在容器組中使用保密字典

更新時間:Sep 17, 2025

在工作負載串連後端資料庫服務、對用戶端請求進行安全驗證等業務情境中,可能需要儲存一些敏感的配置資訊,如使用者名稱、密碼和認證等。建議通過阿里雲容器計算服務ACS叢集的保密字典(Secret)來管理這些敏感資訊,避免資訊泄露。本文介紹如何在ACS控制台建立保密字典,以及如何通過資料卷和環境變數的方式使用保密字典。

前提條件

建立保密字典

通過本樣本建立保密字典secret-test。

  1. 登入容器計算服務控制台,在左側導覽列選擇叢集列表

  2. 集群列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇工作负载 > 无状态

  3. 無狀態頁面中,單擊使用YAML建立資源

  4. 選擇樣本模板或自訂,複製YAML內容,然後單擊建立

    可使用如下YAML樣本模板建立保密字典。

    apiVersion: v1
    kind: Secret
    metadata:
      name: secret-test
    type: Opaque
    data:
      username: YWRtaW4=  #明文為admin,需要用Base64編碼。  
      password: MTIzNDU=  #明文為12345,需要用Base64編碼。

也可通過ACS控制台介面建立保密字典,請參見建立保密字典

通過資料卷的方式使用保密字典

kubectl方式

保密字典可以在Pod中作為檔案使用。如樣本所示,secret-test保密字典的usernamepassword以檔案方式儲存在/srt目錄下。

  1. 建立並複製以下內容到example0.yaml中。

    apiVersion: v1
    kind: Pod
    metadata:
      name: pod0
    spec:
      containers:
      - name: redis
        image: redis
        volumeMounts:
        - name: srt
          mountPath: "/srt"
          readOnly: true
      volumes:
      - name: srt
        secret:
          secretName: secret-test
  2. 建立Pod。

    kubectl apply -f example0.yaml
  3. 驗證保密字典是否掛載成功。

    kubectl describe pod pod0 | grep -A 4 Volumes

    預期輸出:

    Volumes:
      srt:
        Type:        Secret (a volume populated by a Secret)
        SecretName:  secret-test
        Optional:    false

控制台方式

  1. 登入容器計算服務控制台,在左側導覽列選擇叢集列表

  2. 集群列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇工作负载 > 无状态

  3. 無狀態頁面,單擊使用鏡像建立

    說明

    詳細配置說明,請參見建立無狀態工作負載Deployment

  4. 應用基本資料頁簽中,按需進行相應配置,然後單擊下一步

  5. 容器配置頁簽,在資料卷地區,單擊增加本機存放區儲存卷類型保密字典掛載源建立保密字典建立好的密鑰,容器路徑為在容器中訪問的路徑。配置好相應資訊後,單擊下一步

    本例中,配置樣本如下所示。

    配置資料卷

  6. 進階配置頁簽中,進行相應配置,然後單擊建立

通過環境變數的方式使用保密字典

以下兩種配置方法可任選其一進行配置。

kubectl方式

本樣本將會把secret-test保密字典中的usernamepassword設定為Pod的環境變數。

  1. 建立並複製以下內容到example1.yaml中。

    apiVersion: v1
    kind: Pod
    metadata:
      name: pod1
    spec:
      containers:
      - name: redis
        image: redis
        env:
          - name: USERNAME
            valueFrom:
              secretKeyRef:
                name: secret-test
                key: username
          - name: PASSWORD
            valueFrom:
              secretKeyRef:
                name: secret-test
                key: password
  2. 建立Pod。

    kubectl apply -f example1.yaml
  3. 驗證環境變數是否配置成功。

    kubectl describe pod pod1 | grep -A 2 Environment

    預期輸出:

        Environment:
          USERNAME:                 <set to the key 'username' in secret 'secret-test'>  Optional: false
          PASSWORD:                 <set to the key 'password' in secret 'secret-test'>  Optional: false

控制台方式

  1. 登入容器計算服務控制台,在左側導覽列選擇叢集列表

  2. 集群列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇工作负载 > 无状态

  3. 無狀態頁面中,單擊使用鏡像建立

    說明

    詳細說明,請參見建立無狀態工作負載Deployment

  4. 應用基本資料頁簽中,按需進行相應配置,然後單擊下一步

  5. 容器配置頁簽,在環境變數地區,單擊新增類型保密字典變數/變數引用建立保密字典中建立好的密鑰,再分別選擇要引用的Key並輸入變數名稱。