Kubernetes卷装载权限对于机密不正确
我正在将k8s机密装载为卷装载,而pod中的文件具有错误的权限 在我的Kubernetes卷装载权限对于机密不正确,kubernetes,kubernetes-secrets,Kubernetes,Kubernetes Secrets,我正在将k8s机密装载为卷装载,而pod中的文件具有错误的权限 在我的部署中我在卷数组中有以下条目: - name: ssh-host-keys secret: secretName: ftp-ssh-host-keys defaultMode: 0600 然后像这样安装: - mountPath: /etc/ssh/ssh_host_rsa_key name
部署中
我在卷
数组中有以下条目:
- name: ssh-host-keys
secret:
secretName: ftp-ssh-host-keys
defaultMode: 0600
然后像这样安装:
- mountPath: /etc/ssh/ssh_host_rsa_key
name: ssh-host-keys
subPath: ssh_host_rsa_key
readOnly: true
但是,当我查看Pod
中的文件时,文件权限不正确:
rw-r--r-- 1 root root 553122 Aug 21 2018 moduli
-rw-r--r-- 1 root root 1723 Aug 21 2018 ssh_config
-rw-r----- 1 root 1337 410 May 11 10:33 ssh_host_ed25519_key
-rw-r----- 1 root 1337 3242 May 11 10:33 ssh_host_rsa_key
-rw-r--r-- 1 root 1337 465 May 11 10:33 sshd_config
i、 e.密钥的权限为0644而不是0600
我不知道为什么会发生这种情况。根据,由于JSON的限制,您必须以十进制表示法指定模式
请参阅文档中提供的示例:
apiVersion:v1
种类:豆荚
元数据:
姓名:mypod
规格:
容器:
-姓名:mypod
图片:redis
体积数量:
-姓名:富
挂载路径:“/etc/foo”
卷数:
-姓名:富
秘密:
秘籍名称:mysecret
默认模式:256
256位小数相当于0400位的八进制。在您的特定情况下,您应该使用defaultMode:384
获取0600以获得所需的权限
您可以转换八进制权限 我认为一个常见的混淆是文件是链接的,因此默认情况下,
ls
将显示链接权限。请参阅更多详细信息
只需添加-L:ls-laL/path/to/directory/
即可取消对链接的引用
如果这不起作用,也许你正面临挑战。谢谢,但这不是问题所在。即使在我使用
kubectl get deployment获取部署时,部署也会显示正确的值-o yaml
请共享kubectl get deployment的输出-o yaml
。这是JSON限制。不是亚姆!你能分享你的完整清单吗,这样我就可以在我的实验室里测试它了?文件并不总是链接的,这取决于秘密是如何装载的。正如您在他的ls-l
输出中看到的,他没有链接。