Secret管理
更新时间:2024-06-14
保密字典(Secret)
Secret 是 K8S 提供一种 API 资源,用来保存敏感信息,例如密码、OAuth 令牌和 SSH 密钥等,用户可在 CCE 上通过 Console 及 kubectl 方式管理 Secret 资源。
通过页面管理 Secret
创建 Secret
进入“产品服务>容器引擎CCE>集群详情”,点击“配置存储>保密字典”,进入保密字典列表页面:
点击“新建保密字典”,用户可以通过yaml的形式创建新的保密字典:
查询 Secret
点击列表页任何一行的保密字典名称,在右边栏弹出保密字典详情页,详情页内容包括:
- 基本信息:名称、命名空间、类型、创建时间、数据信息;
- 数据信息:该处有一个“隐藏”按钮,可以显示或者隐藏数据信息的详情.
删除保密字典
在保密字典列表页面,勾选要删除的保密字典,点击“删除”按钮:
修改保密字典
在保密字典列表页面,点击“修改”按钮,完成修改后,点击“更新”提交:
通过 kubectl 管理 Secret
Secret YAML 示例:
apiVersion: v1
kind: Secret
metadata:
name: baidu-secret
data:
username: dXNlcm5hbWU= # echo -n "username" | base64
password: cGFzc3dvcmQ= # echo -n "password" | base64
Pod 中使用 Secret 作为文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: app-nginx
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: hub.baidubce.com/cce/nginx-alpine-go:latest
volumeMounts:
- name: foo
mountPath: "/etc/foo"
readOnly: true
volumes:
- name: foo
secret:
secretName: baidu-secret
上述 secret baidu-secret 对应的文件,会存在 Pod 的 /etc/foo 下:
# exec -it 进入容器
# ls /etc/foo/
password username