有没有办法创建一个Kubernetes Secret子目录?

MrE*_*MrE 7 kubernetes

Kubernetes Secrets创建作为volumeMount挂载的文件.

可以将多个文件放在一个Secret中.

有没有办法创建一个将文件放在目录结构(即文件夹)中的秘密?

文档中没有任何迹象,并且/密钥名称中不允许使用,因此似乎不可能(除了制作多个秘密并将它们安装在不同的卷中)

有谁知道更好吗?

Jor*_*itt 5

不,目前不可能使用子目录.正在进行的工作是为了更好地控制如何将秘密中的数据注入到容器中,但这在今天是不可能的


Eva*_*nes 5

现在实际上可以实现:您需要使用该items字段将密钥中的键/值对投影到所需的特定路径。请参阅秘密文档中标题为“秘密密钥到特定路径的投影”部分中的示例,该文档已链接并复制到下面:https : //kubernetes.io/docs/concepts/configuration/secret/#using-secrets来自Pod的文件

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
      items:
      - key: username
        path: my-group/my-username
Run Code Online (Sandbox Code Playgroud)

这会将密钥为“用户名”的秘密放置在路径中 /my_secret_volume/my-group/my-username