若需要在Kubernetes集群中使用一些敏感的配置,例如密码、证书等信息时,建议使用保密字典。本文介绍如何在控制台创建保密字典,通过命令行或控制台方式配置Pod数据卷及环境变量。
背景信息
您可以在Pod中使用保密字典,有多种使用场景,主要包括:
- 使用保密字典配置Pod的数据卷
- 使用保密字典设置Pod的环境变量
更多关于保密字典的信息,请参见保密字典。
创建保密字典
本示例创建保密字典secret-test。
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,选择。
- 在无状态页面中,单击使用YAML创建资源。
- 选择所需的集群和命名空间,选择样例模板或自定义,然后单击创建。
您可以使用如下YAML示例模板创建保密字典。
apiVersion: v1
kind: Secret
metadata:
name: secret-test
type: Opaque
data:
username: admin
password: 12345 #需要用Base64编码。
您也可以通过Web界面创建保密字典,请参见管理保密字典。
使用保密字典配置Pod数据卷
以下两种配置方法您可任选其一进行配置。
通过命令行进行配置
保密字典可以在Pod中作为文件使用。如示例所示,secret-test保密字典的username和password以文件方式保存在/srt目录下。
- 创建并复制以下内容到example0.yaml中。
apiVersion: v1
kind: Pod
metadata:
name: pod0
spec:
containers:
- name: redis
image: redis
volumeMounts:
- name: srt
mountPath: "/srt "
readOnly: true
volumes:
- name: srt
secret:
secretName: secret-test
- 执行以下命令,配置保密字典。
kubectl apply -f example0.yaml
说明 此处的example0.yaml需要替换成实际YAML文件的名称。
通过容器服务控制台进行配置
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,选择。
- 在无状态页面中,单击使用镜像创建。
- 在应用基本信息页签中,进行相应配置,然后单击下一步。
- 在容器配置页签,在数据卷区域,单击增加本地存储,存储卷类型为保密字典,挂载源为创建保密字典中创建好的保密字典,容器路径为在容器中访问的路径。配置好相应信息后,单击下一步。
本例中,配置示例如下所示。

- 在高级配置页签中,进行相应配置,然后单击创建。
使用保密字典设置Pod的环境变量
以下两种配置方法您可任选其一进行配置。
通过命令行进行配置
本例中, secret-test保密字典中user和password设置为Pod的环境变量。
- 创建并拷贝以下内容到example1.yaml中。
apiVersion: v1
kind: Pod
metadata:
name: pod1
spec:
containers:
- name: redis
image: redis
env:
- name: USERNAME
valueFrom:
secretKeyRef:
name: secret-test
key: username
- name: PASSWORD
valueFrom:
secretKeyRef:
name: secret-test
key: password
- 执行如下命令,配置环境变量。
kubectl apply -f example1.yaml
说明 此处的example1.yaml需要替换成实际YAML文件的名称。
通过容器服务控制台进行配置
- 登录容器服务管理控制台。
- 在控制台左侧导航栏中,单击集群。
- 在集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏中,选择。
- 在无状态页面中,单击使用镜像创建。
- 在应用基本信息页签中,进行相应配置,然后单击下一步。
- 在容器配置页签,在环境变量区域,单击
,类型为保密字典,变量/变量引用为创建保密字典中创建好的保密字典,在分别选择使用的key并输入变量名称。
本例中,配置示例如下所示。

- 在高级配置页签中,进行相应配置,然后单击创建。