我有一些 cgroups 管理的服务(实际上在 docker 中运行)。为了公平地安排一些需要资源的任务,容器化服务需要知道它确切的(尽可能)资源使用情况。我决定从 cgroups 中读取这些指标。
但有一个问题。我知道从 docker 容器访问 cgroup 数据的两种方法。
直接从容器内部挂载 cgroups。为此,我需要为容器提供 CAP_SYS_ADMIN 功能。我认为这种方法过于简单,只能读取资源使用指标。
使用 docker 卷,指向主机 cgroups 挂载点。这个解决方案或多或少合适,但我正在寻找更优雅的方式。
我不是“内核专家”,也不熟悉内核源代码和文档,所以我可以问菜鸟的问题。
是否有任何内核接口允许我在不安装 cgroups 文件系统的情况下读取 cgroups 指标?