【征求意见稿】轨道场景视觉边缘智能应用规范_第1页
【征求意见稿】轨道场景视觉边缘智能应用规范_第2页
【征求意见稿】轨道场景视觉边缘智能应用规范_第3页
【征求意见稿】轨道场景视觉边缘智能应用规范_第4页
【征求意见稿】轨道场景视觉边缘智能应用规范_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2轨道交通场景视觉边缘智能部署与应用规范本标准规定了轨道场景视觉边缘智能应用的接入原则、容器镜像交付与运行规范、镜像合规性验证、边云协同视频推理与视频传输等要求。本标准适用于轨道交通场景中智能监控与视频分析系统的建设、运行与维护,适用对象包括轨道交通运营企业、车辆制造企业、科研院所及第三方服务机构等。2规范性引用文件下列文件对于本文件的应用是必不可少的,凡是注日期的引用文件,注日期的版本适用于本文件,如其有最新版本以最新版本为准。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T32400-2015信息技术云计算概览与词汇GB/T11457-2006信息技术软件工程术语GB/T44158-2024信息技术云计算面向云原生的应用支撑平台功能要求ISO/IEC2382-2015信息技术词汇GB/T45401.2-2025人工智能计算设备调度与协同第2部分:分布式计算框架DB11/T1681-2019城市轨道交通视频监视系统技术规范3术语、定义和缩略语3.1术语和定义GB/T32400-2015、GB/T11457-2006、GB/T44158-2024、ISO/IEC2382-2015、GB/T45401.2-2025、DB11/T1681-2019界定的以及下列术语和定义适用于本文件。3.1.1容器(container)基于操作系统内核提供的隔离与资源限制机制,在同一内核上运行的、相互隔离的应用进程(或进程组)及其运行环境。3.1.2容器化应用(containerapplication)基于容器构建和运行的应用程序。3.1.3容器镜像(containerimage)用于描述容器运行环境及其应用内容的只读模板,包含应用程序、运行时环境及其依赖组件。33.1.4基础镜像(baseimage)由平台提供或明确指定的、作为业务镜像构建基础的容器镜像,包含通用运行环境和公共组件。3.1.5业务镜像(applicationimage)在基础镜像之上构建、仅叠加与具体业务相关组件和配置的容器镜像。3.1.6边侧计算(edgecomputing)一种分布式计算方法或过程,其中处理及存储过程发生在分布式系统的边侧。3.2缩略语以下缩略语适用于本标准:CPU,CentralProcessingUnit,中央处理器GPU,GraphicsProcessingUnit,图形处理器CI,ContinuousIntegration,持续集成JSON,JavaScriptObjectNotation,一种轻量级数据交换格式MPS,Multi-ProcessService,一种用于实现GPU共享的GPU多进程服务API,ApplicationProgrammingInterface,应用程序编程接口RTSP:Real-TimeStreamingProtocol,视频传输中的实时流化协议ROI,RegionofInterest,视频目标检测中的感兴趣区域SVC,ScalableVideoCoding,可分层视频编码4接入总体原则轨道场景边云协同系统在接入供应商提供的视觉边缘智能应用容器镜像及容器化应用时,应遵循统一规范、分级管控、可管可控、持续运维的总体思路,确保平台运行安全、稳定、高效,保障多供应商应用在同一平台环境下的有序运行。4.1统一接入原则a)供应商容器镜像及容器化应用的接入应遵循统一的技术规范和管理要求,采用标准化的镜像格式、运行方式和接口机制,不得因供应商差异引入非标准实现。b)接入过程中应避免依赖特定厂商的私有实现或非通用机制,确保平台具备良好的开放性、可扩展性和可持续演进能力。4.2安全可控原则a)供应商提供的容器镜像和容器化应用应满足平台在安全性方面的统一要求,其构建过程、运行行为和资源使用应处于平台的可管可控范围内。b)容器运行过程中不得绕过平台安全机制直接访问宿主机关键资源,不得破坏平台既有的安全隔离策略和访问控制体系。44.3最小侵入与解耦原则a)供应商容器化应用的接入应遵循最小侵入原则,不得对平台基础环境和宿主机系统进行非必要的改动。b)应用应通过平台提供的标准能力和接口获取运行所需资源和服务,避免与底层基础设施形成强耦合关系,以降低系统维护复杂度和后续升级风险。4.4可部署与可运维原则a)接入的容器镜像和容器化应用应具备良好的可部署性和可运维性,支持在边云协同环境下的自动部署、启动、停止、重启和升级等运行管理操作。b)应用运行状态、日志信息和关键运行数据应满足平台统一的运维管理和监控要求,便于故障定位、运行分析和日常运维管理。4.5资源受控与公平使用原则a)供应商容器化应用在运行过程中应遵循平台统一的资源管理策略,合理申请和使用计算、存储及加速资源,不得通过规避调度机制或超额占用资源影响其他应用的正常运行。b)平台有权根据整体运行情况对不合理的资源配置进行调整或限制,以保障系统整体运行的稳定性和公平性。4.6可追溯与可审计原则a)供应商提交的容器镜像应具备明确的来源信息和构建追溯能力,其构建过程、版本变更和运行状态应支持审计和回溯分析。b)接入平台的容器镜像和应用应满足平台在合规性审查、运行审计和问题追责等方面的管理要求。5容器镜像交付规范5.1镜像命名与版本规范5.1.1镜像命名规范供应商提交的业务镜像应采用统一、简洁的命名方式,镜像名称中不得包含镜像仓库地址、端口号及项目名称等信息。镜像名称应采用如下格式:<image-name>:<tag>其中,<image-name>为业务镜像名称,<tag>为镜像版本标识。示例:myapp:1.0供应商在提交镜像时,应通过平台提供的接入界面或接口单独填写镜像仓库地址和项目5名称。若镜像仓库未使用默认端口号(443),应在仓库地址中显式指定端口号。注:采用统一的镜像命名方式有助于平台对镜像进行统一管理、校验和运维,避免因命名差异引发的解析和维护问题。5.1.2镜像版本规范供应商提交的业务镜像应显式指定镜像版本号。当供应商未提供镜像版本号时,平台默认使用latest作为镜像版本标识。注:平台不对latest镜像的版本稳定性和可重复性提供保证,供应商应在正式交付和生产部署场景中优先使用明确的版本标识。5.2基础镜像与依赖要求供应商在构建业务镜像时,所使用的基础镜像和依赖应满足以下要求:a)供应商使用的基础镜像必须为平台提供或明确指定的基础镜像,不得擅自替换或修改基础镜像来源;b)供应商构造的业务镜像中,不得重复加入基础镜像中已包含的组件或功能模块;c)业务镜像仅允许在基础镜像之上叠加与自身业务直接相关的新增组件和依赖。5.3镜像元数据与构建追溯信息要求供应商提供的镜像元数据与构建追溯信息应满足下列要求:5.3.1基础镜像层完整性要求业务镜像应完整包含所依赖的基础镜像层。平台可通过dockerinspect命令检查镜像元数据中的分层信息,其中:lRootFS.Layers字段记录了镜像自底向上的所有镜像层;lGraphDriver.Data.LowerDir字段记录了对应镜像层在宿主机中的物理存储路径。当业务镜像基于指定基础镜像构建时,其上述字段内容应包含基础镜像对应的全部层级信息。平台可据此判断业务镜像是否基于指定基础镜像构建。5.3.2构建过程可追溯要求业务镜像的构建过程应具备可追溯性。平台可通过dockerhistory命令查看镜像的构建层级及对应的Dockerfile指令,用于核验镜像构建流程的规范性和合理性。65.3.3构建信息可追溯要求业务镜像应在元数据中包含必要的构建追溯信息,包括但不限于构建方式、构建时间和责任主体等内容。镜像元数据中的:lComment字段用于记录镜像的构建方式;lCreated字段用于记录镜像的构建时间;lLabels字段用于记录标准化的镜像标签信息。供应商可通过在Dockerfile中使用LABEL指令显式标注镜像构建责任主体,或通过持续集成(CI)流程自动注入构建来源相关的元数据,以满足镜像构建追溯信息要求。6容器化运行规范6.1容器运行模式要求容器运行模式应满足以下要求:a)容器应以前台进程模式运行,或采用受控方式启动后台守护进程,确保容器主进程状态可被平台正确感知和管理;b)容器启动命令应明确且唯一,禁止在镜像中包含多个入口启动脚本或不确定的启动逻辑,以避免运行行为不可控;c)容器应支持在节点断电重启、容器异常退出等场景下由平台自动重新拉起,业务应用应具备幂等启动能力;d)容器运行模式应兼容平台统一的调度与管理机制,不得绕过平台直接操作宿主机资源或运行环境。6.2日志与数据目录映射要求容器日志与运行数据的目录映射应满足以下要求:a)容器内产生的业务日志和运行数据不得直接写入容器文件系统的随机路径,应通过volume映射方式统一落盘至宿主机目录;b)平台统一约定宿主机日志存储目录为/mnt/log/<image-name>,供应商应按平台要求进行目录映射;c)日志文件应采用通用文本格式(如.log),不得使用仅可在特定工具中解析的私有二进制格式;d)日志内容应至少包含时间戳、日志级别和业务标识,日志时间基准应与平台统一的7系统时间同步服务保持一致;e)禁止将日志直接输出至宿主机系统目录,避免影响宿主机系统稳定性和安全性。6.3资源使用与限制要求容器在运行过程中对计算和加速资源的使用应满足以下要求:a)所有容器必须显式声明CPU与内存的资源请求(request)和限制(limit),禁止以无限制方式运行容器;b)资源配置应与业务实际负载相匹配,不得通过过度申请资源的方式规避调度机制或抢占节点算力;c)平台有权基于运行监控结果,对资源配置不合理的容器采取限制、调整或下线等管理措施;d)在不使用GPU的场景下,容器不得声明或占用任何GPU资源,CPU与内存资源应分别通过request/limit明确限制,容器CPU使用应受cgroup机制约束,不得长期占用节点全部CPU资源影响其他业务运行;e)在使用GPU的场景下,GPU资源的申请数量应与平台配置的GPU共享策略保持一致,不得超额声明。在启用GPU共享的场景下,GPU资源数量用于表示调度配额比例,不代表物理GPU独占。容器应通过平台统一提供的GPU插件和运行时使用GPU,禁止在容器内直接操作宿主机GPU设备节点或修改宿主机GPU配置。容器在使用GPU的同时,仍应显式声明CPU与内存资源限制,防止GPU任务间接耗尽系统资源。如业务需要限制GPU算力或显存使用,应通过平台支持的环境变量或配置方式进行,不得私自调整宿主机GPU参数。6.4容器生命周期管理要求容器生命周期管理应满足以下要求:a)容器应支持标准的启动、停止和重启流程,并能够正确响应平台下发的终止信号;b)容器在停止时应具备正常退出能力,在平台规定时间内完成资源释放和数据写入,避免因强制中断导致数据异常;c)容器的启动、运行和退出过程应具备可观测性,相关事件应可通过平台容器事件或日志进行追溯;d)禁止在容器内引入需要人工干预的交互式启动流程;e)容器版本升级应支持滚动替换或重新部署方式,不得依赖对运行中容器进行人工修86.5日志与运行数据管理要求日志与运行数据管理应满足下列要求:a)容器运行日志应长期存储在宿主机映射目录中,确保容器重建或重启后日志不丢失;b)日志文件应支持按时间或文件大小进行滚动,避免单个日志文件无限增长占满磁盘空间;c)运行过程中产生的临时文件应定期清理,不得长期占用日志或数据目录;d)日志与数据目录的读写权限应遵循最小权限原则,禁止授予不必要的宿主机系统权e)平台有权对容器日志与运行数据进行统一采集、下载和审计,供应商应确保日志内容真实、完整且可解析。7镜像合规性验证要求7.1合规性校验要求平台通过对业务镜像与其所依赖的基础镜像进行对比分析,对业务镜像中新增的镜像层及其对应的文件内容进行检测,以验证业务镜像是否重复包含基础镜像中已提供的组件或功能模块。镜像合规性校验的目标是确保供应商在使用平台指定基础镜像的前提下,仅在业务镜像中叠加与自身业务直接相关的内容,避免重复引入基础镜像中已包含的组件。在供应商构建业务镜像之前,平台应向供应商提供基础镜像及其所包含组件的内容清单,作为镜像合规性校验的依据。业务镜像合规性校验要求如下:a)供应商须提供原始基础镜像与对应业务镜像进行校验。通过dockersave导出基础镜像与供应商构建的业务镜像,将其上传至平台。检测业务镜像中是否包含配置文件中的组件,如果不包含相关组件则通过检测;如果包含相关组件,平台将显示检测到的具体内容,以满足合规性校验要求。b)供应商须提供基础镜像内容清单对应的配置文件。供应商需要根据基础镜像打包的内容清单编写配置文件,格式为JSON。配置文件中记录需要检测的镜像和对应的组件,具体来说,JSON中的键为镜像名称,值为其中的关键组件。97.2不合规处理与整改要求当业务镜像未通过合规性校验时,平台有权判定该镜像为不合规镜像,并根据管理策略决定是否保留该镜像以及是否允许其推送至平台镜像仓库。平台向供应商提供镜像合规性检测结果,并以检测报告的形式告知业务镜像中存在的不合规内容。不合规处理与整改应满足以下要求:a)供应商须获取并阅读镜像检测报告。镜像不合规时,供应商应获取镜像检测报告并了解冗余组件的详细信息,包括组件名称和其所属镜像。b)供应商须删除检测报告中的冗余组件。供应商需要根据检测报告内容重新编写Dockerfile,删除多余的应用安装指令,重新执行镜像构建过程生成新的业务镜像。c)供应商须再次执行导出镜像操作。重新生成业务镜像后,供应商需要再次通过dockersave导出镜像并上传至平台进行镜像检测过程。8边云协同计算模块镜像及容器化规范本章规定了轨道场景下边云协同视频智能推理系统的容器镜像构建、运行及运维管理的技术要求。适用于车载端与服务器端协同推理模块的容器化设计、部署与运维,为资源受限、网络波动环境下的视频推理任务提供连续性、实时性与可运维性保障。8.1边云协同镜像构建要求8.1.1命名与版本管理要求边云协同镜像名称应由推理计算的业务标识符与版本号构成,格式:<业务标识>:<主版本>.<次版本>,同时注明是该镜像部署于车载端或服务器端,如yolo-edge:v1.1,避免使用latest标签。版本号变更应遵循语义化版本规范:主版本号变更表示不兼容更新,次版本号表示功能增强。镜像标签应与构建配置、源码版本建立可追溯关联。8.1.2基础环境要求基础镜像应提供适配车载端和服务器端目标硬件架构(如ARM64)的深度学习推理运行环境,包含:a)经认证的CUDAToolkit及驱动兼容层;主流深度学习框架(如PyTorch、TensorFlow)运行时;b)Python3.7及以上基础环境;c)基础镜像来源应为官方或可信仓库,且应通过安全漏洞扫描,无高危及以上级别漏洞。8.1.3业务镜像要求业务镜像应遵循最小化构建原则,在基础镜像之上仅集成以下必要组件:a)视频智能推理框架(支持主流目标检测/识别模型如YOLO);b)视频编解码与图像处理库(如OpenCV);c)轻量级端-边通信组件(如ZMQ);d)资源监测组件(支持GPU/CPU/内存等关键指标采集);e)前后端服务运维库(如Flask)。8.2边云协同容器运行与管理要求8.2.1运行模式车载端与服务器端应在启动时暴露通信端口和Web管理端口,端口号应在部署配置中可定义。车载端容器:a)默认应以客户端模式自动运行,启动时同步初始化资源监测进程;b)应实时采集本地计算资源负载(如GPU利用率),依据预设阈值与网络状态动态决c)本地资源充足且网络不稳定时,可优先执行车载端推理;d)资源紧张或任务复杂度高时,可将任务卸载至服务器端;e)通信协议应满足低延迟、高可靠要求;f)应与服务器端建立持久化通信连接,支持心跳保活、任务接收与结果回传。服务端容器:a)应提供标准化管理接口(如RESTfulAPI),支持服务状态查询、任务调度、日志检b)应内置健康检查机制,异常退出后平台应依据预设策略自动重启;c)推荐采用“管理服务+推理调度”一体化架构,避免多进程管理复杂度。8.2.2日志与数据管理a)运行日志应输出至标准输出流;b)应支持日志轮转、归档及远程采集,保留周期应可配置;c)管理接口应提供日志查询与下载功能,满足审计与故障分析需求。数据持久化:a)输入视频流、推理结果、配置文件等关键数据应通过主机目录挂载实现持久化;b)挂载路径应在部署文档中明确定义,避免容器重建导致数据丢失;c)车载端资源监测工具路径应通过只读方式挂载,确保监测功能可用性;d)其他要求同前文6.2日志与数据目录映射要求,6.5日志与运行数据管理要求。8.2.3资源与安全约束a)GPU资源应通过容器平台声明式调度(如--gpus参数不可用时应自动退化至CPU推理;b)系统应通过深度学习框架调用GPU计算能力,不直接操作宿主机GPU设备节点或修改宿主机GPU配置,GPU资源由平台侧NVIDIA运行时与插件统一管理;c)其他要求同前文6.3资源使用与限制要求。8.2.4生命周期与运维同前文6.4容器生命周期管理要求。9视频传输优化模块镜像及容器化规范本章规定了面向城市轨道交通车辆的视频传输优化模块(含视频流、超分辨率、时空冗余压缩、视频分层编码)的容器镜像构建、运行及运维管理的技术要求。适用于上述功能模块的容器化设计、部署与运维,旨在提升视频传输效率、降低带宽占用、保障关键区域视频质量与传输可靠性。9.1视频传输镜像构建要求9.1.1命名与版本管理命名要求同前文8.1.1命名与版本管理要求。9.1.2基础环境要求基础环境要求同前文8.1.2基础环境要求。9.1.3业务镜像构建原则各功能镜像应遵循最小化构建原则,在基础镜像之上仅集成必要组件;且共用基础组件:视频处理工具库(如FFmpeg)、前后端服务运维框架(如Flask)。各功能模块镜像内应包含的组件有:a)视频流模块镜像:摄像机设备驱动工具库;b)超分辨率模块镜像:超分辨率算法模型、图像增强算法库;c)时空冗余压缩模块:轻量级目标检测模型、图像分析算法库;d)视频分层编码模块:支持H.264-SVC/H.265-SVC标准的可伸缩视频编码库、硬件编码加速接口、网络状态感知组件(如iperf3)。9.2视频传输容器运行与管理要求9.2.1视频流模块运行模式车载端容器:a)应支持通过RTSP/ONVIF等标准协议从多路车载摄像机实时拉流,输出H.264/H.265格式视频流或分段保存为MP4等压缩格式视频文件;b)应以常驻服务模式运行,支持摄像机连通性检测与重连机制;c)应支持通过配置文件对摄像机设备路径、分辨率、帧率等参数进行运行时动态调整;服务器端容器:a)应提供标准化服务接口(如RESTfulAPI),支持对多列车视频流状态的集中监控、参数远程配置及启停控制;b)应具备流接入认证与权限管理能力,防止未授权访问。9.2.2超分辨率模块运行模式应部署于具备GPU资源的高算力节点,支持对上传的关键帧或视频片段执行超分辨率重建;a)应提供标准化服务接口,支持任务队列与并发处理;b)应支持动态配置模型路径、放大倍数、批处理策略等参数;c)应支持GPU加速,资源不足时具备任务降级或排队能力;d)处理结果应包含质量评估指标(如PSNR、SSIM),并支持与原始视频关联存储。9.2.3时空冗余压缩模块运行模式车载端容器:a)应基于轻量级目标检测组件实时识别感兴趣区域(ROI),与背景区域进行差异化编码,对ROI区域采用高码率编码,背景区域采用低码率策略;b)应结合场景动态性,自适应去除时域冗余,动态调整抽帧策略,避免关键动作丢失;c)应与视频流模块达成无缝衔接,以流水线方式处理并发往服务器端;d)应支持动态调整检测模型权重、ROI阈值、抽帧比例等参数;e)压缩率与推理精度应满足预设阈值(如mAP≥0.8);f)端到端处理延迟应满足车载端实时性要求,宜≤100ms。服务器端容器:a)应提供标准化管理接口,支持同时接收多路压缩视频流,分发给推理模块进行并行推理分析。b)应支持压缩效果统计(如带宽节省率、推理精度)并生成运维报表。9.2.4视频分层编码模块运行模式车载端容器:a)应能够对输入视频流执行SVC分层编码,生成分辨率或帧率逐层叠加的基本层与增强层,基本层应能独立解码出可播视频;b)应根据源视频信息具备编码参数的自适应能力,尽可能保持各层码率分配均匀;c)应支持根据网络状态动态调整传输层数,网络波动时应优先保障基本层传输,增强层按需丢弃以保证传输的及时性;d)应在传输时同时提供源视频分辨率、帧率、码率等信息,以供解码参考;e)分层维度、分层数量、各层码率等参数应可配置;f)应优先调用硬件编码能力(如NVENC编码延迟应满足实时传输要求,宜≤50ms。服务器端容器:a)应能够根据源视频信息及获取到的层数据进行基本层解码及增强层叠加;b)应提供解码状态监控、层缺失告警;c)应支持远程发起补传请求,获取未传到的层数据,以还原高质量视频;d)应提供标准化管理接口,支持接收多路分层视频,进行并行解码。9.2.5视频传输通用运维管理要求a)日志与数据管理:运行日志输出、轮转、查询及数据持久化挂载要求,同第8章8.2.2节;b)资源与安全约束:GPU调度、安全限制、资源上限等要求,同第8章8.2.3节;c)生命周期与运维:启停、升级、监控、审计等要求,同第8章8.2.4节。接口示例A.1镜像仓库接口A.1.1获取系统信息接口接口名称:/api/v2.0/systeminfo功能说明:获取Harbor系统信息,主要用于获取CSRFtoken用于后续的删除操作。表A.1.1.1获取系统信息接口输入/输出参数名称方向类型必选约束默认值说明Authorization输入String是--Base64认证头x-harbor-csrf-token输出String否--校验请求来源合法性字段A.1.2获取项目列表接口接口名称:/api/v2.0/projects功能说明:获取Harbor中所有项目的列表,用于后续获取每个项目的镜像仓库。表A.1.1.2获取项目列表接口输入/输出参数名称方向类型必选约束默认值说明data输出Array是--项目列表数组name输出String是--项目名称project_id输出Integer否--项目ID名称方向类型必选约束默认值说明owner_id输出Integer否--所有者IDcreation_time输出String否ISO8601格式-创建时间A.1.3获取项目仓库接口接口名称:/api/v2.0/projects/{projectName}/repositories?page={page}&page_size={page_size}功能说明:获取指定项目下的所有镜像仓库列表,支持分页查询。表A.1.1.3获取项目列表接口输入/输出参数名称方向类型必选约束默认值说明projectName输入String是--项目名称page输入Integer否正整数1页码,从1开始page_size输入Integer否每页数量data输出Array是--仓库列表数组name输出String是--仓库名称pull_count输出Integer否-0拉取次数tags_count输出Integer否-0标签数量creation_time输出String否ISO8601格式-创建时间A.1.4获取仓库镜像版本列表接口接口名称:/api/v2.0/projects/{projectName}/repositories/{repositoryName}/artifacts?page={page}&page_size={page_size}&with_tag={with_tag}功能说明:获取指定仓库下的所有镜像版本列表,支持分页查询和标签过滤。表A.1.1.4获取仓库镜像版本列表接口输入/输出参数名称方向类型必选约束默认值说明projectName输入String是--项目名称repositoryName输入String是--仓库名称名称方向类型必选约束默认值说明page输入Integer否正整数1页码,从1开始page_size输入Integer否每页数量with_tag输入Boolean否true/falsefalse是否包含标签信息data输出Array是--镜像版本列表数组id输出Integer是--镜像版本IDdigest输出String是--镜像版本摘要size输出Integer否-0镜像大小push_time输出String否ISO8601格式-推送时间tags输出Array否--标签列表name输出String是--标签名称immutable输出Boolean否true/falsefalse是否不可变immutable_status输出String否immutable/not_immutable-不可变状态A.1.5删除镜像版本接口接口名称:/api/v2.0/projects/{projectName}/repositories/{repositoryName}/artifacts/{reference}功能说明:删除指定的镜像版本,删除后如果仓库为空,会自动删除仓库。表A.1.1.5删除镜像版本接口输入/输出参数名称方向类型必选约束默认值说明projectName输入String是--项目名称repositoryName输入String是--仓库名称reference输入String是URL编码-镜像版本引用,可以是摘要x-harbor-csrf-toke输入String否--CSRFtoken字段,名称方向类型必选约束默认值说明n通过请求头传递A.1.6删除仓库接口接口名称:/api/v2.0/projects/{projectName}/repositories/{repositoryName}功能说明:删除整个仓库(当仓库为空时调用)。表A.1.1.6删除仓库接口输入/输出参数名称约束认值说明projectName输入String是--项目名称repositoryName输入String是--仓库名称x-harbor-csrf-token输入String否--CSRFtoken字段,通过请求头传递A.2镜像检测服务接口A.2.1镜像检测接口接口名称:/detect功能说明:检测镜像中是否包含特定组件,返回检测结果。表A.1.2.1镜像检测接口输入/输出参数名称方向类型必选约束默认值说明hostIp输入String是IP地址-主机IP地址baseImage输入String是--基础镜像引用targetImage输入String否--待检测镜像引用useUploadedImages输入Boolean是true/falsetrue是否使用已上传的镜像passed输出Boolean是true/false-检测是否通过details输出Object否-检测详情message输出String否--检测消息scanPaths输出Array否-扫描路径列表A.2.2推送镜像接口接口名称:/push功能说明:将检测后的镜像推送到Harbor镜像仓库。表A.1.2.2推送镜像接口输入/输出参数名称方向类型必选约束默认值说明harborHost输入String是IP或域名-Harbor地址project输入String是-library项目名称targetImage输入String否--待推送镜像引用registryUsername输入String否-undefined镜像仓库用户名registryPassword输入String否-undefined镜像仓库密码status输出String是ok/error-推送状态ref输出String是--推送后的镜像引用logs输出Array否-Dockerpush日志数组logs[].status输出String否--message输出String否--error输出String否--错误信息errorDetail输出Object否--错误详情errorDetail.message输出String否--错误详情消息A.2.3获取配置接口接口名称:/config功能说明:获取当前镜像检测服务的配置信息。表A.1.2.3获取配置接口输入/输出参数名称方向类型必选约束默认值说明名称方向类型必选约束默认值说明source输出String否file/default-配置来源message输出String否--配置说明消息config输出Object否-配置对象A.2.4清除配置接口接口名称:/config功能说明:清除当前镜像检测服务的配置。表A.1.2.4清除配置接口输入/输出参数名称方向类型必选约束默认值说明message输出String否--配置说明消息A.2.5上传配置文件接口接口名称:/config/upload功能说明:上传JSON格式的配置文件。表A.1.2.5上传配置文件接口输入/输出参数名称方向类型必选约束默认值说明file输入File是.json扩展名-JSON配置文件source输出String否filefile配置来源message输出String否--配置说明消息config输出Object否-配置对象A.2.6设置配置接口接口名称:/config/set功能说明:通过JSON请求体设置配置。表A.1.2.6设置配置接口输入/输出参数名称方向类型必选约束默认值说明config输入Object是JSON对象-配置对象名称方向类型必选约束默认值说明source输出String否--配置来源message输出String否--配置说明消息config输出Object否-配置对象A.2.7上传镜像文件接口接口名称:/upload-images功能说明:上传基础镜像和待检镜像的tar文件,支持上传进度监控。表A.1.2.7上传镜像文件接口输入/输出参数名称方向类型必选约束默认值说明baseImage输入File是--基础镜像tar文件targetImage输入File是--待检镜像tar文件baseImageName输入String否--基础镜像名称(从文件名提取)targetImageName输入String否--待检镜像名称(从文件名提取)baseImage输出String是--上传后的基础镜像引用targetImage输出String是--上传后的待检镜像引用镜像与配置文件示例B.1基础镜像示例模拟基础镜像构建,基于ubuntu:20.04构建一个带有CUDA支持、Python3环境和MySQL数据库的基础镜像base-image。本示例仅用于说明基础镜像中组件清单与合规性校验方式,不代表平台实际基础镜像的功能范围和配置水平。FROMubuntu:20.04ENVDEBIAN_FRONTEND=noninteractive\TZ=Asia/Shanghai\LANG=en_US.UTF-8\LC_ALL=en_US.UTF-8\MYSQL_USER=myuser\MYSQL_PASSWORD=mypassword\MYSQL_DATABASE=mydb\MYSQL_ROOT_PASSWORD=rootpassRUNapt-getupdate&&apt-getinstall-y--no-install-recommends\build-essential\git\curl\wget\vim\nano\ca-certificates\unzip\pkg-config\gnupg2\software-properties-common\lsb-release\locales\tzdata\python3\python3-pip\python3-venv\python3-dev\mysql-server\&&rm-rf/var/lib/apt/lists/*RUNlocale-genen_US.UTF-8RUNset-eux;\apt-getupdate&&apt-getinstall-y--no-install-recommendscurlca-certificatesgnupg2;\mkdir-p/usr/share/keyrings;\curl-fsSL/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pu|gpg--dearmor-o/usr/share/keyrings/cuda-archive-keyring.gpg;\echo"deb[signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg]/compute/cuda/repos/ubuntu2004/x86_64//"\>/etc/apt/sources.list.d/cuda.list;\apt-getupdate;\apt-getinstall-y--no-install-recommendscuda-toolkit-12-1;\rm-rf/var/lib/apt/lists/*RUNpython3-mpipinstall--no-cache-dir--upgradepipsetuptoolswheelVOLUME["/var/lib/mysql","/var/log/mysql"]EXPOSE3306WORKDIR/workspaceCMDservicemysqlstart&&bashB.2合规业务镜像示例基于上述基础镜像,添加Redis应用。Dockerfile如下:FROMbase-imageRUNapt-getupdate&&apt-getinstall-y--no-install-recommends\redis-server\&&rm-rf/var/lib/apt/lists/*EXPOSE6379WORKDIR/workspaceCMDservicemysqlstart&&redis-server--daemonizeyes&&bashB.3不合规业务镜像示例基于上述已经包含Python3的基础镜像,重复添加了Python2应用,可视为不合规业务镜像。Dockerfile如下:FROMbase-imageRUNapt-getupdate&&apt-getinstall-y--no-install-recommends\python2\&&rm-rf/var/lib/apt/lists/*WORKDIR/appCMD["python","--version"]B.4配置文件示例根据基础镜像内容清单编写的JSON格式配置文件如下所示,键为镜像名称,值为其中的关键组件:{"python":["python","libpython""cuda":[,"libcuda.so","libcudart.so""libcublas.so""libcudnn.so",,"nvidia-smi""mysql":["libmysqlclient.so","mysqld","mysql","mysqladmin""nginx":["nginx","libnginx.so""redis":["redis-server""redis-cli""libredis.so"]}容器运行示例C.1基础运行示例本示例用于展示容器化应用在平台环境中的典型运行方式,包括容器启动命令、运行参数配置以及运行时环境变量设置等内容。示例中的容器仅用于演示容器在平台中的运行行为,不涉及容器构建规范或组件复用等要求。通过该示例,可说明容器以单一入口方式启动、在受控环境中运行,并满足平台对容器运行模式和资源管理的相关要求。本示例仅作为容器运行方式的参考示例,不作为平台对具体实现方式的约束。实际部署时,供应商应按照本规范中关于容器运行、资源限制和日志管理等要求进行配置。apiVersion:v1metadata:name:cpu-only-testspec:restartPolicy:Nevercontainers:-name:cpu-onlyimage:demo-timercommand:["./demo_timer"]args:["10000"]env:-name:LOG_DIRvalue:/mnt/log/demo-timerresources:requests:cpu:"250m"memory:"256Mi"limits:cpu:"1000m"memory:"512Mi"volumeMounts:-name:app-logmountPath:/mnt/log/demo-timervolumes:-name:app-loghostPath:path:/mnt/log/demo-timertype:DirectoryOrCreateC.2GPU运行示例本示例用于展示容器化应用在使用GPU资源场景下的典型运行方式。通过该示例,可说明容器在平台统一调度与管理机制下,通过标准资源声明方式使用GPU计算资源,并在使用GPU的同时显式声明CPU与内存资源限制,避免绕过平台机制直接操作宿主机设备。本示例仅作为GPU场景下容器运行方式的参考示例。实际部署时,GPU资源的使用应符合本规范中关于资源申请与限制的相关要求。apiVersion:v1metadata:name:gpu-testspec:restartPoli

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论