管理密钥
密钥(Secret)是一种用于存储应用认证信息、应用密钥等敏感信息的资源,内容由用户决定。密钥创建完成后,可在应用中作为文件或者环境变量使用。
本章节指导您为Kubernetes类型环境绑定的CCE集群创建密钥、查看、更新和删除密钥。
创建密钥
- 登录ServiceStage控制台。
- 在“环境管理”页面,单击待操作环境名称。
- 在“资源”下左侧列表,选择“计算”资源类型下的资源名称“云容器引擎 CCE”。
- 选择“密钥”页签,单击“创建密钥”。
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 可视化方式设置密钥参数
- 方式二:YAML。
若需要通过上传文件的方式创建密钥,请确保已创建YAML格式的Secret资源文件,且文件小于1MB。详情请参考Secret资源文件配置说明。
- 在“所属集群”下拉框中,选择相应的集群。
- 选择以下任一方式设置ConfigMap资源文件。
- 单击“上传文件”,选择已创建的Secret资源文件后,单击“打开”,等待文件上传完成。
- 在“编排内容”中写作或者修改上传的Secret资源文件。
图2 YAML方式设置密钥参数
- 方式一:可视化。参照表1设置参数,其中带“*”标志的参数为必填参数。
- 单击“创建密钥”。
密钥列表中会出现新创建的密钥。
后续操作
密钥创建完成后,您可参考表2查找、查看、更新和删除密钥。
- 删除操作无法恢复,请谨慎操作。
- 密钥列表中包含系统密钥资源,系统密钥资源不可更新和删除,只能查看。
操作项 |
操作说明 |
---|---|
查找密钥 |
|
查看密钥 |
单击目标密钥“操作”列的“查看YAML”,查看配置项YAML格式文件内容。 |
更新密钥 |
|
删除单个密钥 |
|
批量删除密钥 |
|
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建议不要做修改