cce
使用密钥
更新时间:2021/01/22 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
父主题: 配置中心
