跳到主要内容

HAMi Enterprise 2.10.0-r2

本页记录 HAMi Enterprise v2.10.0-r1 至 v2.10.0-r2 的变化。资源池控制器和 CRD 使用独立 Chart,不随主 Chart 自动安装。

项目版本
企业版发布日期2026-09-18
主 Chart hami-enterprise2.10.0-r2
主 Chart 声明的 appVersion2.10.0-r2
可选 CRD Chart hami-enterprise-crds0.4.2,appVersion: 0.4.0
可选资源池管理 Chart hami-resource-pool-manager0.0.4,appVersion: 0.0.1

软件变更​

  • 可选资源池管理:新增独立交付的资源池 CRD 和管理组件,用于按资源池及命名空间绑定管理 NVIDIA、Ascend 设备的使用范围。主 Chart 仍只安装调度器与设备插件。启用管理组件后,未豁免的相关新建工作负载需要所属命名空间的资源池绑定;现有 HAMi 安装不会因升级主 Chart 而自动启用资源池。
  • Ascend vNPU 运行时显存调整:hami-core 模式的工作负载可显式设置 NPU_MEMORY_AUTO_ADJUST=true,在分配超过当前显存额度时申请增加额度。调度器检查物理设备剩余显存和命名空间配额;功能只增加、不自动缩减额度,不修改 Pod 的初始资源声明。申请被拒绝或超时后,原内存分配仍可能返回 OOM。此能力需要兼容的 Ascend 设备插件与 libvnpu 运行时,启用条件见下文。
  • 设备授权与 Ascend 启动:NVIDIA 设备插件在后续分配时重新读取节点授权信息,避免续期后继续使用旧缓存;调度器增加 Ascend 设备授权信息的节点发布。hami-core 工作负载不再被注入启动独立 limiter 的 PostStart 钩子,配套运行时改用内嵌管理机制。

Chart 变更​

  • OpenShift 部署选项:新增 platform.openshift、platform.openshiftVersion 和 openshift.securityContextConstraints,支持选择 OpenShift 调度器镜像及创建或引用设备插件使用的 SCC。selinux.enabled 可对共享 vGPU 主机目录重新标记。上述选项默认不启用;使用内置 privileged SCC 时,应设置 openshift.securityContextConstraints.create=false,并核对目标集群的安全策略。
  • NVIDIA NUMA 再匹配配置:新增默认关闭的 devicePlugin.numaRefit.enabled 及调度器端点、TLS/CA 选项。启用时还需打开 devicePlugin.enableNumaTopology,在节点启用 PreferredAllocation,并由工作负载使用 hami.io/numa-alignment 注解;只设置 numaRefit.enabled 不会使所有任务自动按 NUMA 重选设备。
  • 调度器监听端口:容器内监听端口改由 scheduler.service.httpTargetPort 控制,默认从 443/80 调整为 9443;Chart 内调度器配置和 Service 目标端口随之渲染。若网络策略、探针或外部集成直接依赖旧容器端口,升级前需一并调整。
  • Webhook 证书补丁镜像:Kubernetes 1.22 及更新版本使用的 scheduler.patch.imageNew 默认镜像由 liangjw/kube-webhook-certgen:v1.1.1 改为 registry.k8s.io/ingress-nginx/kube-webhook-certgen:v1.6.9,避免旧镜像更新 webhook 对象时丢失 matchConditions。如使用镜像代理或离线仓库,需同步更新镜像映射。
  • NVIDIA 节点部署:设备插件默认增加对 nvidia.com/gpu:NoSchedule 污点的容忍;配置 devicePlugin.nvidiaDriverRoot 时,监控容器也会挂载该驱动根目录。

