密钥(Secret)是一种用于存储工作负载所需要认证信息、密钥的敏感信息等的资源类型,内容由用户决定。资源创建完成后,可在容器工作负载中作为文件或者环境变量使用。
已创建集群和节点资源,具体操作请参见购买混合集群。若已有集群和节点资源,无需重复操作。
步骤 1 登录CCE控制台,在左侧导航栏中选择“配置中心 > 密钥(Secret)”,单击“添加密钥”。
步骤 2 您可以直接创建密钥或基于YAML来创建。若希望通过YAML创建,请跳转至步骤4。
步骤 3 方式一:直接创建密钥。
参照下表设置基本信息。
表-密钥基本信息说明
参数 | 参数说明 |
密钥名称 | 新建的密钥的名称,同一个命名空间内命名必须唯一。 |
所属集群 | 使用新建密钥的集群。 |
集群命名空间 | 新建密钥所在的命名空间,默认为default。 |
描述 | 密钥的描述信息。 |
密钥类型 | 新建的密钥类型。
|
密钥数据 | 工作负载密钥的数据可以在容器中使用。
1. 单击“添加更多密钥数据” 。 2. 输入键、值。其中“值”必须使用Base64编码,Base64编码方法请参见如何进行Base64编码。
说明 1、证书是自签名或CA签名过的凭据,用来进行身份认证。 2、证书请求是对签名的请求,需要使用私钥进行签名。 |
密钥标签 | 标签以Key/value键值对的形式附加到各种对象上(如工作负载、节点、服务等)。 标签定义了这些对象的可识别属性,用来对它们进行管理和选择。 1. 单击“添加标签” 。 2. 输入键、值。 |
步骤 4 方式二:基于YAML文件创建密钥。
说明:若需要通过上传文件的方式创建资源,请确保资源描述文件已创建。CCE支持json或yaml格式,详细请参见Secret资源文件配置说明。
您可以导入或直接编写文件内容,格式为YAML或JSON。
- 方式一:导入编排文件。
单击“添加文件”,导入格式为YAML或JSON的文件。编排内容中可直接展示编排内容。
- 方式二:直接编排内容。
在编排内容区域框中,输入YAML或JSON文件内容。
步骤 5 配置完成后,单击“创建”。
密钥列表中会出现新创建的密钥。
本章节主要介绍Secret类型的资源描述文件的配置示例。
例如现在有一个工作负载需要获取帐号密码,可以通过Secret来实现:
- yaml文件格式
定义的Secret文件secret.yaml内容如下。其中Value需要用Base64,Base64编码方法请参见如何进行Base64编码。
apiVersion: v1
kind: Secret
metadata:
name: mysecret # secret的名称
namespace: default #命名空间,默认为default
data:
username: my-username #用户名
password: ****** #需要用Base64编码
type: Opaque # type建议不要做修改
- json文件格式
定义的Secret文件secret.json内容如下。
{
"apiVersion": "v1",
"kind": "Secret",
"metadata": {
"name": "mysecret",
"namespace": "default"
},
"data": {
"username": "my-username",
"password": "******"
},
"type": "Opaque"
}
步骤 1 请参见通过kubectl操作CCE集群配置kubectl命令。
步骤 2 通过Base64编码,创建并编辑cce-secrets.yaml文件。
# echo -n "待编码内容" | base64
******
vi cce-secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: mysecret
type: Opaque
data:
username: admin
password: ******
步骤 3 创建密钥。
kubectl create -f cce-secret.yaml
创建完成后可以查询到密钥。
kubectl get secret
密钥创建完成后,您还可以执行下表中的操作。
说明:密钥列表中包含系统密钥资源,系统密钥资源不可更新,也不能删除,只能查看。
操作 | 说明 |
查看YAML | 单击密钥名称后的“查看YAML”,可查看到当前密钥的YAML文件。 |
更新密钥 | 1. 选择需要更新的密钥名称,单击“更新”。 2. 更改密钥的信息。 3. 单击“更新”。 |
删除密钥 | 选择要删除的密钥,单击“删除”。 根据系统提示删除密钥。 |
批量删除密钥 | 1. 勾选需要删除的密钥名称。 2. 单击页面左上角的“删除”,删除选中的密钥。 3. 根据系统提示删除密钥。 |
对字符串进行Base64加密,可以直接使用“echo -n 要编码的内容 | base64”命令即可,示例如下:
root@ubuntu:~# echo -n "待编码内容" | base64
******