You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
镜像组件
p2p-accelerator
复制全文
下载 pdf
p2p-accelerator
p2p-accelerator 是一款基于 P2P 技术的镜像加速组件,用于改善大规模集群或高并发场景下大体积镜像拉取耗时较长的问题。本文介绍该组件的作用、核心资源以及安装与升级说明。​
组件概述​
p2p-accelerator 是容器服务提供的镜像加速分发代理组件,基于点对点网络(Peer-to-Peer,P2P)在计算节点之间分发已下载的镜像数据片段。当大规模集群扩容、多个节点并发拉取大体积镜像时,该组件可以降低中心镜像仓库的出口带宽压力,缩短镜像拉取和应用启动耗时。​
在集群中安装组件后,系统会在 kube-system 命名空间下创建如下 Kubernetes 资源。​
​
资源名称​
资源类型​
资源说明​
p2p-accelerator-scheduler​
StatefulSet​
Dragonfly Scheduler 组件,负责为下载节点调度一组最优父节点。​
p2p-accelerator-dfdaemon-controller​
Deployment​
集群侧服务发现与配置控制组件,监听 dfdaemon Pod 和节点变化,维护 Endpoints、ConfigMap,以及部分场景下的 PrivateZone 域名解析记录。​
p2p-accelerator-dfdaemon-proxy​
StatefulSet​
Dragonfly Seed Peer 组件,面向 Nydus 场景提供集中式 dfdaemon 访问入口和缓存服务;部分部署模式下同时承担 Seed Peer,负责回源并向其他 Peer 提供数据。​
p2p-accelerator-dfdaemon​
DaemonSet​
Dragonfly Peer 组件,部署在节点上提供 P2P 下载客户端和代理服务,承接容器运行时的镜像层下载请求。​
p2p-accelerator-watcher​
DaemonSet​
节点侧配置监听组件,监听配置 ConfigMap,适时更新节点侧运行时配置。​
p2p-accelerator-preheat-controller​
Deployment​
预热任务控制组件,负责预热任务编排、目标节点评分和选择,并将任务下发至对应节点的 preheat-agent。​
p2p-accelerator-preheat-agent​
DaemonSet​
部署在目标预热节点上的执行组件,负责执行预热,将镜像提前预热到节点。​
​
说明​
上表中仅罗列出了该组件的主要资源,以及配置组件或对应功能时可能使用到的资源,方便您了解该组件的主要组成。其他的组件相关资源(例如 ConfigMap、Secret 等)不多做介绍,请以集群中的实际为准。​
组件版本​
关于组件的历史发布记录、各版本新增特性及优化说明等信息,详情请参见 组件发布记录。​
安装组件​
  1. 在左侧导航栏中,选择 集群,单击目标集群名称,进入集群管理页面。​
  1. 在左侧导航栏中,选择 镜像加速,进入镜像加速配置引导页。​
  1. 在镜像加速配置引导页中的组件安装提示中,单击 安装,安装并配置组件参数。​
  • ​​​
  • ​
    参数​
    子参数​
    描述​
    镜像仓库标准版实例​
    ​
    选择已开启 P2P 镜像加速的镜像仓库标准版实例。详情请参见 容器服务使用 P2P 加速。​
    镜像懒加载​
    ​
    是否为 Nydus 镜像懒加载开启 P2P 加速回源。​
    • 开启:Nydus 通过 P2P 的 Seed Peer 进行回源,适合大规模扩容或多节点同时拉取同一镜像的场景,可降低镜像仓库的回源压力。​
    • 关闭:Nydus 直接回源至镜像仓库。​
    说明​
    该配置仅为镜像懒加载功能提供 P2P 加速回源能力,开启该功能时,您还需要保证进行以下操作,才能正确使用镜像懒加载功能。​
    节点污点调度​
    ​
    开启后,可设置污点容忍值,组件的核心工作负载允许被调度到带有指定污点的节点。​
    节点标签选择​
    ​
    开启后,可设置节点选择的标签,组件的核心工作负载会被调度到带有指定标签的节点。​
    弹性容器部署(扩展)​
    ​
    开启后,允许使用弹性容器实例(VCI)部署组件。​
    • 部署方式:选择组件在 VCI 中的部署方式,默认为 自定义 StatefulSet 部署,不支持修改。​
    • 实例个数:配置组件实例个数。​
    高级配置​
    ​
    ​
    Scheduler​
    实例个数​
    Scheduler 副本数。系统采用反亲和策略部署,避免单点故障影响整个集群的镜像拉取调度。​
    • 当集群节点数量较多、镜像拉取并发量较高时,可适当增加副本数以提升调度吞吐能力;​
    • 缩减副本数会降低 Scheduler 的高可用性。​
    ​
    节点污点调度​
    配置 Scheduler 对节点污点(Taint)的容忍规则。​
    • 开启后,可为组件核心工作负载配置污点容忍规则,允许其被调度到带有指定污点的节点。​
    • 未开启时,核心工作负载无法调度到设有 NoSchedule 或 NoExecute 污点的节点。​
    ​
    节点强制调度​
    配置 Scheduler 必须满足的节点标签匹配规则。开启后,可设置节点标签选择条件,组件的核心工作负载将只被调度到满足全部指定标签的节点。若集群中无符合条件的节点,核心工作负载将无法完成调度。​
    ​
    节点优先调度​
    配置 Scheduler 优先选择的节点标签及其权重。开启后,可设置节点标签选择条件及优先级权重,组件的核心工作负载将优先被调度到匹配指定标签且权重较高的节点。若无符合条件的节点,仍可调度到满足其他条件的节点。​
    ​
    资源配置​
    • CPU:Scheduler 组件的 CPU 请求和上限。当集群节点较多、并发镜像拉取或预热任务较多时,可适当调高该值,避免因 CPU 资源不足导致调度请求处理变慢或任务排队。​
    • 内存:Scheduler 组件的内存资源上限。当集群规模较大、同时处理的下载信息和调度请求较多时,可适当调高该值,防止因内存不足导致组件异常重启,影响镜像数据源的调度。​
    Seed Peer​
    实例个数​
    Seed Peer 副本数。系统采用反亲和策略部署,保证在部分节点不可用时仍有可用的缓存数据来源。​
    • 当集群中镜像拉取并发量持续较高、Seed Peer 的回源流量成为瓶颈时,可适当增加副本数以分散回源压力;​
    • 缩减副本数会降低缓存数据的可用性,极端情况下可能增加直接访问镜像仓库的流量。​
    ​
    节点污点调度​
    配置 Seed Peer 对节点污点(Taint)的容忍规则。​
    • 开启后,可为组件核心工作负载配置污点容忍规则,允许其被调度到带有指定污点的节点。​
    • 未开启时,核心工作负载无法调度到设有 NoSchedule 或 NoExecute 污点的节点。​
    ​
    节点强制调度​
    配置 Seed Peer 必须满足的节点标签匹配规则。开启后,可设置节点标签选择条件,组件的核心工作负载将只被调度到满足全部指定标签的节点。若集群中无符合条件的节点,核心工作负载将无法完成调度。​
    ​
    节点优先调度​
    配置 Seed Peer 优先选择的节点标签及其权重。开启后,可设置节点标签选择条件及优先级权重,组件的核心工作负载将优先被调度到匹配指定标签且权重较高的节点。若无符合条件的节点,仍可调度到满足其他条件的节点。​
    ​
    存储类​
    Seed Peer 用于持久化缓存镜像数据的存储类型。Seed Peer 会将从镜像仓库拉取的原始镜像数据缓存到本地持久卷,供集群内其他节点复用,避免重复回源拉取。​
    说明​
    建议选择 I/O 性能较好的存储类,例如:本地存储卷或云盘存储卷(EBS)。以提升缓存数据的读写速度,降低镜像分发延迟。​
    ​
    容量​
    Seed Peer 持久化存储卷的容量上限,默认为 512 GiB。该容量决定了 Seed Peer 可缓存的镜像数据总量。当集群内镜像种类较多或镜像体积较大时,建议适当调高该值,避免因缓存空间不足导致频繁淘汰已缓存数据、增加回源拉取次数。​
    ​
    资源配置​
    • CPU:Seed Peer 组件的 CPU 请求和上限。当集群内并发镜像拉取、分段请求或预取请求较多时,可适当调高该值,避免因 CPU 资源不足导致缓存数据处理、回源拉取或数据分发变慢。​
    • 内存:Seed Peer 组件的内存资源上限。当 Seed Peer 需要同时处理较多缓存读写、回源拉取或数据分发请求时,可适当调高该值,防止因内存不足导致组件异常重启,影响集群内镜像缓存的复用和回源效率。​
    ​
    保留缓存​
    Seed Peer 重启后是否保留已有缓存数据。​
    • 开启:Seed Peer 重启后继续使用已缓存的镜像数据,不影响其他节点的正常拉取。​
    • 关闭:Seed Peer 重启时自身缓存将丢失,镜像数据仍可通过集群内其他 Peer 节点的缓存获取。仅当所有节点均无缓存时,才会触发从镜像仓库回源。建议仅在需要强制清空 Seed Peer 缓存时使用。​
    ​
    缓存有效期​
    Seed Peer 缓存的过期时间。超过该时间未被访问的缓存数据将被标记为可回收。​
    • 镜像更新频率较低、希望长期保留缓存以减少回源流量时,可适当增大该值;​
    • 磁盘空间紧张时可适当缩短,加快旧缓存清理速度。​
    ​
    磁盘使用率高水位​
    磁盘使用率高水位阈值,单位为百分比。当磁盘使用率达到该阈值时,触发缓存回收,将数据清理至低水位以下。​
    • 磁盘容量较小或缓存增长较快时,可适当降低该值,提前触发缓存回收,避免磁盘空间耗尽。​
    • 调高该值可保留更多缓存,但存在磁盘空间耗尽的风险。​
    ​
    磁盘使用率低水位​
    磁盘使用率低水位阈值,单位为百分比。触发回收后,系统持续清理缓存直到磁盘使用率降至该阈值以下。该值越低,每次回收清理的数据越多,可以减少回收频率,但会删除更多潜在有效缓存;建议与高水位保持合理间距,避免频繁触发小规模回收。​
    Peer​
    HostPath​
    Peer 在节点上的挂载路径,固定为/mnt/p2pcache,不支持修改。​
    ​
    资源配置​
    • CPU:Peer 组件的 CPU 请求和上限。当节点上并发拉取镜像的容器较多,或需要同时向其他节点提供已缓存的镜像数据时,可适当调高该值,避免因 CPU 资源不足导致镜像数据处理和传输变慢。​
    • 内存:Peer 组件的内存资源上限。当节点上同时存在多个镜像拉取请求,或并发传输的数据量较大时,可适当调高该值,防止因内存不足导致 Peer 异常重启或镜像拉取中断。​
    ​
    保留缓存​
    Peer 重启后是否保留节点上的缓存数据。​
    • 开启:Peer 重启后继续使用已缓存的镜像数据,不影响节点的正常拉取。​
    • 关闭:Peer 重启时自身缓存将丢失,镜像数据仍可通过 Seed Peer 或集群内其他 Peer 节点的缓存获取。仅当所有节点均无缓存时,才会触发从镜像仓库回源。建议仅在需要强制清空该节点缓存时使用。​
    ​
    缓存有效期​
    Peer 缓存的过期时间。超过该时间未被访问的缓存数据将被标记为可回收。​
    • 镜像更新频率较低、节点磁盘空间充裕时,可适当增大该值,延长节点本地缓存的保留时间,减少重复从 Seed Peer 或镜像仓库拉取。​
    • 节点磁盘紧张时可适当缩短,加快旧缓存清理。​
    ​
    磁盘使用率高水位​
    节点缓存盘的高水位阈值,单位为百分比。当磁盘使用率达到该阈值时,触发缓存回收,将数据清理至低水位以下。该配置按节点生效,修改后影响集群内全部 Peer 的缓存回收行为。​
    • 节点缓存盘容量较小时,可适当降低该值,提前触发缓存回收,避免磁盘空间耗尽。​
    • 调高该值可保留更多缓存,但存在磁盘空间耗尽的风险。​
    ​
    磁盘使用率低水位​
    节点缓存盘的低水位阈值,单位为百分比。触发回收后,系统持续清理缓存直到磁盘使用率降至该阈值以下。该值越低,每次回收清理的数据越多,可减少触发回收的频率,但会删除更多潜在有效缓存;建议与高水位保持合理间距,避免频繁触发小规模回收。​
    Preheater Controller​
    实例个数​
    Preheat Controller 副本数。当集群中预热任务量较大、需要提升控制组件的并发处理能力时,可适当增加副本数;配置为 1 时会降低控制组件的高可用性,单副本故障期间无法触发新的预热任务。​
    ​
    资源配置​
    • CPU:Preheat Controller 组件的 CPU 请求和上限。当预热任务量较大、预热触发频率较高时,可适当调高该值,避免因 CPU 资源不足导致预热任务排队或超时。​
    • 内存:Preheat Controller 组件的内存资源上限。当同时运行的预热任务数量较多时,可适当调高该值,防止因内存不足导致 Preheat Controller 异常重启、任务中断。​
    Preheater Agent​
    资源配置​
    • CPU:Preheater Agent 组件的 CPU 请求和上限。当节点需要并发执行多个预热任务,或预热任务触发较为频繁时,可适当调高该值,避免因 CPU 资源不足导致镜像预热速度变慢或任务执行超时。​
    • 内存:Preheater Agent 组件的内存资源上限。当节点同时执行的预热任务较多,或需要处理的镜像数据量较大时,可适当调高该值,防止因内存不足导致 Preheater Agent 异常重启或预热任务中断。​
    ​
  1. 单击 确认,完成配置。​
升级组件​
组件会不定期发布新版本以提供新特性或修复已知问题。当组件卡片提示有可用更新时,建议您及时进行升级。为确保业务平稳过渡,升级前请尽量安排在业务低峰期执行操作。关于升级的操作步骤和注意事项,请参见 升级组件。​
观测与告警​
组件观测​
p2p-accelerator 组件稳定性和性能直接影响集群功能正常使用和效果,建议您在集群中开启组件观测,帮助您实时掌握组件的健康度。详情请参见 镜像加速观测。​
配置告警​
容器服务基于 托管 Prometheus(VMP)提供完善的集群监控告警能力,您可以直接使用系统预置模板快速创建告警规则组,也可以基于业务实际需求自定义基于 PromQL 语句的告警规则,或在导出预置模板 YAML 后调整规则并沉淀为自定义告警模板,统一复用于多个集群。详情请参见:​
预置告警模板由系统根据常见运维场景预置,适合首次建设告警体系或快速补充基础监控项,帮助您及时发现组件资源不足或运行异常。预置告警模板告警规则详情,请参见 预置告警模板。​
相关文档​
最近更新时间:2026.09.18 11:09:56
这个页面对您有帮助吗?
有用
有用
无用
无用