Secret管理
更新时间:2025-03-17
保密字典(Secret)
Secret是K8S提供一种API资源,用来保存敏感信息,例如密码、OAuth令牌和SSH密钥等,用户可在CCE上通过控制台及 kubectl方式管理Secret资源。
前提条件
通过控制台管理Secret
创建 Secret
- 登录百度智能云管理控制台,进入产品服务>云原生>容器引擎 CCE,单击集群管理>集群列表,单击目标集群名称,进入"集群详情"页,在侧边栏单击配置管理>保密字典。
-
在保密字典列表页面单击创建保密字典系统弹出保密字典弹框,在弹框中进行相关参数配置。
配置项 是否必填 说明 保密字典名称 必填 请输入自定义名称。 命名空间 必填 指定创建资源所在命名空间。 类型 必填 提供Opaque、TLS证书和私有镜像拉取访问凭证类型,请根据实际需求进行选择。
Opaque:适用于保存密钥证书和配置文件,Value 将以 base64 格式编码。
TLS 证书:适用于保存 TLS 证书和私钥。
私有镜像拉取访问凭证:适用于保存私有 Docker Registry 的认证信息。内容 必填 当Secret类型为Opaque时,需要设置变量名和变量值,支持添加多个。 Cert 必填 当Secret类型为TLS证书时,需要添加证书或倒入证书文件。 Key 必填 当Secret类型为TLS证书时,需要添加私钥或倒入私钥文件。 镜像仓库地址 必填 当Secret类型为私有镜像拉取访问凭证时,需要输入镜像仓库访问地址。 用户名 必填 当Secret类型为私有镜像拉取访问凭证时,需要输入登录镜像仓库的用户名。 密码 必填 当Secret类型为私有镜像拉取访问凭证时,需要输入登录镜像仓库的密码。 确认密码 必填 当Secret类型为私有镜像拉取访问凭证时,需要再次输入登录镜像仓库的密码。 - 点击确认按钮,即可完成创建。
查询Secret
单击列表页中目标保密字典名称,在右边栏弹出保密字典详情页,详情页内容包括:
- 基本信息:名称、命名空间、类型、创建时间、数据信息;
- 数据信息:该处有一个“隐藏”按钮,可以显示或者隐藏数据信息的详情。
编辑Secret
在保密字典列表页面,选择要编辑的保密字典,单击“编辑”按钮,完成修改后,单击确认按钮即可完成编辑。
删除Secret
在保密字典列表页面,选择要删除的保密字典,单击删除按钮,在弹框中单击确定按钮即可完成删除。
通过kubectl管理Secret
Secret YAML 示例:
Plain Text
1apiVersion: v1
2kind: Secret
3metadata:
4 name: baidu-secret
5data:
6 username: dXNlcm5hbWU= # echo -n "username" | base64
7 password: cGFzc3dvcmQ= # echo -n "password" | base64
Pod 中使用 Secret 作为文件:
Plain Text
1apiVersion: apps/v1
2kind: Deployment
3metadata:
4 name: app-nginx
5 labels:
6 app: nginx
7spec:
8 selector:
9 matchLabels:
10 app: nginx
11 template:
12 metadata:
13 labels:
14 app: nginx
15 spec:
16 containers:
17 - name: nginx
18 image: hub.baidubce.com/cce/nginx-alpine-go:latest
19 volumeMounts:
20 - name: foo
21 mountPath: "/etc/foo"
22 readOnly: true
23 volumes:
24 - name: foo
25 secret:
26 secretName: baidu-secret
上述 secret baidu-secret 对应的文件,会存在 Pod 的 /etc/foo 下:
Plain Text
1# exec -it 进入容器
2
3# ls /etc/foo/
4password username