将Kubernetes机密装载为具有rw权限的文件

将Kubernetes机密装载为具有rw权限的文件,kubernetes,Kubernetes,我试图用kubernetes sceret在POD中创建一个文件,但我面临一个问题,例如,我无法更改已部署文件的权限 我在错误下面, chmod:更改“/root/.ssh/id\u rsa”的权限:只读文件系统 我已经应用了defaultmode&mode,但它仍然不起作用 volumes: - name: gitsecret secret: secretName: git-keys VolumeMounts: - mountPath: "/root/.ssh" name: g

我试图用kubernetes sceret在POD中创建一个文件,但我面临一个问题,例如,我无法更改已部署文件的权限

我在错误下面, chmod:更改“/root/.ssh/id\u rsa”的权限:只读文件系统

我已经应用了defaultmode&mode,但它仍然不起作用

volumes:
- name: gitsecret
  secret:
    secretName: git-keys
VolumeMounts:
- mountPath: "/root/.ssh"
  name: gitsecret
  readOnly: false

谢谢您

在这方面有一些反复,但您可能使用的是k8s版本,无论您如何设置标志,configmap和secret都是只读的-问题是,我认为您需要遵循其中的建议,创建一个空的Dir卷以将相关文件复制到其中。

如您所述,您的Kubernetes版本为1.10,并提供了相关文档

您可以查看提供的github链接,在那里您可以发现
configMap
secrets
RO
标志是故意的。可以使用feature gate
ReadOnlyAPIDataVolumes
禁用它。 您可以按照本指南了解如何使用

作为解决方法,您可以尝试以下方法:

containers:
  - name: apache
    image: apache:2.4
    lifecycle:
      postStart:
        exec:
          command: ["chown", "www-data:www-data", "/var/www/html/app/etc/env.php"]

你可以在Kubernetes文档中找到解释,下面是我的Kubernetes版本客户端版本:Version.Info{Major:“1”,Minor:“10”,GitVersion:“v1.10.5”,GitCommit:“32ac1c9073b132b8ba18aa830f46b77dcceb0723”,GitRestate:“clean”,BuildDate:“2018-06-21T11:46:00Z”,GoVersion:“go1.9.3”,编译器:“gc”,平台:“linux/amd64”}服务器版本:Version.Info{Major:“1”,Minor:“10”,GitVersion:“v1.10.11”,GitCommit:“637c7e288581ee40ab4ca210618a89a555b6e7e9”,GitTreeState:“clean”,BuildDate:“2018-11-26T14:25:46Z”,政府版本:“go1.9.3”,编译器:“gc”,平台:“linux/amd64”}