文档首页 > > 用户指南> 配置中心> 使用密钥

使用密钥

分享
更新时间:2020/06/23 GMT+08:00

密钥创建后,可在工作负载环境变量数据卷两个场景使用。

如下密钥为CCE系统使用的,请勿对其做任何操作。

  • 不要操作kube-system下的secrets。
  • 不要操作任何命名空间下的default-secret、paas.elb。其中,default-secret用于SWR的私有镜像拉取,paas.elb用于该命名空间下的服务对接ELB。

本节以下面这个所Secret为例,具体介绍Secret的用法。

apiVersion: v1
kind: Secret
metadata:
  name: mysecret
type: Opaque
data:
  username: my-username #用户名
  password: ******  #需要用Base64编码

在Pod里使用密钥时,需要Pod和密钥处于同一集群和命名空间中。

使用密钥配置Pod的数据卷

密钥可以在Pod中作为文件使用。如下面的Pod示例所示,mysecret密钥的username和password以文件方式保存在/etc/foo目录下。
apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
  - name: mypod
    image: redis
    volumeMounts:
    - name: foo
      mountPath: "/etc/foo"
      readOnly: true
  volumes:
  - name: foo
    secret:
      secretName: mysecret
另外,还可以指定密钥的目录路径和权限,username存放在容器中的/etc/foo/my-group/my-username目录下。
apiVersion: v1
kind: Pod
metadata:
  name: mypod
spec:
  containers:
  - name: mypod
    image: redis
    volumeMounts:
    - name: foo
      mountPath: "/etc/foo"
  volumes:
  - name: foo
    secret:
      secretName: mysecret
      items:
      - key: username
        path: my-group/my-username
        mode: 511

挂载Secret到数据卷还可以在界面上进行操作,在创建工作负载时,设置容器的高级设置,选择数据存储,添加本地磁盘,选择Secret即可配置。具体请参见密钥(Secret)挂载

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

密钥可以在Pod中设置为环境变量。如下面的Pod示例所示,mysecret密钥的username和password配置为Pod的环境变量。
apiVersion: v1
kind: Pod
metadata:
  name: secret-env-pod
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
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问