保密字典管理
保密字典管理
保密字典Secret 是 key-value 类型的键值对,可用于存储密码、令牌、密钥等敏感信息,降低直接对外暴露的风险。
常用Secret类型说明:
类型 | 说明 | 配置项 |
---|---|---|
Opaque | 用户定义的任意数据,使用base64编码,加密性较弱,不推荐使用 | 任意键-值对(Key-Value) |
TLS证书 | 用于保存TLS证书和配对的私钥 | Cert、Key |
Registry | ~/.docker/config.json 文件的序列化形式,用来存储私有docker registry的认证信息 | 镜像仓库服务CRS的账号、密码 |
1. Secret创建
1.1. 通过容器云控制台创建Secret
登录容器云控制台;
若默认进入的集群非目标集群,可在顶部的集群切换栏,切换进入集群;
在容器云控制台左侧导航栏中,选择 【配置管理】-【保密字典】;
单击【创建】,进入【创建保密字典】页面。根据实际需求,完成参数设置;
- 名称:设置Secret的名称;
- 命名空间:根据实际需求选择集群下的命名空间;
- 类型:根据实际需求选择不同类型的Secret,目前支持opaque、tls证书、registry;
- 标签:输入键-值对(Key-Value),为Secret设置标签;
- 注释:输入键-值对(Key-Value),为Secret设置注释;
单击确定,完成Secret创建。
1.2. 通过kubectl命令创建Secret
参考系统模板,根据需要准备好创建Secret的YAML文件;
YAML示例:
apiVersion: "v1"
kind: "Secret"
metadata:
name: "secret"
namespace: "default"
data:
key1: "dmFsdWUx" # data部分需要Base64编码
type: "Opaque"
安装kubectl工具,获取访问集群的kubeconfig,具体参考 使用kubectl工具连接集群操作步骤 ;
在kubectl客户端执行命令创建Secret:
kubectl --kubeconfig KUBECONFIG_NAME create -f Secret YAML文件名称
1.3. 通过YAML创建Secret
登录容器云服务控制台,若默认进入的集群非目标集群,可在顶部的导航栏出切换进入集群;
在左侧导航栏中,选择【配置管理】->【保密字典】;
单击【YAML 创建】,完成参数设置:
- 模板:支持使用定义模板或平台提供的系统模板;
- 模板内容:选择好模板后,在“模板内容”区域可以对模板进行编辑。完成参数设置后,点“保存模板”可将改动保存到自定义模板。点“确定”完成创建。
2. Secret使用
2.1. 在环境变量中使用Secret
登录容器云控制台;
若默认进入的集群非目标集群,可在顶部的集群切换栏,切换进入集群;
在容器云控制台左侧导航栏中,选择 【工作负载】- 任意类型工作负载;
单击进入工作负载详情,选择【容器配置】,单击右侧的【修改】;
选择添加环境变量;
选择【保密字典】类型,根据实际需求,填写变量名称、变量值/变量应用;
单击【确定】,完成在环境变量中添加Secret。
2.2. 在数据卷中使用Secret
登录容器云控制台;
若默认进入的集群非目标集群,可在顶部的集群切换栏,切换进入集群;
在容器云控制台左侧导航栏中,选择 【工作负载】->目标工作负载;
单击进入工作负载详情,选择【容器配置】,单击右侧的【修改】;
展开【高级设置】,勾选本地存储->添加;
选择【保密字典】类型,根据实际需求,选择挂载源,填写容器内挂载路径、子路径;
单击【确定】,完成在数据卷中添加Secret。
更多信息参考 使用配置文件管理 Secret | Kubernetes