创建密钥
密钥(Secret)是一种用于存储应用认证信息、应用密钥等敏感信息的资源,内容由用户决定。密钥创建完成后,可在应用中作为文件或者环境变量使用。
创建密钥
- 登录ServiceStage控制台,选择“应用管理 > 应用配置 > 密钥”。
- 单击“创建密钥”。
- ServiceStage支持“可视化”和“YAML”两种方式来创建密钥。
- 方式一:可视化。参照下表设置基本信息,其中带“*”标志的参数为必填参数。
表1 基本信息说明 参数
参数说明
*密钥名称
新建的密钥的名称,同一个命名空间内命名必须唯一。
*所在集群
使用新建密钥的集群。
单击“创建集群”,可以新建集群。
*命名空间
新建密钥所在的命名空间,默认为default。
描述
密钥的描述信息。
单击“创建命名空间”,可以新建命名空间。
*密钥类型
根据业务需要选择新建的密钥类型。
- Opaque:一般密钥类型。当密钥配置文件中未作显式设定时,默认的密钥类型是Opaque。
- kubernetes.io/dockerconfigjson:存放拉取私有仓库镜像所需的认证信息。
- IngressTLS:存放7层负载均衡服务所需的证书。
- 其他:若需要创建其他类型的密钥,请手动输入密钥类型。
*镜像仓库地址
当“密钥类型”选择kubernetes.io/dockerconfigjson时有效。输入镜像仓库的地址。
*密钥数据
应用密钥的文件data字段值。
- 当密钥为Opaque类型时,输入键、值。其中“值”必须使用Base64编码,Base64编码方法请参考Base64编码。
单击“添加更多密钥数据”,可以增加密钥数据 。
- 当密钥为kubernetes.io/dockerconfigjson类型时,输入“镜像仓库地址”、“用户名”和“密码”。
- 当密钥为IngressTLS类型时,上传“证书文件”和“私钥文件”。
- 当密钥为其他类型时,输入“密钥类型”及对应的“键”、“值”。
密钥标签
标签以Key/value键值对的形式附加到各种对象上(如应用、节点、服务等)。
标签定义了这些对象的可识别属性,用来对它们进行管理和选择。
- 单击“添加标签” 。
- 输入键、值。
- 方式二:YAML。
若需要通过上传文件的方式创建资源,请确保资源描述文件已创建。ServiceStage支持yaml格式,详情请参考Secret资源文件配置说明。
- 在“所在集群”下拉框中,选择相应的集群。
- (可选)单击“上传文件”,选择已创建的Secret类型资源文件后,单击“打开”。
- 在“编排内容”中写作或者修改上传的Secret资源文件。
- 方式一:可视化。参照下表设置基本信息,其中带“*”标志的参数为必填参数。
- 配置完成后,单击“创建”。
密钥列表中会出现新创建的密钥。
Secret资源文件配置说明
本内容主要介绍Secret类型的资源描述文件的配置示例。
例如现在有一个应用需要获取帐号密码,可以通过Secret来实现:
username: my-username
password: my-password
定义的Secret文件secret.yaml内容如下。其中Value需要用Base64,Base64编码方法请参考Base64编码。
apiVersion: v1 kind: Secret metadata: name: mysecret # secret的名称 namespace: default #命名空间,默认为default data: username: ****** #需要用Base64编码 password: ****** #需要用Base64编码 type: Opaque # type建议不要做修改
Base64编码
对字符串进行Base64加密,可以在本地Linux环境下,直接使用echo -n '编码内容' | base64命令即可。示例如下:
root@ubuntu:~# echo -n '3306' | base64 MzMwNg==
其中:
- 3306为要编码的内容。
- MzMwNg==为编码后的内容。
管理密钥
操作 |
说明 |
---|---|
更新密钥 |
|
删除密钥 |
单击目标密钥“操作”列的“删除”,根据系统提示删除配置。 |
批量删除密钥 |
|
查看密钥 |
单击目标密钥“操作”列的“查看YAML”,查看密钥yaml格式文件内容。 |
密钥列表中包含系统密钥资源,系统密钥资源不可更新,也不能删除,只能查看。