我正在尝试从 kubernetes sceret 在 POD 中创建一个文件,但我面临一个问题,例如,我无法更改已部署文件的权限。
我得到下面的错误,chmod:更改"/root/.ssh/id_rsa"的权限:只读文件系统
我已经为相同的应用了默认模式和模式,但它仍然不起作用。
volumes:
- name: gitsecret
secret:
secretName: git-keys
VolumeMounts:
- mountPath: "/root/.ssh"
name: gitsecret
readOnly: false
谢谢
正如你所说,你的 Kubernetes 版本是 1.10,文档可以在这里找到
您可以查看@RyanDawson提供的 github 链接,在那里您将能够找到这个RO
标志用于configMap
和secrets
是有意为之的。可以使用功能门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 文档中找到解释 将处理程序附加到容器生命周期事件
有一些来回,但大概您使用的是 k8s 版本,无论您如何设置标志,configmap 和 secret 都是只读的 - 问题是 https://github.com/kubernetes/kubernetes/issues/62099 我认为您需要遵循那里的建议并创建一个空的 Dir 卷以将相关文件复制到其中。