无法将Kubernetes Secret作为文件安装在Pod中

时间:2018-03-30 21:18:42

标签: kubernetes kubernetes-secrets

我正在尝试将作为机密创建的配置文件挂载到pod中的特定路径。但是,pod上的装载路径始终生成为目录。有人能告诉我我做错了什么吗?

> kubectl get secrets config
NAME      TYPE      DATA      AGE
config    Opaque    1         29m

pod yaml:

apiVersion: v1
kind: Pod
metadata:
  name: test-pd-plus-secret
spec:
  containers:
  - image: ubuntu
    name: bash
    stdin: true
    tty: true
    volumeMounts:
      - name: "config"
        mountPath: "/mnt/configFile"
        subPath: "configFile"
  volumes:
  - name: "config"
    secret:
      secretName: "config"

创建pod之后,我尝试读取pod上的文件,然后获取:

cat: /mnt/configFile: Is a directory

我正在使用:kubernetes客户端版本1.9.0和服务器版本1.8.6

1 个答案:

答案 0 :(得分:3)

您想要的语法是仅选择秘密的items:,而不是尝试以这种方式使用subPath。这是documented in SecretVolumeSource

  volumes:
  - name: config
    secret:
      secretName: config
      items:
      - key: configFile
        path: configFile