跳到主要内容

Dynamia ppu-vgpu-device-plugin Chart 0.0.4

发布时间:2026-09-30

版本上一版本版
Chart0.0.30.0.4
appVersion1.0.51.0.5

本次仅调整 Chart 的默认资源命名和监控 Service 标签。插件与监控的默认镜像均保持为 ghcr.io/dynamia-ai/ppu-device-plugin:v1.0.5,内置 PPU-HAMi-core 不变。已有部署升级时,需同时保留资源名称和 DaemonSet 选择器;直接采用新默认值会改变这两项配置。

HAMi Enterprise 兼容性​

如果 Chart 0.0.3 下的 PPU 调度、显存与算力切分及授权已正常工作,升级至 0.0.4 无需同步升级 HAMi Enterprise。以下为默认应用 1.0.5 的既有配套要求,本次没有提高版本下限。

功能或使用场景最低可用 HAMi Enterprise 版本本版配套要求与升级结论
PPU 基础调度、显存与算力切分,以及授权下发和续期;使用旧格式 UUID 授权或型号授权v2.9.0-rc2沿用能够识别现有授权并发布有效 hami.io/alibaba-license 的调度器,无需因本次 Chart 升级更换授权或升级 Enterprise。
使用 deviceInstances 格式的实例授权v2.10.0-r0该格式的既有版本要求不变。原授权已正常生效时,可沿用现有 Enterprise 和授权。

监控 Service 新增标签不要求升级 Enterprise,也不自动建立 Prometheus 采集配置。采集端仍需配置匹配的 Service 发现规则。以上版本下限基于发布制品和接口实现核对,不代表已完成各配套版本的 PPU 实机验证。

版本变化​

Chart 变化​

  • nameOverride 和 fullnameOverride 的默认值均由空字符串改为 ppu-device-plugin。未显式覆盖时,插件、监控、内置 ConfigMap、ServiceAccount 和 RBAC 资源随之改名;app.kubernetes.io/name 标签及相关选择器也改为 ppu-device-plugin。已有资源的名称和选择器不会自动迁移到新名称。
  • 监控 Service 新增 app: ppu-vgpu-monitor 和 component: vgpu-monitor 标签,供按这些标签发现 Service 的采集配置匹配。新增标签位于 Service 元数据,不是 Pod 标签或 Service 选择器。端口名仍为 metrics,默认 Service 端口与 NodePort 仍为 31992,目标容器端口仍为 9394;本次没有改变指标内容或监听端口,也没有新增 ServiceMonitor。

两版均使用各自默认 values 时,主要名称变化如下:

对象或配置Chart 0.0.3Chart 0.0.4
插件 DaemonSetppu-vgpu-device-pluginppu-device-plugin
监控 DaemonSet 和 Serviceppu-vgpu-device-plugin-monitorppu-device-plugin-monitor
内置 ConfigMapppu-vgpu-device-plugin-configppu-device-plugin-config
插件 ServiceAccount、ClusterRole 和 ClusterRoleBindingppu-vgpu-device-pluginppu-device-plugin
监控 ServiceAccount、ClusterRole 和 ClusterRoleBindingppu-vgpu-device-plugin-monitorppu-device-plugin-monitor
app.kubernetes.io/name 标签及选择器值ppu-vgpu-device-pluginppu-device-plugin

fullnameOverride 决定资源名称,优先于 nameOverride;nameOverride 仍独立影响 app.kubernetes.io/name。对采用上一版默认命名的部署,仅固定其中一个值不能同时保留资源名称和选择器。

升级说明​

保留现有名称进行升级​

推荐已有部署保留原资源名称和选择器。若 Chart 0.0.3 使用默认命名,在已有升级 values 中加入以下配置,并保留原 Helm release 名称和命名空间:

nameOverride: ppu-vgpu-device-plugin
fullnameOverride: ppu-vgpu-device-plugin

这组配置在 Chart 0.0.4 中保留上一版的资源名称、DaemonSet 选择器、监控 Service 名称及端口,同时获得新增的 Service 标签。若上一版使用自定义命名,应填写现场实际使用的名称:nameOverride 对应现有 app.kubernetes.io/name,fullnameOverride 对应现有完整资源名前缀,不要直接套用默认示例。

