HAMi Enterprise 2.9.0-r3
| Chart 版本 | Chart 声明的 appVersion | 软件发布日期 | Chart 包发布日期 |
|---|---|---|---|
2.9.0-r3 | 2.9.0-r3 | 2026 年 6 月 26 日 | 2026 年 6 月 29 日 |
本次为 patch 版本,以下变化以 HAMi Enterprise v2.9.0-rc2 为比较基线。安装包为 hami-enterprise-2.9.0-r3.tgz。
软件变更
- 修复 NVIDIA 运行库挂载顺序。 先挂载容器缓存目录,再挂载
libvgpu.so,避免目录挂载遮住运行库文件、导致预加载失败。 - 补齐 Downward API 路径的共享缓存环境变量。 设备配置
nvidia.useDownward: true时,为 GPU 业务容器注入CUDA_DEVICE_MEMORY_SHARED_CACHE,按 Pod 命名空间、Pod 名称和容器名称定位缓存文件。本版 Chart 的设备配置默认开启 Downward API 路径。 - 补齐初始化容器的 NVIDIA 设备分配标注。 标注阶段不再跳过初始化容器,普通容器继续按扣除初始化容器数量后的位置匹配。此项仅说明标注修复;Webhook 仍只遍历普通容器,不能将其视为初始化容器的 GPU 使用流程已完整支持。
- 修复授权状态更新后调度器继续使用旧状态的问题。 即使节点设备注册信息没有变化,授权有效性和到期信息变化也能更新到调度状态中。
- 增加授权相关 Kubernetes 事件。 授权加载失败、过期或失效等情况可通过关联授权 Secret 的事件查看,便于排查不可分配设备的原因。
Chart 变更
调度器名称与组件标签
schedulerName 默认值由 hami-enterprise-scheduler 恢复为 hami-scheduler。Chart 名称仍为 hami-enterprise;这项变化不等于 Kubernetes 资源对象名称也恢复为旧名称。
| 标签 | 2.9.0-rc2 | 2.9.0-r3 |
|---|---|---|
调度器 app.kubernetes.io/component | hami-enterprise-scheduler | hami-scheduler |
设备插件 app.kubernetes.io/component | hami-enterprise-device-plugin | hami-device-plugin |
两类组件的 app.kubernetes.io/name | 默认 hami-enterprise | 固定 hami |
两类组件的 app.kubernetes.io/instance | Helm release 名称 | 固定 hami |
组件选择器使用上述固定标签。依赖 release 名称筛选组件的脚本需要调整,尤其不能再假设 app.kubernetes.io/instance 等于实际 release 名称。
自定义 values 校验
修复 2.9.0-rc2 将下列配置限定为 null 的问题,改为相应类型及默认值:
| 配置 | 类型 | 默认值 |
|---|---|---|
devicePlugin.nvidiaDriverRoot、devicePlugin.nvidiaHookPath | 字符串 | "" |
devicePlugin.gdrcopyEnabled、devicePlugin.gdsEnabled、devicePlugin.mofedEnabled | 布尔值 | false |
scheduler.admissionWebhook.whitelistNamespaces | 列表 | [] |
scheduler.admissionWebhook.namespaceSelector.matchLabels | 映射 | {} |
驱动路径、GDRCopy、GDS、OFED 和命名空间筛选均为已有配置,本次修复其类型校验与模板判断。布尔开关为 false 时不注入相应启用环境变量,空驱动路径不生成对应驱动目录挂载。
global.imageTag 默认更新为 v2.9.0-r3,调度扩展器、NVIDIA 设备插件和监控容器的默认仓库仍为 ghcr.io/dynamia-ai/hami-enterprise。
升级说明
从 2.9.0-rc2 升级时,需要处理调度器 Deployment 和设备插件 DaemonSet 的选择器变化。 Kubernetes 不允许原地修改这两类资源的 .spec.selector。默认配置下资源名称没有变化,但选择器已变化,直接原地升级会遇到不可变字段错误。
升级前保存现有 values 和资源清单,用实际 release 名称、命名空间及自定义 values 渲染目标 Chart,确认受影响的具体资源名。在维护窗口内安排这两类资源的重建并应用新 Chart,随后检查调度器就绪、设备插件重新注册和新建 GPU 工作负载的分配结果。不要只处理 Deployment 而遗漏 DaemonSet,也不要在未核对名称时套用固定名称的删除命令。
同时检查以下集成项:
- 调度器名称:显式使用
hami-enterprise-scheduler的工作负载模板应改用hami-scheduler,或通过 Chart 的schedulerName显式保留原名称,使两端一致。 - 标签选择器:更新自定义监控、巡检和 Service 选择器,使用上表目标标签;多套安装还应通过实际命名空间及资源名称区分实例。
- 自定义 values:按表格类型迁移旧的
null配置,并确认需要启用的布尔开关为true。先验证合并后的 values,避免直接复用旧值导致校验或渲染结果不符预期。 - 设备绑定授权:本版调整了设备绑定授权的要求。使用此类授权的部署,应在升级前通过交付方确认并准备与目标版本匹配的授权文件,避免升级后设备无法参与新工作负载分配。
- NVIDIA 工作负载:共享缓存环境变量和挂载修复在新创建的容器上生效;已有容器不会因管理组件升级自动重新注入。
安装包及授权文件通过约定的交付渠道获取。查看Chart 与 appVersion 对应关系或软件中心。
Values 说明
以下参数说明取自 Chart 2.9.0-r3 发布包随附的 README,保留原文。默认配置以该版本的 values.yaml 为准。
展开参数表
| Key | Type | Default | Description |
|---|---|---|---|
| dcuResourceCores | string | "hygon.com/dcucores" | Hygon DCU cores resource name |
| dcuResourceMem | string | "hygon.com/dcumem" | Hygon DCU memory resource name |
| dcuResourceName | string | "hygon.com/dcunum" | Hygon DCU resource name |
| devicePlugin.createRuntimeClass | bool | false | Whether to create runtime class |
| devicePlugin.deviceCoreScaling | int | 1 | Device core scaling factor |
| devicePlugin.deviceListStrategy | string | "envvar" | Device list strategy. Supported values: envvar, volume-mounts |
| devicePlugin.deviceMemoryScaling | int | 1 | Device memory scaling factor |
| devicePlugin.deviceSplitCount | int | 10 | Number of slices to split each GPU into |
| devicePlugin.disablecorelimit | string | "false" | Disable core limit |
| devicePlugin.enabled | bool | true | Enable device plugin |
| devicePlugin.extraArgs | list | ["-v=4"] | Extra arguments for device plugin |
| devicePlugin.extraEnvs | object | {} | Extra environment variables for device plugin |
| devicePlugin.gdrcopyEnabled | bool | false | Enable GDRCopy |
| devicePlugin.gdsEnabled | bool | false | Enable GDS |
| devicePlugin.gpuOperatorToolkitReady.enabled | bool | false | Enable GPU operator toolkit ready check |
| devicePlugin.gpuOperatorToolkitReady.hostPath | string | "/run/nvidia/validations" | Host path for GPU operator toolkit ready check |
| devicePlugin.image.pullPolicy | string | "IfNotPresent" | Device plugin image pull policy |
| devicePlugin.image.pullSecrets | list | [] | Specify docker-registry secret names as an array |
| devicePlugin.image.registry | string | "ghcr.io" | Device plugin image registry |
| devicePlugin.image.repository | string | "dynamia-ai/hami-enterprise" | Device plugin image repository |
| devicePlugin.image.tag | string | "" | Device plugin image tag (immutable tags are recommended) |
| devicePlugin.libPath | string | "/usr/local/vgpu" | Library path for vGPU |
| devicePlugin.migStrategy | string | "none" | MIG strategy. Supported values: none, single, mixed |
| devicePlugin.mofedEnabled | bool | false | Enable Mellanox OFED |
| devicePlugin.monitor.ctrPath | string | "/usr/local/vgpu/containers" | Container path for monitor |
| devicePlugin.monitor.extraArgs | list | ["-v=4"] | Extra arguments for monitor |
| devicePlugin.monitor.extraEnvs | object | {} | Extra environment variables for monitor |
| devicePlugin.monitor.image.pullPolicy | string | "IfNotPresent" | Monitor image pull policy |
| devicePlugin.monitor.image.pullSecrets | list | [] | Specify docker-registry secret names as an array |
| devicePlugin.monitor.image.registry | string | "ghcr.io" | Monitor image registry |
| devicePlugin.monitor.image.repository | string | "dynamia-ai/hami-enterprise" | Monitor image repository |
| devicePlugin.monitor.image.tag | string | "" | Monitor image tag (immutable tags are recommended) |
| devicePlugin.monitor.resources | object | {} | Resources for monitor container |
| devicePlugin.monitor.resyncInterval | string | "5m" | Resync interval for monitor |
| devicePlugin.nodeConfiguration.config | string | "{\n \"nodeconfig\": [\n {\n \"name\": \"your-node-name\",\n \"operatingmode\": \"hami-core\",\n \"devicememoryscaling\": 1,\n \"devicesplitcount\": 10,\n \"preconfigureddevicememory\": 0,\n \"migstrategy\": \"none\",\n \"filterdevices\": {\n \"uuid\": [],\n \"index\": []\n },\n \"enablegetpreferredallocation\": false\n }\n ]\n}\n" | Node configuration for device plugin. If set, overrides the default config.json |
| devicePlugin.nodeConfiguration.externalConfigName | string | "" | Name of an existing ConfigMap to use for node configuration |
| devicePlugin.nvidiaDriverRoot | string | "" | Root path for NVIDIA driver |
| devicePlugin.nvidiaHookPath | string | "" | Path for NVIDIA hook |
| devicePlugin.nvidiaNodeSelector | object | {"gpu":"on"} | Node selector for NVIDIA device plugin |
| devicePlugin.passDeviceSpecsEnabled | bool | false | Enable passing device specs |
| devicePlugin.pluginPath | string | "/var/lib/kubelet/device-plugins" | Path for device plugin socket |
| devicePlugin.podAnnotations | object | {} | Annotations for device plugin pod |
| devicePlugin.preConfiguredDeviceMemory | int | 0 | Pre-configured device memory in MB for GPUs that don't support memory query. Set to 0 for auto-detection |
| devicePlugin.resources | object | {} | Resources for device plugin container |
| devicePlugin.runtimeClassName | string | "" | Runtime class name to be used by the device plugin |
| devicePlugin.service.annotations | object | {} | Annotations for device plugin service |
| devicePlugin.service.httpPort | int | 31992 | HTTP port for device plugin service |
| devicePlugin.service.labels | object | {} | Labels for device plugin service |
| devicePlugin.service.type | string | "NodePort" | Service type for device plugin |
| devicePlugin.tolerations | list | [] | Tolerations for device plugin pod |
| devicePlugin.updateStrategy.rollingUpdate.maxUnavailable | int | 1 | Maximum unavailable pods during update |
| devicePlugin.updateStrategy.type | string | "RollingUpdate" | Update strategy for device plugin DaemonSet |
| devices.alibaba.customresources | list | ["alibaba.com/ppu","alibaba.com/ppu-memory","alibaba.com/gpu-core"] | Custom resource definitions for Alibaba devices |
| devices.alibaba.enabled | bool | true | Enable Alibaba PPU device |
| devices.alibaba.ppuCorePolicy | string | "default" | PPU core policy for Alibaba devices |
| devices.amd.customresources | list | ["amd.com/gpu","amd.com/gpumem"] | Custom resource definitions for AMD devices |
| devices.ascend.customresources | list | ["huawei.com/Ascend910A","huawei.com/Ascend910A-memory","huawei.com/Ascend910A-core","huawei.com/Ascend910B2","huawei.com/Ascend910B2-memory","huawei.com/Ascend910B2-core","huawei.com/Ascend910B3","huawei.com/Ascend910B3-memory","huawei.com/Ascend910B3-core","huawei.com/Ascend910B4","huawei.com/Ascend910B4-memory","huawei.com/Ascend910B4-core","huawei.com/Ascend910B4-1","huawei.com/Ascend910B4-1-memory","huawei.com/Ascend910B4-1-core","huawei.com/Ascend310P","huawei.com/Ascend310P-memory","huawei.com/Ascend310P-core","huawei.com/Ascend910C","huawei.com/Ascend910C-memory","huawei.com/Ascend910C-core"] | Custom resource definitions for Ascend devices |
| devices.ascend.enabled | bool | false | Enable Ascend device plugin |
| devices.ascend.extraArgs | list | [] | Extra arguments for Ascend device plugin |
| devices.ascend.hamiVnpuCore | bool | false | Enable soft-partitioning based on hami-vnpu-core (node-level annotation takes higher priority) |
| devices.ascend.image | string | "" | Ascend device plugin image |
| devices.ascend.imagePullPolicy | string | "IfNotPresent" | Image pull policy for Ascend device plugin |
| devices.ascend.nodeSelector | object | {"ascend":"on"} | Node selector for Ascend device plugin |
| devices.ascend.runtimeClassName | string | "" | Runtime class name for Ascend NPU pods |
| devices.ascend.tolerations | list | [] | Tolerations for Ascend device plugin |
| devices.awsneuron.customresources | list | ["aws.amazon.com/neuron","aws.amazon.com/neuroncore"] | Custom resource definitions for AWS Neuron devices |
| devices.enflame.customresources | list | ["enflame.com/vgcu","enflame.com/vgcu-percentage","enflame.com/gcu"] | Custom resource definitions for Enflame devices |
| devices.enflame.enabled | bool | true | Enable Enflame device plugin |
| devices.iluvatar.customresources | list | ["iluvatar.ai/BI-V100-vgpu","iluvatar.ai/BI-V100.vCore","iluvatar.ai/BI-V100.vMem","iluvatar.ai/BI-V150-vgpu","iluvatar.ai/BI-V150.vCore","iluvatar.ai/BI-V150.vMem","iluvatar.ai/MR-V100-vgpu","iluvatar.ai/MR-V100.vCore","iluvatar.ai/MR-V100.vMem","iluvatar.ai/MR-V50-vgpu","iluvatar.ai/MR-V50.vCore","iluvatar.ai/MR-V50.vMem"] | Custom resource definitions for Iluvatar devices |
| devices.iluvatar.enabled | bool | false | Enable Iluvatar device plugin |
| devices.kunlun.customresources | list | ["kunlunxin.com/xpu","kunlunxin.com/vxpu","kunlunxin.com/vxpu-memory"] | Custom resource definitions for Kunlun devices |
| devices.kunlun.enabled | bool | true | Enable Kunlun device plugin |
| devices.mthreads.customresources | list | ["mthreads.com/vgpu"] | Custom resource definitions for MThreads devices |
| devices.mthreads.enabled | bool | true | Enable MThreads device plugin |
| devices.nvidia.gpuCorePolicy | string | "default" | GPU core policy for NVIDIA devices |
| devices.nvidia.libCudaLogLevel | int | 2 | libCUDA log level |
| devices.vastai.customresources | list | ["vastaitech.com/va"] | Custom resource definitions for Vastai devices |
| devices.vastai.enabled | bool | true | Enable Vastai device plugin |
| dra.enabled | bool | false | Enable DRA (Dynamic Resource Allocation) |
| enflameResourceNameVGCU | string | "enflame.com/vgcu" | Enflame VGCU resource name |
| enflameResourceNameVGCUPercentage | string | "enflame.com/vgcu-percentage" | Enflame VGCU percentage resource name |
| fullnameOverride | string | "" | Override the fullname of the chart |
| global.annotations | object | {} | Global annotations to add to all resources |
| global.gpuHookPath | string | "/usr/local" | Path for GPU hook installation on nodes |
| global.imagePullSecrets | list | [] | Global Docker image pull secrets |
| global.imageRegistry | string | "" | Global Docker image registry |
| global.imageTag | string | "v2.9.0-r3" | Global image tag for HAMi Enterprise components |
| global.labels | object | {} | Global labels to add to all resources |
| global.managedNodeSelector | object | {"usage":"gpu"} | Node selector configuration for managed GPU nodes |
| global.managedNodeSelectorEnable | bool | false | Enable managed node selector for GPU nodes |
| hami-dra.drivers.nvidia.containerDriver | bool | true | Enable container driver for NVIDIA DRA |
| hami-dra.drivers.nvidia.enabled | bool | true | Enable NVIDIA DRA driver |
| hami-dra.drivers.nvidia.image.repository | string | "ghcr.io/project-hami/k8s-dra-driver" | NVIDIA DRA driver image repository |
| hami-dra.drivers.nvidia.image.tag | string | "main" | NVIDIA DRA driver image tag |
| hami-dra.monitor.enabled | bool | true | Enable monitor for hami-dra |
| kunlunResourceName | string | "kunlunxin.com/xpu" | Kunlun XPU resource name |
| kunlunResourceVCountName | string | "kunlunxin.com/vxpu" | Kunlun virtual XPU count resource name |
| kunlunResourceVMemoryName | string | "kunlunxin.com/vxpu-memory" | Kunlun virtual XPU memory resource name |
| legacyMetrics | bool | false | Enable legacy metrics |
| metaxResourceCore | string | "metax-tech.com/vcore" | Metax sGPU core resource name |
| metaxResourceMem | string | "metax-tech.com/vmemory" | Metax sGPU memory resource name |
| metaxResourceName | string | "metax-tech.com/sgpu" | Metax sGPU resource name |
| metaxsGPUTopologyAware | string | "false" | Enable Metax sGPU topology awareness |
| mluResourceCores | string | "cambricon.com/mlu.smlu.vcore" | MLU cores resource name |
| mluResourceMem | string | "cambricon.com/mlu.smlu.vmemory" | MLU memory resource name |
| mluResourceName | string | "cambricon.com/vmlu" | MLU resource name |
| mockDevicePlugin.enabled | bool | false | Enable mock device plugin |
| mockDevicePlugin.image.pullPolicy | string | "IfNotPresent" | Mock device plugin image pull policy |
| mockDevicePlugin.image.pullSecrets | list | [] | Specify docker-registry secret names as an array |
| mockDevicePlugin.image.registry | string | "docker.io" | Mock device plugin image registry |
| mockDevicePlugin.image.repository | string | "projecthami/mock-device-plugin" | Mock device plugin image repository |
| mockDevicePlugin.image.tag | string | "1.0.1" | Mock device plugin image tag |
| nameOverride | string | "" | Override the chart name |
| namespaceOverride | string | "" | Override the namespace |
| podSecurityPolicy.enabled | bool | false | Enable PodSecurityPolicy |
| prometheus.enabled | bool | false | Enable Prometheus metrics |
| resourceCores | string | "nvidia.com/gpucores" | NVIDIA GPU cores resource name |
| resourceMem | string | "nvidia.com/gpumem" | NVIDIA GPU memory resource name |
| resourceMemPercentage | string | "nvidia.com/gpumem-percentage" | NVIDIA GPU memory percentage resource name |
| resourceName | string | "nvidia.com/gpu" | NVIDIA GPU resource name |
| resourcePriority | string | "nvidia.com/priority" | NVIDIA GPU priority resource name |
| scheduler.admissionWebhook.customURL.enabled | bool | false | Enable custom webhook URL |
| scheduler.admissionWebhook.customURL.host | string | "127.0.0.1" | Webhook host (must be an endpoint using https) |
| scheduler.admissionWebhook.customURL.path | string | "/webhook" | Webhook path |
| scheduler.admissionWebhook.customURL.port | int | 31998 | Webhook port |
| scheduler.admissionWebhook.enabled | bool | true | Enable admission webhook. If disabled, pods must be configured with correct schedulerName manually |
| scheduler.admissionWebhook.failurePolicy | string | "Ignore" | Failure policy for webhook |
| scheduler.admissionWebhook.namespaceSelector | object | {"matchExpressions":[],"matchLabels":{}} | Namespace selector for webhook |
| scheduler.admissionWebhook.objectSelector | object | {"matchExpressions":[]} | Object selector for webhook |
| scheduler.admissionWebhook.reinvocationPolicy | string | "Never" | Reinvocation policy for webhook |
| scheduler.admissionWebhook.whitelistNamespaces | list | [] | Namespaces that the webhook will not be applied to |
| scheduler.certManager.enabled | bool | false | Enable cert-manager for TLS certificate generation |
| scheduler.defaultSchedulerPolicy.gpuSchedulerPolicy | string | "spread" | GPU-level scheduling policy. Supported values: binpack, spread |
| scheduler.defaultSchedulerPolicy.nodeSchedulerPolicy | string | "binpack" | Node-level scheduling policy. Supported values: binpack, spread |
| scheduler.extender.extraArgs | list | ["--debug","-v=4"] | Extra arguments for scheduler extender |
| scheduler.extender.image.pullPolicy | string | "IfNotPresent" | Scheduler extender image pull policy |
| scheduler.extender.image.pullSecrets | list | [] | Specify docker-registry secret names as an array |
| scheduler.extender.image.registry | string | "ghcr.io" | Scheduler extender image registry |
| scheduler.extender.image.repository | string | "dynamia-ai/hami-enterprise" | Scheduler extender image repository |
| scheduler.extender.image.tag | string | "" | Scheduler extender image tag (immutable tags are recommended) |
| scheduler.extender.resources | object | {} | Resources for scheduler extender container |
| scheduler.forceOverwriteDefaultScheduler | bool | true | Force overwrite the default scheduler name in pods when it equals the K8s default scheduler name |
| scheduler.kubeScheduler.enabled | bool | true | Whether to run kube-scheduler container in the scheduler pod |
| scheduler.kubeScheduler.extraArgs | list | ["--policy-config-file=/config/config.json","-v=4"] | Extra arguments for kube-scheduler (legacy config format) |
| scheduler.kubeScheduler.extraNewArgs | list | ["--config=/config/config.yaml","-v=4"] | Extra arguments for kube-scheduler (new config format) |
| scheduler.kubeScheduler.image.pullPolicy | string | "IfNotPresent" | kube-scheduler image pull policy |
| scheduler.kubeScheduler.image.pullSecrets | list | [] | Specify docker-registry secret names as an array |
| scheduler.kubeScheduler.image.registry | string | "registry.cn-hangzhou.aliyuncs.com" | kube-scheduler image registry |
| scheduler.kubeScheduler.image.repository | string | "google_containers/kube-scheduler" | kube-scheduler image repository |
| scheduler.kubeScheduler.image.tag | string | "" | kube-scheduler image tag (immutable tags are recommended) |
| scheduler.kubeScheduler.resources | object | {} | Resources for kube-scheduler container |
| scheduler.leaderElect | bool | true | Enable leader election for scheduler |
| scheduler.livenessProbe | bool | false | Enable liveness probe for scheduler |
| scheduler.metricsBindAddress | string | ":9395" | Address to bind metrics server |
| scheduler.nodeLockExpire | string | "5m" | Node lock expiration time |
| scheduler.nodeName | string | "" | Node name for scheduler pod. If installing as default scheduler, set this to skip the schedule workflow |
| scheduler.overwriteEnv | string | "false" | Overwrite environment variables |
| scheduler.patch.enabled | bool | true | Enable kube-webhook-certgen patch job |
| scheduler.patch.image.pullPolicy | string | "IfNotPresent" | kube-webhook-certgen image pull policy |
| scheduler.patch.image.pullSecrets | list | [] | Specify docker-registry secret names as an array |
| scheduler.patch.image.registry | string | "docker.io" | kube-webhook-certgen image registry |
| scheduler.patch.image.repository | string | "jettech/kube-webhook-certgen" | kube-webhook-certgen image repository |
| scheduler.patch.image.tag | string | "v1.5.2" | kube-webhook-certgen image tag |
| scheduler.patch.imageNew.pullPolicy | string | "IfNotPresent" | New kube-webhook-certgen image pull policy |
| scheduler.patch.imageNew.pullSecrets | list | [] | Specify docker-registry secret names as an array |
| scheduler.patch.imageNew.registry | string | "docker.io" | New kube-webhook-certgen image registry |
| scheduler.patch.imageNew.repository | string | "liangjw/kube-webhook-certgen" | New kube-webhook-certgen image repository |
| scheduler.patch.imageNew.tag | string | "v1.1.1" | New kube-webhook-certgen image tag |
| scheduler.patch.nodeSelector | object | {} | Node selector for patch job |
| scheduler.patch.podAnnotations | object | {} | Annotations for patch job pod |
| scheduler.patch.priorityClassName | string | "" | Priority class name for patch job |
| scheduler.patch.runAsUser | int | 2000 | User ID to run patch job as |
| scheduler.patch.tolerations | list | [] | Tolerations for patch job |
| scheduler.podAnnotations | object | {} | Annotations for scheduler pod |
| scheduler.replicas | int | 1 | Number of scheduler replicas (only effective when leaderElect is true) |
| scheduler.service.annotations | object | {} | Annotations for scheduler service |
| scheduler.service.httpPort | int | 443 | HTTP port for scheduler service |
| scheduler.service.httpTargetPort | int | 443 | Target port for HTTP |
| scheduler.service.labels | object | {} | Labels for scheduler service |
| scheduler.service.monitorPort | int | 31993 | Monitoring port for scheduler service |
| scheduler.service.monitorTargetPort | int | 9395 | Target port for monitoring |
| scheduler.service.schedulerPort | int | 31998 | NodePort for scheduler HTTP |
| scheduler.service.type | string | "NodePort" | Service type for scheduler |
| scheduler.tolerations | list | [] | Tolerations for scheduler pod |
| schedulerName | string | "hami-scheduler" | Name of the scheduler |
| vastaiResourceName | string | "vastaitech.com/va" | Vastai resource name |