zoukankan      html  css  js  c++  java
  • docker的privileged 与 k8s的privileged的区别

    k8s privileged 起的容器里

    mount|grep sys
    sysfs on /sys type sysfs (ro,nosuid,nodev,noexec,relatime,seclabel)

    /sys是ro只读的

    docker privileged 起的容器里

    mount|grep sys
    sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)

    /sys是rw可读可写

    具体原因:sysfs is mounted as readonly for privileged container · Issue #24000 · moby/moby

    k8s 需要先启动网络沙盒,sandbox 容器不是 privileged 的,主容器共用了 sandbox 的部分命名空间,所以没有将 sys 挂载成 rw,简单的做法是在 k8s yaml 里单独再挂载一下 sys

    - name: sys
        mountPath: /sys

    /sys Sysfs文件系统是一个类似于proc文件系统的特殊文件系统,用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息。其实,就是在用户态可以通过对sys文件系统的访问,来看内核态的一些驱动或者设备等。

    所以/sys是用于对外设以及驱动访问的。所以如果在k8s中,挂载的设备虽然可见,但是不可写,会表现为可以看到挂载设备如npu,但是npu不可用。即/dev下可以看到设备,但是使用设备时会报错。

    联系方式:emhhbmdfbGlhbmcxOTkxQDEyNi5jb20=
  • 相关阅读:
    点子
    点子
    ruby crawler Anemone
    创业站
    我友网 没前途
    创意
    电商站
    尿布
    创意
    青番茄好项目
  • 原文地址:https://www.cnblogs.com/zl1991/p/15609311.html
Copyright © 2011-2022 走看看