更新时间:2024-11-12 GMT+08:00
创建密钥
密钥(Secret)是一种用于存储工作负载所需要认证信息、密钥的敏感信息等的资源类型,内容由用户决定。资源创建完成后,可在容器工作负载中作为文件或者环境变量使用。
创建密钥
- 登录集群控制台,单击左侧导航栏的4。 。您还可以直接创建密钥或基于YAML来创建,若希望通过YAML创建,请跳转至
- 选择需要创建密钥的命名空间。
- 单击“创建密钥”。
参照表1设置基本信息。
表1 基本信息说明 参数
参数说明
名称
新建的密钥的名称,同一个命名空间内命名必须唯一。
命名空间
新建密钥所在的命名空间,默认为当前查看的命名空间。
描述
新建密钥的描述。
密钥类型
新建的密钥类型。
- Opaque:一般密钥类型。在高敏感场景下,建议先通过数据加密服务加密敏感数据后,再存入Secret中。
- kubernetes.io/dockerconfigjson:存放拉取私有仓库镜像所需的认证信息。如选择此类型的密钥,需要额外输入镜像仓库地址。
- IngressTLS:存放7层负载均衡服务所需的证书。如选择此类型的密钥,需要上传证书文件及私钥文件。
- 其他:若需要创建其他类型的密钥,请手动输入密钥类型。
密钥数据
工作负载密钥的数据可以在容器中使用。
- 当密钥为Opaque类型时:输入键、值。其中“值”必须使用Base64编码,勾选“自动Base64编码”即可自动将输入的值转换为Base64编码。手动进行Base64编码的方法请参见如何进行Base64编码。
- 当密钥为dockerconfigjson类型时:输入私有镜像仓库的用户名和密码。
说明:
密钥可用于创建工作负载存储卷和设置工作负载环境变量,设置工作负载环境变量时,该密钥数据不可为空。
密钥标签
标签以Key/value键值对的形式附加到各种对象上(如工作负载、节点、服务等)。
标签定义了这些对象的可识别属性,用来对它们进行管理和选择。
- 输入键、值。
- 单击“确认添加”
- 基于YAML文件创建密钥。在创建配置项页面右侧单击“YAML创建”。
若需要通过上传文件的方式创建资源,请确保资源描述文件已创建。支持json或yaml格式,详细请参见Secret资源文件配置说明。
- 配置完成后,单击“确定”。
密钥列表中会出现新创建的密钥。
Secret资源文件配置说明
本章节主要介绍Secret类型的资源描述文件的配置示例。
例如现在有一个工作负载需要获取账号密码,可以通过Secret来实现:
- yaml文件格式
定义的Secret文件secret.yaml内容如下。其中Value需要用Base64,Base64编码方法请参见如何进行Base64编码。
apiVersion: v1 kind: Secret metadata: name: mysecret # secret的名称 namespace: default #命名空间,默认为default data: username: bXktdXNlcm5hbWUK #用户名,需要用Base64编码 password: ****** #需要用Base64编码 type: Opaque # type建议不要做修改
- json文件格式
{ "apiVersion": "v1", "kind": "Secret", "metadata": { "name": "mysecret", "namespace": "default" }, "data": { "username": "bXktdXNlcm5hbWUK", "password": "******" }, "type": "Opaque" }
相关操作
父主题: 配置项与密钥