更新时间:2024-11-13 GMT+08:00

管理密钥

密钥(Secret)是一种用于存储应用认证信息、应用密钥等敏感信息的资源,内容由用户决定。密钥创建完成后,可在应用中作为文件或者环境变量使用。

本章节指导您为Kubernetes类型环境绑定的CCE集群创建密钥查看、更新和删除密钥

前提条件

  1. 环境已绑定CCE集群,请参考绑定CCE集群
  2. 已创建密钥所在命名空间,请参考创建命名空间

创建密钥

  1. 登录ServiceStage控制台。
  2. “环境管理”页面,单击待操作环境名称。
  3. “资源”下左侧列表,选择“计算”资源类型下的资源名称“云容器引擎 CCE”
  4. 选择“密钥”页签,单击“创建密钥”

    ServiceStage支持“可视化”和“YAML”两种方式来创建密钥。
    • 方式一:可视化。参照表1设置参数,其中带“*”标志的参数为必填参数。
      表1 可视化方式创建密钥参数设置说明

      参数

      参数说明

      *密钥名称

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

      长度为4到24个字符,可以包含英文小写字母、数字或中划线(-),以英文小写字母开头、英文小写字母或者数字结尾。

      *所属集群

      使用新建密钥的集群。

      单击“创建集群”,可以新建CCE集群。创建CCE集群,请参考购买集群。您可以根据您的实际业务需要选择创建CCE Turbo集群或者CCE Standard集群。

      *命名空间

      新建密钥所在的命名空间。

      单击“创建命名空间”,可以参考创建命名空间为密钥创建新的所属命名空间。

      描述

      密钥的描述信息,长度为0到255个字符。

      *密钥类型

      根据业务需要选择新建的密钥类型。

      • Opaque:一般密钥类型。当密钥配置文件中未作显式设定时,默认的密钥类型是Opaque。
      • kubernetes.io/dockerconfigjson:存放拉取私有仓库镜像所需的认证信息。
      • IngressTLS:存放7层负载均衡服务所需的证书。
      • 其他:若需要创建其他类型的密钥,请手动输入密钥类型,长度为4到24个字符。

      *镜像仓库地址

      当“密钥类型”选择kubernetes.io/dockerconfigjson时有效,输入镜像仓库的地址。

      *密钥数据

      应用密钥的文件data字段值。

      • 当密钥为Opaque类型时,输入“键”、“值”。

        密钥数据的键必须由数字、字母、点号(.)、中划线(-)或下划线(_)组成,长度为1到63个字符。

        密钥数据的值必须为使用Base64编码后的长度为1到1,048,576位的字符,Base64编码方法请参考Base64编码

        单击“添加更多配置数据”,可以增加密钥数据。

      • 当密钥为kubernetes.io/dockerconfigjson类型时,输入“用户名”和“密码”。
      • 当密钥为IngressTLS类型时,单击“上传文件”,上传“证书文件”和“私钥文件”。

        证书文件小于1MB,格式为.crt或.cer。私钥文件小于1MB,格式为.key或.pem。

      • 当密钥为其他类型时,输入对应的“键”、“值”。

        密钥数据的键必须由数字、字母、点号(.)、中划线(-)或下划线(_)组成,长度为1到63个字符。

        密钥数据的值必须为使用Base64编码后的长度为1到1,048,576位的字符,Base64编码方法请参考Base64编码

        单击“添加更多配置数据”,可以增加密钥数据。

      密钥标签

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

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

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

        标签的键由数字、字母、点号(.)、中划线(-)、下划线(_)或斜杠(/)组成,必须以字母或者数字开头和结尾,长度为1到63个字符。

        标签的值由数字、字母、点号(.)、中划线(-)或下划线(_)组成,必须以字母或者数字开头和结尾,长度为1到63个字符。

      图1 可视化方式设置密钥参数
    • 方式二:YAML。

      若需要通过上传文件的方式创建密钥,请确保已创建YAML格式的Secret资源文件,且文件小于1MB。详情请参考Secret资源文件配置说明

      1. 在“所属集群”下拉框中,选择相应的集群。
      2. 选择以下任一方式设置ConfigMap资源文件。
        • 单击“上传文件”,选择已创建的Secret资源文件后,单击“打开”,等待文件上传完成。
        • 在“编排内容”中写作或者修改上传的Secret资源文件。
      图2 YAML方式设置密钥参数

  5. 单击“创建密钥”。

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

后续操作

密钥创建完成后,您可参考表2查找、查看、更新和删除密钥。

  • 删除操作无法恢复,请谨慎操作。
  • 密钥列表中包含系统密钥资源,系统密钥资源不可更新和删除,只能查看。
表2 密钥管理操作说明

操作项

操作说明

查找密钥

  1. 在命名空间下拉列表选择密钥所在命名空间。
  2. 在搜索框输入密钥名称。

查看密钥

单击目标密钥“操作”列的“查看YAML”,查看配置项YAML格式文件内容。

更新密钥

  1. 单击目标密钥“操作”列的“更新”。
  2. 根据表1更改信息。
  3. 单击“更新密钥”。

删除单个密钥

  1. 单击目标密钥“操作”列的“删除”。
  2. 在弹出的对话框,单击“确定”

批量删除密钥

  1. 勾选需要删除的密钥。
  2. 单击“删除密钥”。
  3. 在弹出的对话框,单击“确定”

Secret资源文件配置说明

本内容主要介绍Secret类型的资源描述文件的配置示例。例如现在有一个应用需要获取账号密码,可以通过Secret来实现:

username: my-username
password: my-password

定义的Secret文件内容如下。其中值需要用Base64进行编码,Base64编码方法请参考Base64编码

apiVersion: v1
kind: Secret
metadata:
  name: mysecret           # secret的名称
  namespace: default       #命名空间,默认为default
data:
  username: ******    #username的值需要用Base64编码
  password: ******  #password的值需要用Base64编码
type: Opaque     # type建议不要做修改

Base64编码

对字符串进行Base64加密,可以在本地Linux环境下,直接使用echo -n '编码内容' | base64命令即可。示例如下:

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

其中:

  • 3306为要编码的内容。
  • MzMwNg==为编码后的内容。