您可以在容器组中使用密钥。

前提条件

  • 您在Pod里使用密钥时,需要两者处于同一集群和命名空间中。
  • 您已连接到Kubernetes集群的Master节点,请参见通过kubectl连接Kubernetes集群

背景信息

您可以在Pod中使用密钥,有多种使用场景,主要包括:
  • 使用密钥配置Pod的数据卷
  • 使用密钥设置Pod的环境变量

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

创建密钥

本示例创建密钥secret-test。

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏中,单击工作负载
  5. 无状态页签中,单击使用模板创建
  6. 选择所需的集群和命名空间,择样例模板或自定义,然后单击创建
    您可以使用如下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目录下。

  1. 创建并拷贝以下内容到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
  2. 执行以下命令,配置密钥。
    kubectl apply -f  example0.yaml
    说明 此处的example0.yaml需要替换成实际YAML文件的名称。

通过容器服务控制台进行配置。

  1. 在控制台左侧导航栏中,单击集群
  2. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  3. 在集群管理页左侧导航栏中,单击工作负载
  4. 无状态页签中,单击使用镜像创建
  5. 应用基本信息页签中,进行相应配置,然后单击下一步
  6. 容器配置页签,在数据卷区域,单击增加本地存储存储卷类型保密字典挂载源创建密钥中创建好的密钥,容器路径为在容器中访问的路径。

    本例中,配置示例如下所示。

    配置数据卷
  7. 高级配置页签中,进行相应配置,然后单击创建

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

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

本例中, secret-test密钥中user和password设置为Pod的环境变量。

  1. 创建并拷贝以下内容到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
  2. 执行如下命令,配置环境变量。
    kubectl apply -f  example1.yaml
    说明 此处的example1.yaml需要替换成实际YAML文件的名称。

通过容器服务控制台进行配置。

  1. 在控制台左侧导航栏中,单击集群
  2. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  3. 在集群管理页左侧导航栏中,单击工作负载
  4. 无状态页签中,单击使用镜像创建
  5. 应用基本信息页签中,进行相应配置,然后单击下一步
  6. 容器配置页签,在环境变量区域,单击环境变量类型密钥变量引用创建密钥中创建好的密钥,在分别选择使用的key并输入变量名称。。

    本例中,配置示例如下所示。

    变量名称
  7. 高级配置页签中,进行相应配置,然后单击创建