【问题标题】:Directory permissions under /var/lib/kubelet/pods/var/lib/kubelet/pods 下的目录权限
【发布时间】:2019-12-10 09:38:09
【问题描述】:

当我们部署部署或守护程序集时会创建一个随机的 0 字节文件:

ls -lart /var/lib/kubelet/pods
0666 *container id*/containers/*container name*/*random file name*

您能否提供有关此文件的更多信息?我们如何指导 Kubernetes 使用 0644 或 0640 创建这个文件?有没有我们可以为此传递给 kubelet 的标志?

它在我们的安全扫描中显示为不太安全。

这是在 1.12 版中

我还没有尝试任何东西 - 我刚刚对我的节点进行了安全扫描,正在寻找更多信息以及如何防止这种情况出现。

ls -lart /var/lib/kubelet/pods
0666 *container id*/containers/*container name*/*random file name*

我只想通过使用自定义代码或更新来修复此漏洞,或者解释为什么它必须保持 0666 来解决此漏洞。

【问题讨论】:

    标签: security kubernetes kubelet


    【解决方案1】:

    在节点上启动容器之前,kubelet 会在主机系统上为该 Pod 创建一个目录/var/lib/kubelet/pods/

    我不能确切地说出这些文件的必要性是什么,因为lsof 没有显示任何内容,但我的假设是它被用作 pause 容器中的挂载卷

    这个目录唯一设置权限的地方是here

    --volume=/var/lib/kubelet/:/var/lib/kubelet:rw \
    

    希望这会有所帮助

    【讨论】:

      【解决方案2】:

      根据我的 docker 检查调查

      文件夹

      /var/lib/kubelet/pods/
      

      用于绑定一些文件夹 一些容器内的主机文件系统。 在属于 STATIC pod 的容器内更具体

      假设我们有一个 pod

      coredns-f9fd979d6-6h9dc
      

      那么我们就有了对应的docker容器

       k8s_kube-flannel_kube-flannel-ds-pgqq2_kube-system_e3c9e9dc-058a-4871-ae1c-2aa5b9a7fa36_6
      

      如果我们让 docker 检查容器,我们会看到

      "HostConfig": {
                  "Binds": [
                      "/run/flannel:/run/flannel",
                      "/var/lib/kubelet/pods/e3c9e9dc-058a-4871-ae1c-2aa5b9a7fa36/volumes/kubernetes.io~configmap/flannel-cfg:/etc/kube-flannel/:ro",
                      "/var/lib/kubelet/pods/e3c9e9dc-058a-4871-ae1c-2aa5b9a7fa36/volumes/kubernetes.io~secret/flannel-token-2vbzc:/var/run/secrets/kubernetes.io/serviceaccount:ro",
                  
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-20
        • 2015-02-13
        • 1970-01-01
        • 1970-01-01
        • 2022-08-02
        • 1970-01-01
        • 1970-01-01
        • 2019-04-16
        相关资源
        最近更新 更多