Kubernetes 1.4秘密文件权限不起作用

时间:2016-10-06 17:41:03

标签: kubernetes

在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似乎不起作用)。 我做错了还是这个错误?

1 个答案:

答案 0 :(得分:0)

.ssh目录包含指向实际文件的链接。链接后面显示实际文件具有正确的权限(只读id_rsa)。

我验证了ssh设置实际上是通过exec进入从该复制控制器生成的容器并通过ssh进行git克隆到持有该密钥的repo。