Secret(用户端)

    高级模式详情如下:

    1. 通过环境变量使用

    Secret(加密字典) - 图2

    1. apiVersion: v1
    2. kind: Pod
    3. metadata:
    4. name: secret-env-pod
    5. spec:
    6. containers:
    7. - name: mycontainer
    8. image: redis
    9. env:
    10. - name: SECRET_USERNAME
    11. valueFrom:
    12. secretKeyRef:
    13. name: example-secret #指定 secret 名称
    14. - name: SECRET_PASSWORD
    15. valueFrom:
    16. secretKeyRef:
    17. name: example-secret
    18. key: password
    1. admin
    2. $ echo $SECRET_PASSWORD

    2. 挂载到文件

    仅支持高级模式

    运行结果:在 /etc/foo/ 目录下生成两个文件 username 和 password

    1. foo/
    2. |-- password -> ..data/password
    3. #cat username admin
    4. #cat password 1f2d1e2e67df

    3. 拉取镜像

    1. apiVersion: v1
    2. kind: Secret
    3. metadata:
    4. name: image-test-secret
    5. namespace: default
    6. type: kubernetes.io/dockerconfigjson
    7. .dockerconfigjson: ew0KCSJhdXRocyI6IHsNCgkJImltYWdlLXRlc3QiOiB7DQoJCQkiYXV0aCI6ICJjbTl2ZERweWIyOTAiLA0KCQkJImVtYWlsIjogIiINCgkJfQ0KCX0NCn0=

    加密部分的明文为:

    1. apiVersion: v1
    2. kind: Pod
    3. metadata:
    4. name: foo
    5. namespace: default
    6. spec:
    7. containers:
    8. - name: foo
    9. image: janedoe/awesomeapp:v1
    10. imagePullSecrets:
    11. - name: image-test-secret
    1. kind: Secret
    2. apiVersion: v1
    3. metadata:
    4. name: client-certs
    5. namespace: default
    6. data:
    7. ca.pem: *** #实际使用请替换成经过 base64 加密后的内容
    8. kubernetes.pem: ***

    使用 deployment 部署:

    360 搜索 私有云团队 提供技术支持