diff --git a/charts/device-plugin-operator/Chart.yaml b/charts/device-plugin-operator/Chart.yaml index 72fefdc..5858c35 100644 --- a/charts/device-plugin-operator/Chart.yaml +++ b/charts/device-plugin-operator/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: intel-device-plugins-operator description: A Helm chart for Intel Device Plugins Operator for Kubernetes type: application -version: 0.32.1 -appVersion: "0.32.1" +version: 0.34.0 +appVersion: "0.34.0" diff --git a/charts/device-plugin-operator/crds/deviceplugin.intel.com_dlbdeviceplugins.yaml b/charts/device-plugin-operator/crds/deviceplugin.intel.com_dlbdeviceplugins.yaml index bfd11bf..b87c9a8 100644 --- a/charts/device-plugin-operator/crds/deviceplugin.intel.com_dlbdeviceplugins.yaml +++ b/charts/device-plugin-operator/crds/deviceplugin.intel.com_dlbdeviceplugins.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.1 + controller-gen.kubebuilder.io/version: v0.18.0 name: dlbdeviceplugins.deviceplugin.intel.com spec: group: deviceplugin.intel.com @@ -31,7 +31,7 @@ spec: schema: openAPIV3Schema: description: |- - DlbDevicePlugin is the Schema for the dlbdeviceplugins API. It represents + DEPRECATED: DlbDevicePlugin is the Schema for the dlbdeviceplugins API. It represents the DLB device plugin responsible for advertising Intel DLB hardware resources to the kubelet. properties: diff --git a/charts/device-plugin-operator/crds/deviceplugin.intel.com_dsadeviceplugins.yaml b/charts/device-plugin-operator/crds/deviceplugin.intel.com_dsadeviceplugins.yaml index f964961..8c492a7 100644 --- a/charts/device-plugin-operator/crds/deviceplugin.intel.com_dsadeviceplugins.yaml +++ b/charts/device-plugin-operator/crds/deviceplugin.intel.com_dsadeviceplugins.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.1 + controller-gen.kubebuilder.io/version: v0.18.0 name: dsadeviceplugins.deviceplugin.intel.com spec: group: deviceplugin.intel.com diff --git a/charts/device-plugin-operator/crds/deviceplugin.intel.com_fpgadeviceplugins.yaml b/charts/device-plugin-operator/crds/deviceplugin.intel.com_fpgadeviceplugins.yaml index b4e6a99..54986c1 100644 --- a/charts/device-plugin-operator/crds/deviceplugin.intel.com_fpgadeviceplugins.yaml +++ b/charts/device-plugin-operator/crds/deviceplugin.intel.com_fpgadeviceplugins.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.1 + controller-gen.kubebuilder.io/version: v0.18.0 name: fpgadeviceplugins.deviceplugin.intel.com spec: group: deviceplugin.intel.com @@ -31,7 +31,7 @@ spec: schema: openAPIV3Schema: description: |- - FpgaDevicePlugin is the Schema for the fpgadeviceplugins API. It represents + DEPRECATED: FpgaDevicePlugin is the Schema for the fpgadeviceplugins API. It represents the FPGA device plugin responsible for advertising Intel FPGA hardware resources to the kubelet. properties: diff --git a/charts/device-plugin-operator/crds/deviceplugin.intel.com_gpudeviceplugins.yaml b/charts/device-plugin-operator/crds/deviceplugin.intel.com_gpudeviceplugins.yaml index 4dd89c0..0446bd4 100644 --- a/charts/device-plugin-operator/crds/deviceplugin.intel.com_gpudeviceplugins.yaml +++ b/charts/device-plugin-operator/crds/deviceplugin.intel.com_gpudeviceplugins.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.1 + controller-gen.kubebuilder.io/version: v0.18.0 name: gpudeviceplugins.deviceplugin.intel.com spec: group: deviceplugin.intel.com @@ -55,6 +55,20 @@ spec: spec: description: GpuDevicePluginSpec defines the desired state of GpuDevicePlugin. properties: + allowIDs: + description: |- + AllowIDs is a comma-separated list of PCI IDs of GPU devices that should only be advertised by the plugin. + If not set, all devices are advertised. + The list can contain IDs in the form of '0x1234,0x49a4,0x50b4'. + Cannot be used together with DenyIDs. + type: string + denyIDs: + description: |- + DenyIDs is a comma-separated list of PCI IDs of GPU devices that should only be denied by the plugin. + If not set, all devices are advertised. + The list can contain IDs in the form of '0x1234,0x49a4,0x50b4'. + Cannot be used together with AllowIDs. + type: string enableMonitoring: description: |- EnableMonitoring enables the monitoring resource ('i915_monitoring') @@ -81,16 +95,11 @@ spec: description: |- PreferredAllocationPolicy sets the mode of allocating GPU devices on a node. See documentation for detailed description of the policies. Only valid when SharedDevNum > 1 is set. - Not applicable with ResourceManager. enum: - balanced - packed - none type: string - resourceManager: - description: ResourceManager handles the fractional resource management - for multi-GPU nodes. Enable only for clusters with GPU Aware Scheduling. - type: boolean sharedDevNum: description: SharedDevNum is a number of containers that can share the same GPU device. diff --git a/charts/device-plugin-operator/crds/deviceplugin.intel.com_iaadeviceplugins.yaml b/charts/device-plugin-operator/crds/deviceplugin.intel.com_iaadeviceplugins.yaml index beb5c64..e66d42f 100644 --- a/charts/device-plugin-operator/crds/deviceplugin.intel.com_iaadeviceplugins.yaml +++ b/charts/device-plugin-operator/crds/deviceplugin.intel.com_iaadeviceplugins.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.1 + controller-gen.kubebuilder.io/version: v0.18.0 name: iaadeviceplugins.deviceplugin.intel.com spec: group: deviceplugin.intel.com diff --git a/charts/device-plugin-operator/crds/deviceplugin.intel.com_npudeviceplugins.yaml b/charts/device-plugin-operator/crds/deviceplugin.intel.com_npudeviceplugins.yaml new file mode 100644 index 0000000..b9d3f5e --- /dev/null +++ b/charts/device-plugin-operator/crds/deviceplugin.intel.com_npudeviceplugins.yaml @@ -0,0 +1,191 @@ +--- +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + controller-gen.kubebuilder.io/version: v0.18.0 + name: npudeviceplugins.deviceplugin.intel.com +spec: + group: deviceplugin.intel.com + names: + kind: NpuDevicePlugin + listKind: NpuDevicePluginList + plural: npudeviceplugins + singular: npudeviceplugin + scope: Cluster + versions: + - additionalPrinterColumns: + - jsonPath: .status.desiredNumberScheduled + name: Desired + type: integer + - jsonPath: .status.numberReady + name: Ready + type: integer + - jsonPath: .spec.nodeSelector + name: Node Selector + type: string + - jsonPath: .metadata.creationTimestamp + name: Age + type: date + name: v1 + schema: + openAPIV3Schema: + description: |- + NpuDevicePlugin is the Schema for the npudeviceplugins API. It represents + the NPU device plugin responsible for advertising Intel NPU hardware resources to + the kubelet. + properties: + apiVersion: + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources + type: string + kind: + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + metadata: + type: object + spec: + description: NpuDevicePluginSpec defines the desired state of NpuDevicePlugin. + properties: + image: + description: Image is a container image with NPU device plugin executable. + type: string + logLevel: + description: LogLevel sets the plugin's log level. + minimum: 0 + type: integer + nodeSelector: + additionalProperties: + type: string + description: NodeSelector provides a simple way to constrain device + plugin pods to nodes with particular labels. + type: object + sharedDevNum: + description: SharedDevNum is a number of containers that can share + the same NPU device. + minimum: 1 + type: integer + tolerations: + description: Specialized nodes (e.g., with accelerators) can be Tainted + to make sure unwanted pods are not scheduled on them. Tolerations + can be set for the plugin pod to neutralize the Taint. + items: + description: |- + The pod this Toleration is attached to tolerates any taint that matches + the triple using the matching operator . + properties: + effect: + description: |- + Effect indicates the taint effect to match. Empty means match all taint effects. + When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. + type: string + key: + description: |- + Key is the taint key that the toleration applies to. Empty means match all taint keys. + If the key is empty, operator must be Exists; this combination means to match all values and all keys. + type: string + operator: + description: |- + Operator represents a key's relationship to the value. + Valid operators are Exists and Equal. Defaults to Equal. + Exists is equivalent to wildcard for value, so that a pod can + tolerate all taints of a particular category. + type: string + tolerationSeconds: + description: |- + TolerationSeconds represents the period of time the toleration (which must be + of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, + it is not set, which means tolerate the taint forever (do not evict). Zero and + negative values will be treated as 0 (evict immediately) by the system. + format: int64 + type: integer + value: + description: |- + Value is the taint value the toleration matches to. + If the operator is Exists, the value should be empty, otherwise just a regular string. + type: string + type: object + type: array + type: object + status: + description: NpuDevicePluginStatus defines the observed state of NpuDevicePlugin. + properties: + controlledDaemonSet: + description: ControlledDaemoSet references the DaemonSet controlled + by the operator. + properties: + apiVersion: + description: API version of the referent. + type: string + fieldPath: + description: |- + If referring to a piece of an object instead of an entire object, this string + should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. + For example, if the object reference is to a container within a pod, this would take on a value like: + "spec.containers{name}" (where "name" refers to the name of the container that triggered + the event) or if no container name is specified "spec.containers[2]" (container with + index 2 in this pod). This syntax is chosen only to have some well-defined way of + referencing a part of an object. + type: string + kind: + description: |- + Kind of the referent. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds + type: string + name: + description: |- + Name of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + namespace: + description: |- + Namespace of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/ + type: string + resourceVersion: + description: |- + Specific resourceVersion to which this reference is made, if any. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency + type: string + uid: + description: |- + UID of the referent. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids + type: string + type: object + x-kubernetes-map-type: atomic + desiredNumberScheduled: + description: |- + The total number of nodes that should be running the device plugin + pod (including nodes correctly running the device plugin pod). + format: int32 + type: integer + nodeNames: + description: The list of Node names where the device plugin pods are + running. + items: + type: string + type: array + numberReady: + description: |- + The number of nodes that should be running the device plugin pod and have one + or more of the device plugin pod running and ready. + format: int32 + type: integer + required: + - desiredNumberScheduled + - numberReady + type: object + type: object + served: true + storage: true + subresources: + status: {} diff --git a/charts/device-plugin-operator/crds/deviceplugin.intel.com_qatdeviceplugins.yaml b/charts/device-plugin-operator/crds/deviceplugin.intel.com_qatdeviceplugins.yaml index a9cb80d..8c0c166 100644 --- a/charts/device-plugin-operator/crds/deviceplugin.intel.com_qatdeviceplugins.yaml +++ b/charts/device-plugin-operator/crds/deviceplugin.intel.com_qatdeviceplugins.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.1 + controller-gen.kubebuilder.io/version: v0.18.0 name: qatdeviceplugins.deviceplugin.intel.com spec: group: deviceplugin.intel.com @@ -83,6 +83,7 @@ spec: - 4xxxvf - 420xxvf - c4xxxvf + - 6xxxvf type: string type: array logLevel: diff --git a/charts/device-plugin-operator/crds/deviceplugin.intel.com_sgxdeviceplugins.yaml b/charts/device-plugin-operator/crds/deviceplugin.intel.com_sgxdeviceplugins.yaml index 33823b0..b3d9338 100644 --- a/charts/device-plugin-operator/crds/deviceplugin.intel.com_sgxdeviceplugins.yaml +++ b/charts/device-plugin-operator/crds/deviceplugin.intel.com_sgxdeviceplugins.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.1 + controller-gen.kubebuilder.io/version: v0.18.0 name: sgxdeviceplugins.deviceplugin.intel.com spec: group: deviceplugin.intel.com @@ -55,6 +55,10 @@ spec: spec: description: SgxDevicePluginSpec defines the desired state of SgxDevicePlugin. properties: + dcapInfraResources: + description: DcapInfraResources flag enables two special resources + for Intel DCAP infrastructure containers. + type: boolean enclaveLimit: description: EnclaveLimit is a number of containers that can share the same SGX enclave device. diff --git a/charts/device-plugin-operator/crds/fpga.intel.com_acceleratorfunctions.yaml b/charts/device-plugin-operator/crds/fpga.intel.com_acceleratorfunctions.yaml index b0bca11..239965a 100644 --- a/charts/device-plugin-operator/crds/fpga.intel.com_acceleratorfunctions.yaml +++ b/charts/device-plugin-operator/crds/fpga.intel.com_acceleratorfunctions.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.1 + controller-gen.kubebuilder.io/version: v0.18.0 name: acceleratorfunctions.fpga.intel.com spec: group: fpga.intel.com diff --git a/charts/device-plugin-operator/crds/fpga.intel.com_fpgaregions.yaml b/charts/device-plugin-operator/crds/fpga.intel.com_fpgaregions.yaml index 0618636..45d1a9f 100644 --- a/charts/device-plugin-operator/crds/fpga.intel.com_fpgaregions.yaml +++ b/charts/device-plugin-operator/crds/fpga.intel.com_fpgaregions.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.16.1 + controller-gen.kubebuilder.io/version: v0.18.0 name: fpgaregions.fpga.intel.com spec: group: fpga.intel.com diff --git a/charts/device-plugin-operator/templates/operator.yaml b/charts/device-plugin-operator/templates/operator.yaml index 0dfb3f8..6f262e3 100644 --- a/charts/device-plugin-operator/templates/operator.yaml +++ b/charts/device-plugin-operator/templates/operator.yaml @@ -114,6 +114,7 @@ rules: - fpgadeviceplugins - gpudeviceplugins - iaadeviceplugins + - npudeviceplugins - qatdeviceplugins - sgxdeviceplugins verbs: @@ -327,6 +328,10 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace + {{- if .Values.privateRegistry.registrySecret }} + - name: DEVICEPLUGIN_SECRET + value: {{ .Release.Name }}-operator-private-registry + {{- end }} image: "{{ .Values.manager.image.hub }}/intel-deviceplugin-operator:{{ .Values.manager.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.manager.image.pullPolicy }} livenessProbe: diff --git a/charts/device-plugin-operator/values.yaml b/charts/device-plugin-operator/values.yaml index 0cd3558..6039e18 100644 --- a/charts/device-plugin-operator/values.yaml +++ b/charts/device-plugin-operator/values.yaml @@ -9,9 +9,7 @@ manager: # supported devices by the operator devices: - # dlb: true # dsa: true - # fpga: true # gpu: true # iaa: true # qat: true diff --git a/charts/dsa-device-plugin/Chart.yaml b/charts/dsa-device-plugin/Chart.yaml index 6095ab3..0d408c6 100644 --- a/charts/dsa-device-plugin/Chart.yaml +++ b/charts/dsa-device-plugin/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: intel-device-plugins-dsa description: A Helm chart for Intel DSA Device Plugin type: application -version: 0.32.1 -appVersion: "0.32.1" \ No newline at end of file +version: 0.34.0 +appVersion: "0.34.0" \ No newline at end of file diff --git a/charts/gpu-device-plugin/Chart.yaml b/charts/gpu-device-plugin/Chart.yaml index ef5cb86..f6f409d 100644 --- a/charts/gpu-device-plugin/Chart.yaml +++ b/charts/gpu-device-plugin/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: intel-device-plugins-gpu description: A Helm chart for Intel GPU Device Plugin type: application -version: 0.32.1 -appVersion: "0.32.1" +version: 0.34.0 +appVersion: "0.34.0" diff --git a/charts/gpu-device-plugin/README.md b/charts/gpu-device-plugin/README.md index d97d6f2..6537ab2 100644 --- a/charts/gpu-device-plugin/README.md +++ b/charts/gpu-device-plugin/README.md @@ -39,7 +39,8 @@ You may also run `helm show values` on this chart's dependencies for additional | `initImage.hub` | `intel` | | `initImage.tag` | `` | | `sharedDevNum` | `1` | -| `resourceManager` | `false` | | `enableMonitoring` | `true` | | `allocationPolicy` | `none` | +| `allowIDs` | `` | +| `denyIDs` | `` | | `logLevel` | `2` | diff --git a/charts/gpu-device-plugin/templates/gpu.yaml b/charts/gpu-device-plugin/templates/gpu.yaml index 9e400c2..0d2310d 100644 --- a/charts/gpu-device-plugin/templates/gpu.yaml +++ b/charts/gpu-device-plugin/templates/gpu.yaml @@ -15,9 +15,10 @@ spec: {{- end }} logLevel: {{ .Values.logLevel }} sharedDevNum: {{ .Values.sharedDevNum }} - resourceManager: {{ .Values.resourceManager }} enableMonitoring: {{ .Values.enableMonitoring }} preferredAllocationPolicy: {{ .Values.allocationPolicy }} + allowIDs: {{ .Values.allowIDs | quote }} + denyIDs: {{ .Values.denyIDs | quote }} nodeSelector: {{- .Values.nodeSelector | toYaml | nindent 4 }} tolerations: {{- .Values.tolerations | toYaml | nindent 4 }} @@ -62,17 +63,6 @@ metadata: name: intel-gpu-platform-labeling spec: rules: - - extendedResources: - gpu.intel.com/millicores: "@local.label.gpu.intel.com/millicores" - gpu.intel.com/memory.max: "@local.label.gpu.intel.com/memory.max" - gpu.intel.com/tiles: "@local.label.gpu.intel.com/tiles" - matchFeatures: - - feature: local.label - matchExpressions: - gpu.intel.com/millicores: {op: Exists} - gpu.intel.com/memory.max: {op: Exists} - gpu.intel.com/tiles: {op: Exists} - name: intel.gpu.fractionalresources # generic rule for older and upcoming devices - labelsTemplate: | {{"{{"}} range .pci.device {{"}}"}}gpu.intel.com/device-id.{{"{{"}} .class {{"}}"}}-{{"{{"}} .device {{"}}"}}.present=true @@ -252,5 +242,10 @@ spec: - "5695" - "56b1" - "56b0" + - "56a2" + - "56ba" + - "56bc" + - "56bd" + - "56bb" name: intel.gpu.a.series {{- end }} diff --git a/charts/gpu-device-plugin/values.yaml b/charts/gpu-device-plugin/values.yaml index 6cb5005..bb3e358 100644 --- a/charts/gpu-device-plugin/values.yaml +++ b/charts/gpu-device-plugin/values.yaml @@ -11,9 +11,10 @@ initImage: sharedDevNum: 1 logLevel: 2 -resourceManager: false enableMonitoring: true allocationPolicy: "none" +allowIDs: "" +denyIDs: "" nodeSelector: intel.feature.node.kubernetes.io/gpu: 'true' diff --git a/charts/iaa-device-plugin/Chart.yaml b/charts/iaa-device-plugin/Chart.yaml index a42a933..71c27e5 100644 --- a/charts/iaa-device-plugin/Chart.yaml +++ b/charts/iaa-device-plugin/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: intel-device-plugins-iaa description: A Helm chart for Intel IAA Device Plugin type: application -version: 0.32.1 -appVersion: "0.32.1" \ No newline at end of file +version: 0.34.0 +appVersion: "0.34.0" \ No newline at end of file diff --git a/charts/npu-device-plugin/Chart.yaml b/charts/npu-device-plugin/Chart.yaml new file mode 100644 index 0000000..35eee21 --- /dev/null +++ b/charts/npu-device-plugin/Chart.yaml @@ -0,0 +1,6 @@ +apiVersion: v2 +name: intel-device-plugins-npu +description: A Helm chart for Intel NPU Device Plugin +type: application +version: 0.34.0 +appVersion: "0.34.0" diff --git a/charts/npu-device-plugin/LICENSE b/charts/npu-device-plugin/LICENSE new file mode 100644 index 0000000..8669075 --- /dev/null +++ b/charts/npu-device-plugin/LICENSE @@ -0,0 +1,14 @@ +Copyright 2025 Intel Corporation +SPDX-License-Identifier: Apache-2.0 + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/charts/npu-device-plugin/README.md b/charts/npu-device-plugin/README.md new file mode 100644 index 0000000..c4bb607 --- /dev/null +++ b/charts/npu-device-plugin/README.md @@ -0,0 +1,39 @@ +# Intel NPU Device Plugin Helm Chart + +## Get Helm Repository Info +``` +helm repo add intel https://intel.github.io/helm-charts/ +helm repo update +``` + +You can execute `helm search repo intel` command to see pulled charts [optional]. + +## Install Helm Chart +``` +helm install npu-device-plugin intel/intel-device-plugins-npu [flags] +``` +## Upgrade Chart +``` +helm upgrade npu-device-plugin intel/intel-device-plugins-npu [flags] +``` + +## Uninstall Chart +``` +helm uninstall npu-device-plugin +``` + +## Configuration +See [Customizing the Chart Before Installing](https://helm.sh/docs/intro/using_helm/#customizing-the-chart-before-installing). To see all configurable options with detailed comments: + +```console +helm show values intel/intel-device-plugins-npu +``` + +You may also run `helm show values` on this chart's dependencies for additional options. + +|parameter| value | +|---------|-----------| +| `image.hub` | `intel` | +| `image.tag` | `` | +| `sharedDevNum` | `1` | +| `logLevel` | `2` | diff --git a/charts/npu-device-plugin/templates/npu.yaml b/charts/npu-device-plugin/templates/npu.yaml new file mode 100644 index 0000000..2cdfc15 --- /dev/null +++ b/charts/npu-device-plugin/templates/npu.yaml @@ -0,0 +1,48 @@ +{{- /* +based on +deployments/operator/samples/deviceplugin_v1_npudeviceplugin.yaml +*/}} + +apiVersion: deviceplugin.intel.com/v1 +kind: NpuDevicePlugin +metadata: + name: {{ .Values.name }} + annotations: {{ toYaml .Values.annotations | nindent 4 }} +spec: + image: "{{ .Values.image.hub }}/intel-npu-plugin:{{ .Values.image.tag | default .Chart.AppVersion }}" + logLevel: {{ .Values.logLevel }} + sharedDevNum: {{ .Values.sharedDevNum }} + + nodeSelector: {{- .Values.nodeSelector | toYaml | nindent 4 }} + tolerations: {{- .Values.tolerations | toYaml | nindent 4 }} + +--- +{{- if eq .Values.nodeFeatureRule true }} +apiVersion: nfd.k8s-sigs.io/v1alpha1 +kind: NodeFeatureRule +metadata: + name: intel-dp-npu-device +spec: + rules: + - name: "intel.npu" + labels: + "intel.feature.node.kubernetes.io/npu": "true" + matchFeatures: + - feature: pci.device + matchExpressions: + vendor: {op: In, value: ["8086"]} + class: {op: In, value: ["1200"]} + device: { + op: In, + value: ["7e4c","643e","ad1d","7d1d"] + } + matchAny: + - matchFeatures: + - feature: kernel.loadedmodule + matchExpressions: + intel_vpu: {op: Exists} + - matchFeatures: + - feature: kernel.enabledmodule + matchExpressions: + intel_vpu: {op: Exists} +{{- end }} diff --git a/charts/npu-device-plugin/values.yaml b/charts/npu-device-plugin/values.yaml new file mode 100644 index 0000000..0c2f35c --- /dev/null +++ b/charts/npu-device-plugin/values.yaml @@ -0,0 +1,15 @@ +name: npudeviceplugin-sample + +image: + hub: intel + tag: "" + +sharedDevNum: 1 +logLevel: 2 + +nodeSelector: + intel.feature.node.kubernetes.io/npu: 'true' + +tolerations: [] + +nodeFeatureRule: true diff --git a/charts/qat-device-plugin/Chart.yaml b/charts/qat-device-plugin/Chart.yaml index fef482a..bd1445c 100644 --- a/charts/qat-device-plugin/Chart.yaml +++ b/charts/qat-device-plugin/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: intel-device-plugins-qat description: A Helm chart for Intel QAT Device Plugin type: application -version: 0.32.1 -appVersion: "0.32.1" \ No newline at end of file +version: 0.34.0 +appVersion: "0.34.0" \ No newline at end of file diff --git a/charts/sgx-device-plugin/Chart.yaml b/charts/sgx-device-plugin/Chart.yaml index 9240dfc..92f496e 100644 --- a/charts/sgx-device-plugin/Chart.yaml +++ b/charts/sgx-device-plugin/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: intel-device-plugins-sgx description: A Helm chart for Intel SGX Device Plugin type: application -version: 0.32.1 -appVersion: "0.32.1" \ No newline at end of file +version: 0.34.0 +appVersion: "0.34.0" \ No newline at end of file