密鑰(Secret)是一種用于存儲工作負載所需要認證信息、密鑰的敏感信息等的資源類型,內容由用戶決定。資源創建完成后,可在容器工作負載中作為文件或者環境變量使用。
已創建集群和節點資源,具體操作請參見購買混合集群。若已有集群和節點資源,無需重復操作。
步驟 1 登錄CCE控制臺,在左側導航欄中選擇“配置中心 > 密鑰(Secret)”,單擊“添加密鑰”。
步驟 2 您可以直接創建密鑰或基于YAML來創建。若希望通過YAML創建,請跳轉至步驟4。
步驟 3 方式一:直接創建密鑰。
參照下表設置基本信息。
表-密鑰基本信息說明
參數 | 參數說明 |
密鑰名稱 | 新建的密鑰的名稱,同一個命名空間內命名必須唯一。 |
所屬集群 | 使用新建密鑰的集群。 |
集群命名空間 | 新建密鑰所在的命名空間,默認為default。 |
描述 | 密鑰的描述信息。 |
密鑰類型 | 新建的密鑰類型。
|
密鑰數據 | 工作負載密鑰的數據可以在容器中使用。
1. 單擊“添加更多密鑰數據” 。 2. 輸入鍵、值。其中“值”必須使用Base64編碼,Base64編碼方法請參見如何進行Base64編碼。
說明 1、證書是自簽名或CA簽名過的憑據,用來進行身份認證。 2、證書請求是對簽名的請求,需要使用私鑰進行簽名。 |
密鑰標簽 | 標簽以Key/value鍵值對的形式附加到各種對象上(如工作負載、節點、服務等)。 標簽定義了這些對象的可識別屬性,用來對它們進行管理和選擇。 1. 單擊“添加標簽” 。 2. 輸入鍵、值。 |
步驟 4 方式二:基于YAML文件創建密鑰。
說明:若需要通過上傳文件的方式創建資源,請確保資源描述文件已創建。CCE支持json或yaml格式,詳細請參見Secret資源文件配置說明。
您可以導入或直接編寫文件內容,格式為YAML或JSON。
- 方式一:導入編排文件。
單擊“添加文件”,導入格式為YAML或JSON的文件。編排內容中可直接展示編排內容。
- 方式二:直接編排內容。
在編排內容區域框中,輸入YAML或JSON文件內容。
步驟 5 配置完成后,單擊“創建”。
密鑰列表中會出現新創建的密鑰。
本章節主要介紹Secret類型的資源描述文件的配置示例。
例如現在有一個工作負載需要獲取帳號密碼,可以通過Secret來實現:
- yaml文件格式
定義的Secret文件secret.yaml內容如下。其中Value需要用Base64,Base64編碼方法請參見如何進行Base64編碼。
apiVersion: v1
kind: Secret
metadata:
name: mysecret # secret的名稱
namespace: default #命名空間,默認為default
data:
username: my-username #用戶名
password: ****** #需要用Base64編碼
type: Opaque # type建議不要做修改
- json文件格式
定義的Secret文件secret.json內容如下。
{
"apiVersion": "v1",
"kind": "Secret",
"metadata": {
"name": "mysecret",
"namespace": "default"
},
"data": {
"username": "my-username",
"password": "******"
},
"type": "Opaque"
}
步驟 1 請參見通過kubectl操作CCE集群配置kubectl命令。
步驟 2 通過Base64編碼,創建并編輯cce-secrets.yaml文件。
# echo -n "待編碼內容" | base64
******
vi cce-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: admin
password: ******
步驟 3 創建密鑰。
kubectl create -f cce-secret.yaml
創建完成后可以查詢到密鑰。
kubectl get secret
密鑰創建完成后,您還可以執行下表中的操作。
說明:密鑰列表中包含系統密鑰資源,系統密鑰資源不可更新,也不能刪除,只能查看。
操作 | 說明 |
查看YAML | 單擊密鑰名稱后的“查看YAML”,可查看到當前密鑰的YAML文件。 |
更新密鑰 | 1. 選擇需要更新的密鑰名稱,單擊“更新”。 2. 更改密鑰的信息。 3. 單擊“更新”。 |
刪除密鑰 | 選擇要刪除的密鑰,單擊“刪除”。 根據系統提示刪除密鑰。 |
批量刪除密鑰 | 1. 勾選需要刪除的密鑰名稱。 2. 單擊頁面左上角的“刪除”,刪除選中的密鑰。 3. 根據系統提示刪除密鑰。 |
對字符串進行Base64加密,可以直接使用“echo -n 要編碼的內容 | base64”命令即可,示例如下:
root@ubuntu:~# echo -n "待編碼內容" | base64
******