在mac上使用minikube运行K8s 1.4。我的复制控制器yaml中有以下内容:
volumes:
- name: secret-volume
secret:
secretName: config-ssh-key-secret
items:
- key: "id_rsa"
path: ./id_rsa
mode: 0400
- key: "id_rsa.pub"
path: ./id_rsa.pub
- key: "known_hosts"
path: ./known_hosts
volumeMounts:
- name: secret-volume
readOnly: true
mountPath: /root/.ssh
当我执行一个pod并检查时,我看到以下内容:
~/.ssh # ls -ltr
lrwxrwxrwx 1 root root 18 Oct 6 17:01 known_hosts -> ..data/known_hosts
lrwxrwxrwx 1 root root 17 Oct 6 17:01 id_rsa.pub -> ..data/id_rsa.pub
lrwxrwxrwx 1 root root 13 Oct 6 17:01 id_rsa -> ..data/id_rsa
再看〜级别:
drwxrwxrwt 3 root root 140 Oct 6 17:01 .ssh
因此该目录不是只读的,并且文件权限似乎已被忽略(即使默认的0644似乎不起作用)。 我做错了还是这个错误?
答案 0 :(得分:0)
.ssh目录包含指向实际文件的链接。链接后面显示实际文件具有正确的权限(只读id_rsa)。
我验证了ssh设置实际上是通过exec
进入从该复制控制器生成的容器并通过ssh进行git克隆到持有该密钥的repo。