更新时间:2025-08-12 GMT+08:00

使用Secret

Secret是Kubernetes中一种加密存储的资源对象,您可以将认证信息、证书、私钥等保存在密钥中,在容器启动时以环境变量加载到容器中,或以文件方式挂载到容器中。

建议用户对上传的Secret进行加密处理。

创建Secret

  1. 登录云容器实例 CCI2.0控制台。
  2. 单击左侧导航栏的“配置中心”,进入配置中心页面。
  3. 选择“密钥(Secret)”,在配置中心页面中选择命名空间。
  4. 在左上角单击“YAML创建”,输入Secret的YAML定义内容,YAML定义可以参考yaml格式

    云容器实例支持JSON或YAML格式,且文件大小不得超过1MiB。

  5. 单击“确定”即可。

    Secret列表中会出现新创建的Secret。

Secret的使用

Secret创建完后,可以在创建容器组的过程中以存储卷的形式挂载到容器中。如下图所示,将名为aksk-secret的密钥挂载到容器中,存储卷名称为volume2。

图1 使用Secret

Secret文件格式说明

  • secret.yaml资源描述文件

    例如现在有一个应用需要获取下面的key-value并加密,可以通过Secret来实现:

    key1: value1

    key2: value2

    定义的Secret文件secret.yaml内容如下。其中Value需要进行Base64编码,Base64编码方法请参见如何进行Base64编码

    apiVersion: cci/v2
    kind: Secret
    metadata:
      name: mysecret           # secret的名称
    data:
      key1: dmFsdWUx    #需要用Base64编码
      key2: dmFsdWUy    #需要用Base64编码
    type: Opaque         # 必须为Opaque
  • secret.json资源描述文件
    定义的Secret文件secret.json内容如下。
    {
        "apiVersion": "cci/v2",
        "kind": "Secret",
        "metadata": { 
            "name": "mysecret"
        },
        "data": {
            "key1": "dmFsdWUx",
            "key2": "dmFsdWUy"
        },
        "type": "Opaque"
    }

如何进行Base64编码

对字符串进行Base64加密,可以直接使用“echo -n 要编码的内容 | base64”命令即可,示例如下:

root@ubuntu:~# echo -n "3306" | base64
MzMwNg==