使用保密字典
您可以在工作负载环境变量、命令行参数和数据卷三个场景使用保密字典(Secrets),也可以在 创建应用服务 的 配置 Pod 模板 步骤中使用保密字典拉取镜像。
前提条件
说明
在 Pod 中使用保密字典时,Pod 和保密字典需处于同一命名空间中。
本文以如下保密字典为例,介绍保密字典的用法。
apiVersion: v1
kind:Secret
metadata:
name: mysecret
namespace: yournamespace #改成当前的命名空间名称
type:Opaque
data:
username:my-username #用户名
password:******#需要用Base64编码
用保密字典配置 Pod 的数据卷
保密字典可以在 Pod 中作为文件使用。
登录控制台,在左侧导航栏单击 集群管理 > 集群详情。
在集群列表页,单击目标集群名称进入 集群详情 页。
在左侧导航栏,单击 工作负载 > 容器组(Pods)。
单击 从 YAML 创建,在输入框中输入以下内容,单击 提交。
如以下 Pod 示例所示,mysecret 密钥的 username 和 password 以文件方式保存在
/etc/foo
目录下。apiVersion: v1 kind:Pod metadata: name: mypod namespace: yournamespace #改成当前的命名空间名称 spec: containers: - name: mypod image: redis volumeMounts: - name: foo mountPath:"/etc/foo" readOnly:true volumes: - name: foo secret: secretName: mysecret
用保密字典设置 Pod 的环境变量
保密字典可以在 Pod 中设置为环境变量。
登录控制台,在左侧导航栏单击 集群管理 > 集群详情。
在集群列表页,单击目标集群名称进入集群详情页。
在左侧导航栏,单击 工作负载 > 容器组(Pods)。
单击 从 YAML 创建,在输入框中输入以下内容,单击 提交。
如以下 Pod 示例所示,mysecret 密钥的 username 和 password 配置为 Pod 的环境变量。
apiVersion: v1 kind:Pod metadata: name: secret-env-pod namespace: yournamespace #改成当前的命名空间名称 spec: containers: - name: mycontainer image: redis env: - name: SECRET_USERNAME valueFrom: secretKeyRef: name: mysecret key: username - name: SECRET_PASSWORD valueFrom: secretKeyRef: name: mysecret key: password restartPolicy:Never