---
title: 鲲鹏拓扑亲和插件
description: "当前大多数云服务提供商需要在服务器上部署大量容器，甚至超过服务器的物理核心数量。在这类场景下，鲲鹏拓扑亲和插件（Kunpeng Topology Affinity Plugin，Kunpeng TAP）支持根据节点的资源使用情况自动调整Pod的部署范围，从而维护CPU、GPU等容器资源的NUMA亲和性，避免业务容器出现跨NUMA内存访问。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/twp/kunpengcpfs_19_0092.html
sourcePath: /source/zh/kunpengcpfs/twp/kunpengcpfs_19_0092.html
indexId: 700e87dbefb7877485d1e84ac2a500d102c19e8330c6790d8eb0fa250d7eaef851
---
# 鲲鹏拓扑亲和插件

当前大多数云服务提供商需要在服务器上部署大量容器，甚至超过服务器的物理核心数量。在这类场景下，鲲鹏拓扑亲和插件（Kunpeng Topology Affinity Plugin，Kunpeng TAP）支持根据节点的资源使用情况自动调整Pod的部署范围，从而维护CPU、GPU等容器资源的NUMA亲和性，避免业务容器出现跨NUMA内存访问。

鲲鹏拓扑亲和插件在K8s集群的节点层面运行，采用DaemonSet形式的Pod进行部署，确保每个节点上都有一个该插件的实例。此插件通过与Containerd的NRI接口进行对接，实现了动态调整Pod的CPU调度范围的功能，以保障NUMA亲和性的有效实施。

下图为基于Containerd运行时NRI功能构建的NUMA亲和性调度插件工作示意图。

图1 鲲鹏拓扑亲和插件NRI模式工作示意图

此外，为了兼容低版本K8s集群中Docker和Containerd容器运行时，鲲鹏拓扑亲和插件支持以代理的形式获取容器请求和返回响应，在请求下发过程中对资源参数进行优化调整，实现NUMA亲和功能。下图为鲲鹏拓扑亲和插件的工作示意图。

图2 鲲鹏拓扑亲和插件工作示意图

#### 使用约束

鲲鹏拓扑亲和插件针对Containerd场景和Docker场景有不同的使用约束和版本要求，详细内容如表1所示。


**表1 使用约束**

| 插件类型 | 版本要求 | 版本要求 | 版本要求 | 版本要求 |
| --- | --- | --- | --- | --- |
| 插件类型 | K8s | Containerd | Docker | 备注 |
| 鲲鹏拓扑亲和插件（Containerd，开启NRI功能） | 1.28.4 | 1.7.0及更高版本 | \- | 对于Containerd场景，需使用Containerd作为容器运行时。 |
| 鲲鹏拓扑亲和插件（Docker/Containerd） | 1.23.6 | 1.6.8+ | 20.10.14 | 对于Docker场景，使用Dockershim作为运行时通信组件，同时支持Containerd。 |