升级前比较新旧渲染清单,确认两个 DaemonSet 的名称与 spec.selector.matchLabels、Service 名称、ConfigMap 引用和 ServiceAccount 引用保持一致。不要只将 fullnameOverride 设为旧名称而保留新的默认 nameOverride:这会让同名 DaemonSet 的选择器发生变化,无法原地更新。Kubernetes 的 DaemonSet 选择器在创建后不可修改。

采用新默认名称的部署需按资源重建和监控切换安排维护,而非按同名资源更新处理。迁移时须同步调整引用旧 Service DNS、ConfigMap、ServiceAccount 或标签的外部配置,避免新旧插件同时管理相同节点。默认监控 NodePort 为 31992;旧 Service 尚占用该端口时,新名称的 Service 不能再申请同一端口,须先安排端口释放或改用未占用端口。参见 Kubernetes 的 NodePort 端口分配约束。

核对监控发现与升级结果​

  • 采集规则若按 Service 标签发现目标,可匹配 app=ppu-vgpu-monitor 和 component=vgpu-monitor,端口选择仍使用 metrics。若配置的是 Pod 标签选择器,不能将本次新增的 Service 标签直接用作 Pod 匹配条件。
  • 采集规则若依赖固定 Service 名称或 app.kubernetes.io/name,按最终采用的命名方案保留或更新规则。检查 Service 是否具有新增标签、Endpoints 或 EndpointSlice 是否指向监控 Pod,以及采集端目标是否正常;仅看到 Service 标签不能证明已完成采集。
  • 默认应用版本没有变化,无需为了本次 Chart 升级替换运行库、迁移授权文件或重建全部业务 Pod。仍需检查插件和监控 DaemonSet 的滚动更新、节点资源上报及已有监控目标。本次 Chart 元数据更新可能触发 Pod 滚动更新,不等同于应用升级。
  • 保留现有 image.repository、image.tag、资源名和设备切分配置;自定义镜像仍由原覆盖配置决定。本次不引入新的拓扑评分开关,也不要求修改现有调度策略。

查看Chart 与 appVersion 对应关系或软件中心。

Values 说明​

以下参数说明取自 Chart 0.0.4 发布包随附的 README,保留原文。默认配置以该版本的 values.yaml 为准。

展开参数表
KeyTypeDefaultDescription
commonAnnotationsobject{}
commonLabelsobject{}
config.createbooltrue
config.data.alibaba.defaultCoresint0
config.data.alibaba.defaultGPUNumint1
config.data.alibaba.defaultMemoryint0
config.data.alibaba.deviceCoreScalingfloat1
config.data.alibaba.deviceMemoryScalingfloat1
config.data.alibaba.deviceSplitCountint10
config.data.alibaba.gpuCorePolicystring"default"
config.data.alibaba.memoryFactorint1
config.data.alibaba.overwriteEnvboolfalse
config.data.alibaba.resourceCoreNamestring"alibaba.com/gpu-core"
config.data.alibaba.resourceCountNamestring"alibaba.com/ppu"
config.data.alibaba.resourceMemoryNamestring"alibaba.com/ppu-memory"
config.data.alibaba.resourceMemoryPercentageNamestring"alibaba.com/ppu-memory-percentage"
config.data.alibaba.runtimeClassNamestring""
config.existingConfigMapNamestring""
fullnameOverridestring"ppu-device-plugin"
image.pullPolicystring"IfNotPresent"
image.pullSecretslist[]
image.repositorystring"ghcr.io/dynamia-ai/ppu-device-plugin"
image.tagstring""
monitor.enabledbooltrue
monitor.resourcesobject{}
monitor.service.enabledbooltrue
monitor.service.nodePortint31992
monitor.service.portint31992
monitor.service.typestring"NodePort"
nameOverridestring"ppu-device-plugin"
namespaceOverridestring"hami-system"
nodeSelector.alibabappustring"on"
plugin.enabledbooltrue
plugin.resources.limits.cpustring"500m"
plugin.resources.limits.memorystring"512Mi"
plugin.resources.requests.cpustring"100m"
plugin.resources.requests.memorystring"128Mi"
priorityClassNamestring"system-node-critical"
tolerations[0].keystring"CriticalAddonsOnly"
tolerations[0].operatorstring"Exists"
tolerations[1].effectstring"NoSchedule"
tolerations[1].operatorstring"Exists"