升级说明​

  • 启用资源池:管理组件要求 Kubernetes 1.30 或更新版本、使用 extender 调度而非 DRA。先安装独立 CRD Chart,再在已有调度器设备 ConfigMap 所在命名空间安装管理 Chart,并设置 hami.existingConfigMap 与实际 schedulerName。若要接管 Ascend 工作负载,还须在管理 Chart 单独设置 hami.ascendEnabled=true(默认关闭);这与主 Chart 的 devices.ascend.enabled 是不同开关。管理 Chart 0.0.4 的打包默认值仍指向旧的主镜像 ghcr.io/dynamia-ai/hami-enterprise:v2.10.0-r1;安装时须显式覆盖为已发布的独立管理镜像 ghcr.io/dynamia-ai/resource-pool-manager:v0.0.1。启用前规划资源池绑定;管理组件的配额不替代设备显存、算力容量检查。
  • 启用 Ascend 显存自动调整:需使用 hami-core 模式,每个业务容器只分配一张 vNPU,并显式设置 NPU_MEMORY_AUTO_ADJUST=true。主 Chart 中须设置 devices.ascend.enabled=true(默认关闭)及 scheduler.admissionWebhook.enabled=true,并关闭 DRA、使用 Kubernetes 1.30 或更新版本。仅开启调度器 Webhook 而未开启 Ascend 设备项,不会生成显存调整所需的校验 Webhook;运行时申请保护仍未启用。若从依赖独立 limiter 的环境升级,应同时核对 Ascend 插件和 libvnpu 运行时版本,不要沿用旧的启动钩子假设。
  • 使用 OpenShift 选项:先确认目标 OpenShift 版本、SCC 权限、SELinux 标签和镜像拉取权限,再开启对应 values。普通 Kubernetes 集群无需修改这些默认关闭的选项。

安装包及镜像通过约定的交付渠道获取。查看 Chart 与 appVersion 对应关系。

Values 说明​

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

