我编写了一个设备插件来管理SRIOV设备的集合。当发出新的pod部署请求(例如kubectl create ...)时,该请求包括VF数量的资源计数。 k8s调度程序找出具有足够设备的节点,并最终部署了pod。所有这些都按预期工作。
但是设备插件还知道每个VF的使用情况统计信息,例如每秒对每个VF收取的请求数量。
我想知道呈现这些统计信息的“ k8s方式”,以便希望知道例如某个VF每秒请求最多的人可以使用它们。
就像我说的那样,我已经掌握了统计信息……我只想知道k8s喜欢的最好/最简单的机制,并且在集群主服务器上使用诸如kubectl之类的管理员可以查看并查看有多少某个特定的吊舱正在驱动其vf。
我在Pod上创建了一个服务,该服务将设备插件保存在节点上,我可以查询该服务以获取所有SRIOV VF的使用情况统计信息。但是,如果我授予对所有Pod的访问权限,这是非常不安全的:任何Pod都能看到使用Pod的其他任何VF可以做什么,这不是一个好主意。
也可以对共享内存段进行cgroup操作,但这似乎有点像重新发明轮子以使其健壮,尽管我可以做到,但我仍在尝试寻找k8s世界更喜欢的道路。
我期望运行类似kubectl之类的功能来询问吊舱状态,并且(神奇地)看到拥有并使用一对多VF的承租人吊舱的已分配VF统计信息。