fix(docs): add intel gpu guide & small nvidia fixes (#33001)

**Description**
<!--
Please include a summary of the change and which issue is fixed. Please
also include relevant motivation and context. List any dependencies that
are required for this change.
-->
⚒️ Fixes  # <!--(issue)-->

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code
- [x] 📜 Documentation Changes

**🧪 How Has This Been Tested?**
<!--
Please describe the tests that you ran to verify your changes. Provide
instructions so we can reproduce. Please also list any relevant details
for your test configuration
-->

**📃 Notes:**
<!-- Please enter any other relevant information here -->

**✔️ Checklist:**

- [ ] ⚖️ My code follows the style guidelines of this project
- [ ] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [x] 📄 I have made changes to the documentation
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [ ] ⬆️ I increased versions for any altered app according to semantic
versioning
- [x] I made sure the title starts with `feat(chart-name):`,
`fix(chart-name):`, `chore(chart-name):`, `docs(chart-name):` or
`fix(docs):`

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: Alfred Göppel <43101280+alfi0812@users.noreply.github.com>
Signed-off-by: Kjeld Schouten <info@kjeldschouten.nl>
Co-authored-by: Kjeld Schouten <info@kjeldschouten.nl>
This commit is contained in:
Alfred Göppel
2025-03-08 15:09:50 +01:00
committed by GitHub
co-authored by Kjeld Schouten
parent 39c026cc57
commit 30f648b0cb
2 changed files with 167 additions and 2 deletions
@@ -0,0 +1,165 @@
---
title: Intel-GPU
---
:::caution[Charts]
Adding a GPU to your Cluster isn't covered by the Support Policy.
Feel free to open a thread in the appropiate Channel in our Discord server.
:::
## Prerequisites
- Having your GPU isolated when using a VM
- Passed the GPU to your Talos Machine when using a VM
## Extensions for Talhelper/Clustertool
:::caution[Charts]
This Section assumes you are using Clustertool or Talhelper for your talos cluster. The steps may differ otherwise.
:::
Its important to add the following Extensions to your `talconfig.yaml` for bootstrap:
```yaml
schematic:
customization:
systemExtensions:
officialExtensions:
- siderolabs/i915
- siderolabs/intel-ucode
- siderolabs/mei
```
## Adding it to your cluster
If its a fresh bootstrap you can simply follow the clustertool guide on how to bootstrap your cluster.
If it is a existing cluster you will need to run `clustertool talos upgrade` to add the extensions to your cluster.
## Adding Intel Repo for required Charts
Add the following repo to your cluster if using fluxcd:
```yaml
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json
apiVersion: source.toolkit.fluxcd.io/v1
kind: HelmRepository
metadata:
name: intel
namespace: flux-system
spec:
interval: 2h
url: https://intel.github.io/helm-charts
```
## Add intel-device-plugin-operator
Add the intel-device-plugin-operator to your cluster
Example helm-release configuration:
```yaml
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: intel-device-plugin-operator
namespace: system
spec:
interval: 30m
chart:
spec:
chart: intel-device-plugins-operator
version: 0.32.0
sourceRef:
kind: HelmRepository
name: intel
namespace: flux-system
install:
crds: CreateReplace
remediation:
retries: 3
upgrade:
cleanupOnFail: true
crds: CreateReplace
remediation:
strategy: rollback
retries: 3
dependsOn:
- name: node-feature-discovery
namespace: kube-system
values:
controllerExtraArgs: |
- --devices=gpu
```
## Add intel-device-plugin-gpu
Add the intel-device-plugin-gpu to your cluster
Example helm-release configuration:
```yaml
---
# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: intel-device-plugin-gpu
namespace: system
spec:
interval: 30m
chart:
spec:
chart: intel-device-plugins-gpu
version: 0.32.0
sourceRef:
kind: HelmRepository
name: intel
namespace: flux-system
install:
remediation:
retries: 3
upgrade:
cleanupOnFail: true
remediation:
strategy: rollback
retries: 3
dependsOn:
- name: intel-device-plugin-operator
namespace: system
values:
name: intel-gpu-plugin
sharedDevNum: 5
nodeFeatureRule: true
```
## Check if GPU is schedulable
```bash
kubectl get nodes -o=jsonpath="{range .items[*]}{.metadata.name}{'\n'}{' i915: '}{.status.allocatable.gpu\.intel\.com/i915}{'\n'}"
```
## Example of GPU Assignment
The following shows an example on how to add the GPU to a chart. Depending on the chart you may need to adapt the workload-name.
```yaml
resources:
limits:
gpu.intel.com/i915: 1
```
@@ -231,10 +231,10 @@ The following shows an example on how to add the GPU to a chart. Depending on th
```yaml
resources:
limits:
nvidia.com/gpu: 1
nvidia.com/gpu: 1
workload:
main:
podSpec:
podSpec:
runtimeClassName: "nvidia"
```