From b524cdd79fcfecbaba9f615f67339c3217a31eb4 Mon Sep 17 00:00:00 2001 From: Joseph Hanson Date: Sat, 2 Dec 2023 00:08:55 -0600 Subject: [PATCH] Adding node feature discovery and intel drivers --- .../intel-device-plugins/gpu/helmrelease.yaml | 21 +++++++++ .../gpu/kustomization.yaml | 7 +++ .../gpu/nodefeaturerule.yaml | 22 ++++++++++ .../apps/system/intel-device-plugins/ks.yaml | 43 +++++++++++++++++++ .../operator/helmrelease.yaml | 21 +++++++++ .../operator/kustomization.yaml | 6 +++ .../app/helmrelease.yaml | 37 ++++++++++++++++ .../app/kustomization.yaml | 6 +++ .../system/node-feature-discovery/ks.yaml | 19 ++++++++ 9 files changed, 182 insertions(+) create mode 100644 kubernetes/apps/system/intel-device-plugins/gpu/helmrelease.yaml create mode 100644 kubernetes/apps/system/intel-device-plugins/gpu/kustomization.yaml create mode 100644 kubernetes/apps/system/intel-device-plugins/gpu/nodefeaturerule.yaml create mode 100644 kubernetes/apps/system/intel-device-plugins/ks.yaml create mode 100644 kubernetes/apps/system/intel-device-plugins/operator/helmrelease.yaml create mode 100644 kubernetes/apps/system/intel-device-plugins/operator/kustomization.yaml create mode 100644 kubernetes/apps/system/node-feature-discovery/app/helmrelease.yaml create mode 100644 kubernetes/apps/system/node-feature-discovery/app/kustomization.yaml create mode 100644 kubernetes/apps/system/node-feature-discovery/ks.yaml diff --git a/kubernetes/apps/system/intel-device-plugins/gpu/helmrelease.yaml b/kubernetes/apps/system/intel-device-plugins/gpu/helmrelease.yaml new file mode 100644 index 0000000..db381dd --- /dev/null +++ b/kubernetes/apps/system/intel-device-plugins/gpu/helmrelease.yaml @@ -0,0 +1,21 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: intel-device-plugins-gpu +spec: + interval: 30m + chart: + spec: + chart: intel-device-plugins-gpu + version: 0.28.0 + interval: 30m + sourceRef: + kind: HelmRepository + name: intel + namespace: flux-system + values: + name: intel-gpu-plugin + sharedDevNum: 3 + nodeFeatureRule: false diff --git a/kubernetes/apps/system/intel-device-plugins/gpu/kustomization.yaml b/kubernetes/apps/system/intel-device-plugins/gpu/kustomization.yaml new file mode 100644 index 0000000..9fbf5dd --- /dev/null +++ b/kubernetes/apps/system/intel-device-plugins/gpu/kustomization.yaml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./helmrelease.yaml + - ./nodefeaturerule.yaml diff --git a/kubernetes/apps/system/intel-device-plugins/gpu/nodefeaturerule.yaml b/kubernetes/apps/system/intel-device-plugins/gpu/nodefeaturerule.yaml new file mode 100644 index 0000000..455e979 --- /dev/null +++ b/kubernetes/apps/system/intel-device-plugins/gpu/nodefeaturerule.yaml @@ -0,0 +1,22 @@ +apiVersion: nfd.k8s-sigs.io/v1alpha1 +kind: NodeFeatureRule +metadata: + name: intel-dp-gpu-device +spec: + rules: + - labels: + intel.feature.node.kubernetes.io/gpu: "true" + matchFeatures: + - feature: pci.device + matchExpressions: + class: + op: In + value: + - "0300" + - "0380" + - "a7a0" + vendor: + op: In + value: + - "8086" + name: intel.gpu diff --git a/kubernetes/apps/system/intel-device-plugins/ks.yaml b/kubernetes/apps/system/intel-device-plugins/ks.yaml new file mode 100644 index 0000000..7ad10d9 --- /dev/null +++ b/kubernetes/apps/system/intel-device-plugins/ks.yaml @@ -0,0 +1,43 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &appname intel-device-plugins-operator + namespace: flux-system +spec: + targetNamespace: system + commonMetadata: + labels: + app.kubernetes.io/name: *appname + path: "./kubernetes/apps/system/intel-device-plugins/operator" + sourceRef: + kind: GitRepository + name: valinor + interval: 10m + prune: true + wait: true + dependsOn: + - name: cert-manager + - name: node-feature-discovery +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &appname intel-device-plugins-gpu + namespace: flux-system +spec: + targetNamespace: system + commonMetadata: + labels: + app.kubernetes.io/name: *appname + path: "./kubernetes/apps/system/intel-device-plugins/gpu" + sourceRef: + kind: GitRepository + name: valinor + interval: 30m + prune: true + wait: true + dependsOn: + - name: intel-device-plugins-operator diff --git a/kubernetes/apps/system/intel-device-plugins/operator/helmrelease.yaml b/kubernetes/apps/system/intel-device-plugins/operator/helmrelease.yaml new file mode 100644 index 0000000..a53326e --- /dev/null +++ b/kubernetes/apps/system/intel-device-plugins/operator/helmrelease.yaml @@ -0,0 +1,21 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: intel-device-plugins-operator +spec: + interval: 30m + chart: + spec: + chart: intel-device-plugins-operator + version: 0.28.0 + interval: 30m + sourceRef: + kind: HelmRepository + name: intel + namespace: flux-system + install: + crds: CreateReplace + upgrade: + crds: CreateReplace diff --git a/kubernetes/apps/system/intel-device-plugins/operator/kustomization.yaml b/kubernetes/apps/system/intel-device-plugins/operator/kustomization.yaml new file mode 100644 index 0000000..fbba51d --- /dev/null +++ b/kubernetes/apps/system/intel-device-plugins/operator/kustomization.yaml @@ -0,0 +1,6 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./helmrelease.yaml diff --git a/kubernetes/apps/system/node-feature-discovery/app/helmrelease.yaml b/kubernetes/apps/system/node-feature-discovery/app/helmrelease.yaml new file mode 100644 index 0000000..0f3e13f --- /dev/null +++ b/kubernetes/apps/system/node-feature-discovery/app/helmrelease.yaml @@ -0,0 +1,37 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: node-feature-discovery +spec: + interval: 30m + chart: + spec: + chart: node-feature-discovery + version: 0.14.3 + sourceRef: + kind: HelmRepository + name: kubernetes-sigs-nfd + namespace: flux-system + interval: 30m + install: + crds: CreateReplace + upgrade: + crds: CreateReplace + values: + master: + resources: + requests: + cpu: 21m + memory: 51Mi + limits: + memory: 51Mi + + worker: + resources: + requests: + cpu: 5m + memory: 48Mi + limits: + memory: 48Mi diff --git a/kubernetes/apps/system/node-feature-discovery/app/kustomization.yaml b/kubernetes/apps/system/node-feature-discovery/app/kustomization.yaml new file mode 100644 index 0000000..fbba51d --- /dev/null +++ b/kubernetes/apps/system/node-feature-discovery/app/kustomization.yaml @@ -0,0 +1,6 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization.json +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./helmrelease.yaml diff --git a/kubernetes/apps/system/node-feature-discovery/ks.yaml b/kubernetes/apps/system/node-feature-discovery/ks.yaml new file mode 100644 index 0000000..39ecff4 --- /dev/null +++ b/kubernetes/apps/system/node-feature-discovery/ks.yaml @@ -0,0 +1,19 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &appname node-feature-discovery + namespace: flux-system +spec: + targetNamespace: system + commonMetadata: + labels: + app.kubernetes.io/name: *appname + interval: 10m + path: "./kubernetes/apps/system/node-feature-discovery/app" + prune: true + sourceRef: + kind: GitRepository + name: valinor + wait: true