在主机上的 cgroup 文件中找到的统计信息,如果容器不与主机共享内核,它们是否可靠?
我问这个是因为虽然它对 docker 是可靠的,但 K8s 支持多个运行时 - 有些提供带有自己内核的容器,我应该依赖运行时守护进程来获取统计信息,还是可以绕过它们并仍然查看 cgroup 文件.
在主机上的 cgroup 文件中找到的统计信息,如果容器不与主机共享内核,它们是否可靠?
我问这个是因为虽然它对 docker 是可靠的,但 K8s 支持多个运行时 - 有些提供带有自己内核的容器,我应该依赖运行时守护进程来获取统计信息,还是可以绕过它们并仍然查看 cgroup 文件.
如果您指的是带有 Docker 和 Kubernetes 的 Kata Containers,那么简短的回答是肯定的。确保您进行配置sandbox_cgroup_only=true
以获取准确的统计信息。
此外,请确保您使用 Kata Containers1.11.0
或更高版本,因为cgroups 实现修复进入该版本。Kata Containers 在 VM 中运行的内核中创建自己的 cgroup,但这与在主机级别创建的内容相匹配。这些在主机级别创建的 cgroup 的资源没有被使用,而是由 VMM 分配的资源。更多信息在这里。