更新时间:2023-08-30 GMT+08:00

密钥(Secret)

密钥Secret)是一种用于存储工作负载所需要认证信息、密钥的敏感信息等的资源类型,内容由用户决定。

  • 通过UCS控制台创建密钥后,密钥将默认处于“未部署”状态,需要在创建或更新工作负载时进行挂载,请参见密钥挂载
  • 当密钥被挂载至工作负载后,每个关联工作负载的所属集群中都会创建一个同名的密钥。

创建密钥

  1. 登录UCS控制台,在左侧导航栏中选择“容器舰队”
  2. “容器舰队”页签下找到已开通集群联邦的舰队,单击名称进入详情页。
  3. 在左侧导航栏中选择“配置项与密钥”,切换至“密钥”页签。
  4. 选择需要创建密钥的命名空间,并单击右上角“创建密钥”。
  5. 参照表1设置基本信息。

    表1 基本信息说明

    参数

    参数说明

    名称

    新建的密钥的名称,同一个命名空间内命名必须唯一。

    命名空间

    新建密钥所在的命名空间,默认为当前查看的命名空间。

    描述

    新建密钥的描述。

    密钥类型

    新建的密钥类型。

    • Opaque:一般密钥类型。在高敏感场景下,建议先通过数据加密服务加密敏感数据后,再存入Secret中。
    • kubernetes.io/dockerconfigjson:存放拉取私有仓库镜像所需的认证信息。如选择此类型的密钥,需要额外输入镜像仓库地址。
    • IngressTLS:存放7层负载均衡服务所需的证书。如选择此类型的密钥,需要上传证书文件及私钥文件。
    • 其他:若需要创建其他类型的密钥,请手动输入密钥类型。

    密钥数据

    工作负载密钥的数据可以在容器中使用。

    • 当密钥为Opaque类型时:输入键、值。其中“值”必须使用Base64编码,勾选“自动Base64编码”即可自动将输入的值转换为Base64编码。手动进行Base64编码的方法请参见如何进行Base64编码
    • 当密钥为dockerconfigjson类型时:输入私有镜像仓库的用户名和密码。

    标签

    标签以Key/value键值对的形式附加到各种对象上(如工作负载、节点、服务等)。

    标签定义了这些对象的可识别属性,用来对它们进行管理和选择。

    1. 单击“添加” 。
    2. 输入键、值。

  6. 配置完成后,单击“确认”。

    密钥列表中会出现新创建的密钥。

使用密钥

密钥创建后,您可以在创建工作负载时设置容器存储,将密钥挂载到容器中,然后在容器中挂载路径下就可以读取到密钥的内容,操作步骤请参见密钥挂载

如何进行Base64编码

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

echo -n "待编码内容" | base64

相关操作

通过UCS控制台,您还可以执行表2中的操作。
表2 相关操作

操作

说明

YAML创建

单击右上角“YAML创建”,可使用已有的YAML创建密钥。

查看详情

单击配置项名称即可查看密钥数据详情。

编辑YAML

单击密钥名称后的“编辑YAML”,可查看到当前密钥的YAML文件。

更新

  1. 单击密钥名称后的“更新”
  2. 根据表1更改信息。
  3. 单击“确认”提交已修改的信息。

删除

单击密钥名称后的“删除”,并单击“是”进行确认。

批量删除

  1. 勾选需要删除的密钥。
  2. 单击左上角的“批量删除”
  3. 单击“是”进行确认。