K8s NUMA亲和性调度插件
当前大多数云服务提供商需要在服务器上部署大量容器,甚至超过服务器的物理核心数量。在这类场景下,K8s NUMA亲和性调度插件支持根据节点的CPU使用情况自动调整部署Pod的CPU调度范围,从而确保NUMA亲和性,避免业务容器出现跨NUMA内存访问。
K8s NUMA亲和性调度插件在K8s集群的节点层面运行,采用DaemonSet形式的Pod进行部署,确保每个节点上都有一个该插件的实例。此插件通过与Containerd的NRI接口进行对接,实现了动态调整Pod的CPU调度范围的功能,以保障NUMA亲和性的有效实施。
此外,为了兼容低版本K8s集群中Docker容器运行时,K8s NUMA亲和性调度插件提供了针对Docker版本的TAP(Topology Affinity Plugin)。该插件以代理的形式获取请求和返回响应,在请求下发过程中对资源参数进行优化调整,实现NUMA亲和功能。
使用约束
K8s NUMA亲和性调度插件针对Containerd场景和Docker场景有不同的使用约束和版本要求,详细内容如表1所示。
父主题: 计算加速