Secret(用户端)
高级模式详情如下:
1. 通过环境变量使用
- apiVersion: v1
- kind: Pod
- metadata:
- name: secret-env-pod
- spec:
- containers:
- - name: mycontainer
- image: redis
- env:
- - name: SECRET_USERNAME
- valueFrom:
- secretKeyRef:
- name: example-secret #指定 secret 名称
- - name: SECRET_PASSWORD
- valueFrom:
- secretKeyRef:
- name: example-secret
- key: password
admin
$ echo $SECRET_PASSWORD
2. 挂载到文件
仅支持高级模式
运行结果:在 /etc/foo/ 目录下生成两个文件 username 和 password
foo/
|-- password -> ..data/password
#cat username admin
#cat password 1f2d1e2e67df
3. 拉取镜像
- apiVersion: v1
- kind: Secret
- metadata:
- name: image-test-secret
- namespace: default
- type: kubernetes.io/dockerconfigjson
- .dockerconfigjson: ew0KCSJhdXRocyI6IHsNCgkJImltYWdlLXRlc3QiOiB7DQoJCQkiYXV0aCI6ICJjbTl2ZERweWIyOTAiLA0KCQkJImVtYWlsIjogIiINCgkJfQ0KCX0NCn0=
加密部分的明文为:
- apiVersion: v1
- kind: Pod
- metadata:
- name: foo
- namespace: default
- spec:
- containers:
- - name: foo
- image: janedoe/awesomeapp:v1
- imagePullSecrets:
- - name: image-test-secret
- kind: Secret
- apiVersion: v1
- metadata:
- name: client-certs
- namespace: default
- data:
- ca.pem: *** #实际使用请替换成经过 base64 加密后的内容
- kubernetes.pem: ***
使用 deployment 部署:
360 搜索 私有云团队 提供技术支持