您可以在 Pod 中使用密钥,有多种使用场景,主要包括:

  • 使用密钥配置Pod的数据卷
  • 使用密钥设置Pod的环境变量

更多关于密钥的信息,可以参见 密钥

前提条件

创建密钥

本示例创建密钥 secret-test。

  1. 登录容器服务管理控制台
  2. 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 无状态,然后单击右上角的使用模板创建
  3. 选择所需的集群和命名空间,选择样例模板或自定义,然后单击创建
    您可以使用如下 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目录下。
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
  1. 通过执行kubectl命令kubectl apply -f <example0.yaml>进行配置。
    Note 此处的example0.yaml需要替换成实际yaml文件的名称。
  2. 通过容器服务控制台进行配置。
    1. 登录容器服务管理控制台
    2. 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 无状态,单击右上角的使用镜像创建。请参考镜像创建无状态Deployment应用
      本例中,在容器配置页签,在数据卷区域,单击增加本地存储存储卷类型保密字典挂载源创建密钥中创建好的密钥,容器路径为在容器中访问的路径。

使用密钥设置Pod的环境变量

以下两种配置方法您可任选其一进行配置。

本例中, secret-test密钥中user和password设置为Pod的环境变量。
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
  1. 通过执行kubectl命令kubectl apply -f <example1.yaml>进行配置。
    Note 此处的example1.yaml需要替换成实际yaml文件的名称。
  2. 通过容器服务控制台进行配置。
    1. 登录容器服务管理控制台
    2. 在 Kubernetes 菜单下,单击左侧导航栏中的应用 > 无状态,单击右上角的使用镜像创建。请参考镜像创建无状态Deployment应用
      本例中,在容器配置页签,在环境变量区域,单击类型密钥变量引用创建密钥中创建好的密钥,在分别选择使用的key并填写好变量名称。