the*_*mar 6 kubernetes kubernetes-secrets
我正在挂载一个 k8s 机密作为卷挂载,并且 pod 中的文件具有错误的权限。
在我Deployment的volumes数组中有这个条目:
- name: ssh-host-keys
secret:
secretName: ftp-ssh-host-keys
defaultMode: 0600
Run Code Online (Sandbox Code Playgroud)
然后像这样安装:
- mountPath: /etc/ssh/ssh_host_rsa_key
name: ssh-host-keys
subPath: ssh_host_rsa_key
readOnly: true
Run Code Online (Sandbox Code Playgroud)
但是,当我查看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
Run Code Online (Sandbox Code Playgroud)
即密钥具有权限 0644 而不是 0600。
我不知道为什么会发生这种情况。
Mar*_*ney 14
根据文档,由于 JSON 限制,您必须以十进制表示法指定模式。
查看文档中提供的示例:
apiVersion: v1
kind: Pod
metadata:
name: mypod
spec:
containers:
- name: mypod
image: redis
volumeMounts:
- name: foo
mountPath: "/etc/foo"
volumes:
- name: foo
secret:
secretName: mysecret
defaultMode: 256
Run Code Online (Sandbox Code Playgroud)
十进制的256相当于八进制的0400。在您的具体情况下,您应该使用defaultMode: 384get 0600 来获得所需的权限。
您可以在此处转换八进制权限。
| 归档时间: |
|
| 查看次数: |
2956 次 |
| 最近记录: |