From ac16aed3d2ad5df761073e44f201750a9da4e972 Mon Sep 17 00:00:00 2001 From: Vegard Hagen Date: Thu, 18 Jul 2024 16:29:27 +0200 Subject: [PATCH] feat: add node-feature-discovery and intel-device-plugins label nodes with features to enable e.g. Intel iGPU support --- .../gpu/kustomization.yaml | 11 ++++++++++ .../intel-device-plugins/gpu/values.yaml | 6 ++++++ .../intel-device-plugins/kustomization.yaml | 7 +++++++ .../controllers/intel-device-plugins/ns.yaml | 6 ++++++ .../operator/kustomization.yaml | 10 +++++++++ .../node-feature-discovery/kustomization.yaml | 21 +++++++++++++++++++ .../node-feature-discovery/nfd-worker.conf | 2 ++ .../node-feature-discovery/ns.yaml | 6 ++++++ 8 files changed, 69 insertions(+) create mode 100644 remodel/k8s/infra/controllers/intel-device-plugins/gpu/kustomization.yaml create mode 100644 remodel/k8s/infra/controllers/intel-device-plugins/gpu/values.yaml create mode 100644 remodel/k8s/infra/controllers/intel-device-plugins/kustomization.yaml create mode 100644 remodel/k8s/infra/controllers/intel-device-plugins/ns.yaml create mode 100644 remodel/k8s/infra/controllers/intel-device-plugins/operator/kustomization.yaml create mode 100644 remodel/k8s/infra/controllers/node-feature-discovery/kustomization.yaml create mode 100644 remodel/k8s/infra/controllers/node-feature-discovery/nfd-worker.conf create mode 100644 remodel/k8s/infra/controllers/node-feature-discovery/ns.yaml diff --git a/remodel/k8s/infra/controllers/intel-device-plugins/gpu/kustomization.yaml b/remodel/k8s/infra/controllers/intel-device-plugins/gpu/kustomization.yaml new file mode 100644 index 0000000..9faa7fe --- /dev/null +++ b/remodel/k8s/infra/controllers/intel-device-plugins/gpu/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +helmCharts: + - name: intel-device-plugins-gpu + repo: https://intel.github.io/helm-charts/ + version: 0.30.0 + namespace: intel-device-plugins + releaseName: intel-device-plugins-gpu + includeCRDs: true + valuesFile: values.yaml diff --git a/remodel/k8s/infra/controllers/intel-device-plugins/gpu/values.yaml b/remodel/k8s/infra/controllers/intel-device-plugins/gpu/values.yaml new file mode 100644 index 0000000..f4ca262 --- /dev/null +++ b/remodel/k8s/infra/controllers/intel-device-plugins/gpu/values.yaml @@ -0,0 +1,6 @@ +name: igpu +sharedDevNum: 5 +enableMonitoring: true +nodeFeatureRule: false +nodeSelector: + intel.feature.node.kubernetes.io/gpu: 'true' \ No newline at end of file diff --git a/remodel/k8s/infra/controllers/intel-device-plugins/kustomization.yaml b/remodel/k8s/infra/controllers/intel-device-plugins/kustomization.yaml new file mode 100644 index 0000000..083797b --- /dev/null +++ b/remodel/k8s/infra/controllers/intel-device-plugins/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ns.yaml + - operator + - gpu \ No newline at end of file diff --git a/remodel/k8s/infra/controllers/intel-device-plugins/ns.yaml b/remodel/k8s/infra/controllers/intel-device-plugins/ns.yaml new file mode 100644 index 0000000..29b4cdb --- /dev/null +++ b/remodel/k8s/infra/controllers/intel-device-plugins/ns.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: intel-device-plugins + labels: + pod-security.kubernetes.io/enforce: privileged diff --git a/remodel/k8s/infra/controllers/intel-device-plugins/operator/kustomization.yaml b/remodel/k8s/infra/controllers/intel-device-plugins/operator/kustomization.yaml new file mode 100644 index 0000000..edab411 --- /dev/null +++ b/remodel/k8s/infra/controllers/intel-device-plugins/operator/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +helmCharts: + - name: intel-device-plugins-operator + repo: https://intel.github.io/helm-charts/ + version: 0.30.0 + namespace: intel-device-plugins + releaseName: intel-device-plugins-operator + includeCRDs: true \ No newline at end of file diff --git a/remodel/k8s/infra/controllers/node-feature-discovery/kustomization.yaml b/remodel/k8s/infra/controllers/node-feature-discovery/kustomization.yaml new file mode 100644 index 0000000..93a096c --- /dev/null +++ b/remodel/k8s/infra/controllers/node-feature-discovery/kustomization.yaml @@ -0,0 +1,21 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ns.yaml + # NFD rules for Intel HW + - https://github.com/intel/intel-device-plugins-for-kubernetes/deployments/nfd/overlays/node-feature-rules?ref=v0.29.0 + +# https://kubernetes-sigs.github.io/node-feature-discovery/v0.16/deployment/helm.html +helmCharts: + - name: node-feature-discovery + repo: https://kubernetes-sigs.github.io/node-feature-discovery/charts + version: 0.16.0 + releaseName: nfd + includeCRDs: true + namespace: node-feature-discovery + valuesInline: + worker: + config: + core: + sleepInterval: 0s diff --git a/remodel/k8s/infra/controllers/node-feature-discovery/nfd-worker.conf b/remodel/k8s/infra/controllers/node-feature-discovery/nfd-worker.conf new file mode 100644 index 0000000..d14e9fb --- /dev/null +++ b/remodel/k8s/infra/controllers/node-feature-discovery/nfd-worker.conf @@ -0,0 +1,2 @@ +core: + sleepInterval: 0s \ No newline at end of file diff --git a/remodel/k8s/infra/controllers/node-feature-discovery/ns.yaml b/remodel/k8s/infra/controllers/node-feature-discovery/ns.yaml new file mode 100644 index 0000000..be5dc4a --- /dev/null +++ b/remodel/k8s/infra/controllers/node-feature-discovery/ns.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: node-feature-discovery + labels: + pod-security.kubernetes.io/enforce: privileged \ No newline at end of file