展开参数表
KeyTypeDefaultDescription
birenResourceNamestring"birentech.com/gpu"Biren GPU resource name
dcuResourceCoresstring"hygon.com/dcucores"Hygon DCU cores resource name
dcuResourceMemstring"hygon.com/dcumem"Hygon DCU memory resource name
dcuResourceNamestring"hygon.com/dcunum"Hygon DCU resource name
device-config.contentstring""
devicePlugin.cdiVendorstring""CDI vendor for generated specs and device annotations (default: k8s.device-plugin.nvidia.com)
devicePlugin.createRuntimeClassboolfalseWhether to create runtime class
devicePlugin.deviceCoreScalingint1Device core scaling factor
devicePlugin.deviceListStrategystring"envvar"Device list strategy. Supported values: envvar, volume-mounts, cdi-annotations
devicePlugin.deviceMemoryScalingint1Device memory scaling factor
devicePlugin.deviceSplitCountint10Number of slices to split each GPU into
devicePlugin.disablecorelimitstring"false"Disable core limit
devicePlugin.enableNumaTopologyboolfalseAdvertise the physical GPU's NUMA node on each vGPU replica
devicePlugin.enabledbooltrueEnable device plugin
devicePlugin.extraArgslist["-v=4"]Extra arguments for device plugin
devicePlugin.extraEnvsobject{}Extra environment variables for device plugin
devicePlugin.gdrcopyEnabledboolfalseEnable GDRCopy
devicePlugin.gdsEnabledboolfalseEnable GDS
devicePlugin.gpuOperatorToolkitReady.enabledboolfalseEnable GPU operator toolkit ready check
devicePlugin.gpuOperatorToolkitReady.hostPathstring"/run/nvidia/validations"Host path for GPU operator toolkit ready check
devicePlugin.gpuOperatorToolkitReady.securityContextobject{"privileged":true,"runAsUser":0}Security context for the GPU operator toolkit validation init container
devicePlugin.hostNetworkboolfalseShare the host network namespace with the device plugin pod
devicePlugin.hostPIDbooltrueShare the host PID namespace with the device plugin pod
devicePlugin.image.pullPolicystring"IfNotPresent"Device plugin image pull policy
devicePlugin.image.pullSecretslist[]Specify docker-registry secret names as an array
devicePlugin.image.registrystring"ghcr.io"Device plugin image registry
devicePlugin.image.repositorystring"dynamia-ai/hami-enterprise"Device plugin image repository
devicePlugin.image.tagstring""Device plugin image tag (immutable tags are recommended)
devicePlugin.libPathstring"/usr/local/vgpu"Library path for vGPU
devicePlugin.migStrategystring"none"MIG strategy. Supported values: none, single, mixed
devicePlugin.mofedEnabledboolfalseEnable Mellanox OFED
devicePlugin.monitor.ctrPathstring"/usr/local/vgpu/containers"Container path for monitor
devicePlugin.monitor.extraArgslist["-v=4"]Extra arguments for monitor
devicePlugin.monitor.extraEnvsobject{}Extra environment variables for monitor
devicePlugin.monitor.image.pullPolicystring"IfNotPresent"Monitor image pull policy
devicePlugin.monitor.image.pullSecretslist[]Specify docker-registry secret names as an array
devicePlugin.monitor.image.registrystring"ghcr.io"Monitor image registry
devicePlugin.monitor.image.repositorystring"dynamia-ai/hami-enterprise"Monitor image repository
devicePlugin.monitor.image.tagstring""Monitor image tag (immutable tags are recommended)
devicePlugin.monitor.resourcesobject{}Resources for monitor container
devicePlugin.monitor.resyncIntervalstring"5m"Resync interval for monitor
devicePlugin.monitor.securityContextobject{"allowPrivilegeEscalation":false,"capabilities":{"add":["SYS_ADMIN"],"drop":["ALL"]}}Security context for the monitor container
devicePlugin.nodeConfiguration.configstring"{\n \"nodeconfig\": [\n {\n \"name\": \"your-node-name\",\n \"operatingmode\": \"hami-core\",\n \"devicememoryscaling\": 1,\n \"devicesplitcount\": 10,\n \"preconfigureddevicememory\": 0,\n \"enablenumatopology\": false,\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.externalConfigNamestring""Name of an existing ConfigMap to use for node configuration
devicePlugin.numaRefitobject{"caFile":"","caSecret":"","enabled":false,"schedulerEndpoint":"","tlsInsecure":true}NUMA alignment refit configuration
devicePlugin.numaRefit.caFilestring""Path to a CA bundle already mounted in the device-plugin Pod
devicePlugin.numaRefit.caSecretstring""Secret containing ca.crt, mounted at /etc/hami/numa-refit-ca
devicePlugin.numaRefit.enabledboolfalseEnable NUMA alignment refit
devicePlugin.numaRefit.schedulerEndpointstring""Scheduler base URL override. Defaults to the in-cluster Scheduler service
devicePlugin.numaRefit.tlsInsecurebooltrueSkip Scheduler TLS verification. Set false with caFile or caSecret to verify TLS
devicePlugin.nvidiaDriverRootstring""NVIDIA driver root on the host, mounted into the device plugin and monitor containers
devicePlugin.nvidiaHookPathstring""Path for NVIDIA hook
devicePlugin.nvidiaNodeSelectorobject{"gpu":"on"}Node selector for NVIDIA device plugin
devicePlugin.passDeviceSpecsEnabledboolfalseEnable passing device specs
devicePlugin.pluginPathstring"/var/lib/kubelet/device-plugins"Path for device plugin socket
devicePlugin.podAnnotationsobject{}Annotations for device plugin pod
devicePlugin.preConfiguredDeviceMemoryint0Pre-configured device memory in MB for GPUs that don't support memory query. Set to 0 for auto-detection
devicePlugin.resourcesobject{}Resources for device plugin container
devicePlugin.runtimeClassNamestring""Runtime class name to be used by the device plugin
devicePlugin.securityContextobject{"allowPrivilegeEscalation":true,"capabilities":{"add":["SYS_ADMIN"],"drop":["ALL"]},"privileged":true}Security context for the device plugin container
devicePlugin.service.annotationsobject{}Annotations for device plugin service
devicePlugin.service.httpPortint31992HTTP port for device plugin service
devicePlugin.service.labelsobject{}Labels for device plugin service
devicePlugin.service.typestring"NodePort"Service type for device plugin
devicePlugin.tolerationslist[{"effect":"NoSchedule","key":"nvidia.com/gpu","operator":"Exists"}]Tolerations for device plugin pod
devicePlugin.updateStrategy.rollingUpdate.maxUnavailableint1Maximum unavailable pods during update
devicePlugin.updateStrategy.typestring"RollingUpdate"Update strategy for device plugin DaemonSet
devices.alibaba.customresourceslist["alibaba.com/ppu","alibaba.com/ppu-memory","alibaba.com/gpu-core"]Custom resource definitions for Alibaba devices
devices.alibaba.enabledbooltrueEnable Alibaba PPU device
devices.alibaba.ppuCorePolicystring"default"PPU core policy for Alibaba devices
devices.amd.customresourceslist["amd.com/gpu","amd.com/gpumem","amd.com/gpucores"]Custom resource definitions for AMD devices
devices.ascend.customresourceslist["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.enabledboolfalseEnable Ascend device plugin
devices.ascend.extraArgslist[]Extra arguments for Ascend device plugin
devices.ascend.hamiVnpuCoreboolfalseEnable soft-partitioning based on hami-vnpu-core (node-level annotation takes higher priority)
devices.ascend.imagestring""Ascend device plugin image
devices.ascend.imagePullPolicystring"IfNotPresent"Image pull policy for Ascend device plugin
devices.ascend.nodeSelectorobject{"ascend":"on"}Node selector for Ascend device plugin
devices.ascend.runtimeClassNamestring""Runtime class name for Ascend NPU pods
devices.ascend.tolerationslist[]Tolerations for Ascend device plugin
devices.awsneuron.customresourceslist["aws.amazon.com/neuron","aws.amazon.com/neuroncore"]Custom resource definitions for AWS Neuron devices
devices.biren.customresourceslist["birentech.com/gpu"]Custom resource definitions for Biren devices
devices.biren.enabledbooltrueEnable Biren device plugin
devices.enflame.customresourceslist["enflame.com/drs-gcu","enflame.com/gcu-memory","enflame.com/gcu-core","enflame.com/gcu","enflame.com/vgcu","enflame.com/vgcu-percentage"]Custom resource definitions for Enflame devices
devices.enflame.enabledbooltrueEnable Enflame device plugin
devices.iluvatar.customresourceslist["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.enabledboolfalseEnable Iluvatar device plugin
devices.kunlun.customresourceslist["kunlunxin.com/xpu","kunlunxin.com/vxpu","kunlunxin.com/vxpu-memory"]Custom resource definitions for Kunlun devices
devices.kunlun.enabledbooltrueEnable Kunlun device plugin
devices.mthreads.customresourceslist["mthreads.com/vgpu"]Custom resource definitions for MThreads devices
devices.mthreads.enabledbooltrueEnable MThreads device plugin
devices.nvidia.gpuCorePolicystring"default"GPU core policy for NVIDIA devices
devices.nvidia.libCudaLogLevelint2libCUDA log level
devices.vastai.customresourceslist["vastaitech.com/va"]Custom resource definitions for Vastai devices
devices.vastai.enabledbooltrueEnable Vastai device plugin
dra.enabledboolfalseEnable DRA (Dynamic Resource Allocation)
enflameResourceNameDRSGCUstring"enflame.com/drs-gcu"Enflame DRS GCU resource name
enflameResourceNameGCUCorestring"enflame.com/gcu-core"Enflame GCU core resource name
enflameResourceNameGCUMemorystring"enflame.com/gcu-memory"Enflame GCU memory resource name
enflameResourceNameVGCUstring"enflame.com/vgcu"Enflame VGCU resource name
enflameResourceNameVGCUPercentagestring"enflame.com/vgcu-percentage"Enflame VGCU percentage resource name
fullnameOverridestring""Override the fullname of the chart
global.annotationsobject{}Global annotations to add to all resources
global.gpuHookPathstring"/usr/local"Path for GPU hook installation on nodes
global.imagePullSecretslist[]Global Docker image pull secrets
global.imageRegistrystring""Global Docker image registry
global.imageTagstring"v2.10.0-r1"Global image tag for HAMi Enterprise components
global.labelsobject{}Global labels to add to all resources
global.managedNodeSelectorobject{"usage":"gpu"}Node selector configuration for managed GPU nodes
global.managedNodeSelectorEnableboolfalseEnable managed node selector for GPU nodes
hami-dra.drivers.nvidia.containerDriverbooltrueEnable container driver for NVIDIA DRA
hami-dra.drivers.nvidia.enabledbooltrueEnable NVIDIA DRA driver
hami-dra.drivers.nvidia.image.repositorystring"ghcr.io/project-hami/k8s-dra-driver"NVIDIA DRA driver image repository
hami-dra.drivers.nvidia.image.tagstring"main"NVIDIA DRA driver image tag
hami-dra.monitor.enabledbooltrueEnable monitor for hami-dra
kunlunResourceNamestring"kunlunxin.com/xpu"Kunlun XPU resource name
kunlunResourceVCountNamestring"kunlunxin.com/vxpu"Kunlun virtual XPU count resource name
kunlunResourceVMemoryNamestring"kunlunxin.com/vxpu-memory"Kunlun virtual XPU memory resource name
legacyMetricsboolfalseEnable legacy metrics
metaxResourceCorestring"metax-tech.com/vcore"Metax sGPU core resource name
metaxResourceMemstring"metax-tech.com/vmemory"Metax sGPU memory resource name
metaxResourceNamestring"metax-tech.com/sgpu"Metax sGPU resource name
metaxsGPUTopologyAwarestring"false"Enable Metax sGPU topology awareness
mluResourceCoresstring"cambricon.com/mlu.smlu.vcore"MLU cores resource name
mluResourceMemstring"cambricon.com/mlu.smlu.vmemory"MLU memory resource name
mluResourceNamestring"cambricon.com/vmlu"MLU resource name
mockDevicePlugin.enabledboolfalseEnable mock device plugin
mockDevicePlugin.image.pullPolicystring"IfNotPresent"Mock device plugin image pull policy
mockDevicePlugin.image.pullSecretslist[]Specify docker-registry secret names as an array
mockDevicePlugin.image.registrystring"docker.io"Mock device plugin image registry
mockDevicePlugin.image.repositorystring"projecthami/mock-device-plugin"Mock device plugin image repository
mockDevicePlugin.image.tagstring"1.0.1"Mock device plugin image tag
nameOverridestring""Override the chart name
namespaceOverridestring""Override the namespace
openshift.securityContextConstraints.createbooltrueCreate the named device-plugin SCC and its use ClusterRole when OpenShift support is enabled. Set this to false only when both the SCC and system:openshift:scc:<name> ClusterRole already exist, such as for the built-in privileged SCC.
openshift.securityContextConstraints.namestring"hami-device-plugin"SCC granted to enabled device-plugin service accounts. When create=false, the matching system:openshift:scc:<name> ClusterRole must already exist. The built-in privileged SCC requires create=false.
platform.openshiftboolfalseEnable OpenShift-specific resources and handling
platform.openshiftVersionstring""OpenShift version used to resolve the Red Hat OpenShift hyperkube image tag when platform.openshift=true and scheduler.kubeScheduler.image.tag is empty
podSecurityPolicy.enabledboolfalseEnable PodSecurityPolicy
prometheus.enabledboolfalseEnable Prometheus metrics
resourceCoresstring"nvidia.com/gpucores"NVIDIA GPU cores resource name
resourceMemstring"nvidia.com/gpumem"NVIDIA GPU memory resource name
resourceMemPercentagestring"nvidia.com/gpumem-percentage"NVIDIA GPU memory percentage resource name
resourceNamestring"nvidia.com/gpu"NVIDIA GPU resource name
resourcePrioritystring"nvidia.com/priority"NVIDIA GPU priority resource name
scheduler.admissionWebhook.customURL.enabledboolfalseEnable custom webhook URL
scheduler.admissionWebhook.customURL.hoststring"127.0.0.1"Webhook host (must be an endpoint using https)
scheduler.admissionWebhook.customURL.pathstring"/webhook"Webhook path
scheduler.admissionWebhook.customURL.portint31998Webhook port
scheduler.admissionWebhook.enabledbooltrueEnable admission webhook. If disabled, pods must be configured with correct schedulerName manually
scheduler.admissionWebhook.failurePolicystring"Ignore"Failure policy for webhook
scheduler.admissionWebhook.manageNamespaceSelectorbooltrueWhether the chart renders and manages the webhook's namespaceSelector field
scheduler.admissionWebhook.namespaceSelectorobject{"matchExpressions":[],"matchLabels":{}}Namespace selector for webhook
scheduler.admissionWebhook.objectSelectorobject{"matchExpressions":[]}Object selector for webhook
scheduler.admissionWebhook.reinvocationPolicystring"Never"Reinvocation policy for webhook
scheduler.admissionWebhook.whitelistNamespaceslist[]Namespaces that the webhook will not be applied to
scheduler.certManager.enabledboolfalseEnable cert-manager for TLS certificate generation
scheduler.defaultSchedulerPolicy.gpuSchedulerPolicystring"spread"GPU-level scheduling policy. Supported values: binpack, spread
scheduler.defaultSchedulerPolicy.nodeSchedulerPolicystring"binpack"Node-level scheduling policy. Supported values: binpack, spread
scheduler.extender.extraArgslist["--debug","-v=4"]Extra arguments for scheduler extender
scheduler.extender.image.pullPolicystring"IfNotPresent"Scheduler extender image pull policy
scheduler.extender.image.pullSecretslist[]Specify docker-registry secret names as an array
scheduler.extender.image.registrystring"ghcr.io"Scheduler extender image registry
scheduler.extender.image.repositorystring"dynamia-ai/hami-enterprise"Scheduler extender image repository
scheduler.extender.image.tagstring""Scheduler extender image tag (immutable tags are recommended)
scheduler.extender.resourcesobject{}Resources for scheduler extender container
scheduler.forceOverwriteDefaultSchedulerbooltrueForce overwrite the default scheduler name in pods when it equals the K8s default scheduler name
scheduler.kubeScheduler.enabledbooltrueWhether to run kube-scheduler container in the scheduler pod
scheduler.kubeScheduler.extraArgslist["--policy-config-file=/config/config.json","-v=4"]Extra arguments for kube-scheduler (legacy config format)
scheduler.kubeScheduler.extraNewArgslist["--config=/config/config.yaml","-v=4"]Extra arguments for kube-scheduler (new config format)
scheduler.kubeScheduler.image.pullPolicystring"IfNotPresent"kube-scheduler image pull policy
scheduler.kubeScheduler.image.pullSecretslist[]Specify docker-registry secret names as an array
scheduler.kubeScheduler.image.registrystring"registry.cn-hangzhou.aliyuncs.com"kube-scheduler image registry
scheduler.kubeScheduler.image.repositorystring"google_containers/kube-scheduler"kube-scheduler image repository
scheduler.kubeScheduler.image.tagstring""kube-scheduler image tag (immutable tags are recommended)
scheduler.kubeScheduler.resourcesobject{}Resources for kube-scheduler container
scheduler.leaderElectbooltrueEnable leader election for scheduler
scheduler.livenessProbeboolfalseEnable liveness probe for scheduler
scheduler.metricsBindAddressstring":9395"Address to bind metrics server
scheduler.nodeLockExpirestring"5m"Node lock expiration time
scheduler.nodeNamestring""Node name for scheduler pod. If installing as default scheduler, set this to skip the schedule workflow
scheduler.overwriteEnvstring"false"Overwrite environment variables
scheduler.patch.enabledbooltrueEnable kube-webhook-certgen patch job
scheduler.patch.image.pullPolicystring"IfNotPresent"kube-webhook-certgen image pull policy
scheduler.patch.image.pullSecretslist[]Specify docker-registry secret names as an array
scheduler.patch.image.registrystring"docker.io"kube-webhook-certgen image registry
scheduler.patch.image.repositorystring"jettech/kube-webhook-certgen"kube-webhook-certgen image repository
scheduler.patch.image.tagstring"v1.5.2"kube-webhook-certgen image tag
scheduler.patch.imageNew.pullPolicystring"IfNotPresent"Kubernetes 1.22+ kube-webhook-certgen image pull policy
scheduler.patch.imageNew.pullSecretslist[]Specify docker-registry secret names as an array
scheduler.patch.imageNew.registrystring"registry.k8s.io"Kubernetes 1.22+ kube-webhook-certgen image registry
scheduler.patch.imageNew.repositorystring"ingress-nginx/kube-webhook-certgen"Kubernetes 1.22+ kube-webhook-certgen image repository
scheduler.patch.imageNew.tagstring"v1.6.9"Kubernetes 1.22+ kube-webhook-certgen image tag
scheduler.patch.nodeSelectorobject{}Node selector for patch job
scheduler.patch.podAnnotationsobject{}Annotations for patch job pod
scheduler.patch.priorityClassNamestring""Priority class name for patch job
scheduler.patch.runAsUserint2000User ID to run patch job as. OpenShift omits this value at render time so its SCC can allocate an allowed UID
scheduler.patch.tolerationslist[]Tolerations for patch job
scheduler.podAnnotationsobject{}Annotations for scheduler pod
scheduler.replicasint1Number of scheduler replicas (only effective when leaderElect is true)
scheduler.service.annotationsobject{}Annotations for scheduler service
scheduler.service.httpPortint443HTTP port for scheduler service
scheduler.service.httpTargetPortint9443Target port on which the scheduler extender listens
scheduler.service.labelsobject{}Labels for scheduler service
scheduler.service.monitorPortint31993Monitoring port for scheduler service
scheduler.service.monitorTargetPortint9395Target port for monitoring
scheduler.service.schedulerPortint31998NodePort for scheduler HTTP
scheduler.service.typestring"NodePort"Service type for scheduler
scheduler.tolerationslist[]Tolerations for scheduler pod
scheduler.useDownwardbooltrueWhether to enable useDownward in the generated scheduler device config for NVIDIA devices
schedulerNamestring"hami-scheduler"Name of the scheduler
selinux.enabledboolfalseRelabel shared vGPU host directories on SELinux-enabled Kubernetes nodes
selinux.levelstring"s0"SELinux level applied to shared vGPU host directories
selinux.typestring"container_file_t"SELinux type applied to shared vGPU host directories
vastaiResourceNamestring"vastaitech.com/va"Vastai resource name