mirror of
https://github.com/k8s-at-home/charts.git
synced 2025-02-03 07:49:03 +00:00
[games-on-whales] support for nvidia (#1145)
* initial release * [games-on-whales] split tcp and udp services * [games-on-whales] fix for retroarch (snd and shm) * review fixes * use GHCR images * add ABeltramo as games-on-whales maintainer * support for nvidia Co-authored-by: angelnu <git@angelnucom>
This commit is contained in:
parent
5c75bb4b9e
commit
efd1fae655
@ -2,7 +2,7 @@ apiVersion: v2
|
|||||||
appVersion: 1.0.0
|
appVersion: 1.0.0
|
||||||
description: Streams graphic applications/games (retroarch, firefox, steam) runing on Kubernetes
|
description: Streams graphic applications/games (retroarch, firefox, steam) runing on Kubernetes
|
||||||
name: games-on-whales
|
name: games-on-whales
|
||||||
version: 1.2.0
|
version: 1.3.0
|
||||||
kubeVersion: ">=1.19.0-0"
|
kubeVersion: ">=1.19.0-0"
|
||||||
keywords:
|
keywords:
|
||||||
- games-on-whales
|
- games-on-whales
|
||||||
@ -18,6 +18,8 @@ sources:
|
|||||||
maintainers:
|
maintainers:
|
||||||
- name: angelnu
|
- name: angelnu
|
||||||
email: gits@angelnu.com
|
email: gits@angelnu.com
|
||||||
|
- name: ABeltramo
|
||||||
|
email: beltramo.ale@gmail.com
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: common
|
- name: common
|
||||||
repository: https://library-charts.k8s-at-home.com
|
repository: https://library-charts.k8s-at-home.com
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# games-on-whales
|
# games-on-whales
|
||||||
|
|
||||||
![Version: 1.2.0](https://img.shields.io/badge/Version-1.2.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square)
|
![Version: 1.3.0](https://img.shields.io/badge/Version-1.3.0-informational?style=flat-square) ![AppVersion: 1.0.0](https://img.shields.io/badge/AppVersion-1.0.0-informational?style=flat-square)
|
||||||
|
|
||||||
Streams graphic applications/games (retroarch, firefox, steam) runing on Kubernetes
|
Streams graphic applications/games (retroarch, firefox, steam) runing on Kubernetes
|
||||||
|
|
||||||
@ -67,7 +67,34 @@ helm install games-on-whales k8s-at-home/games-on-whales -f values.yaml
|
|||||||
|
|
||||||
## Custom configuration
|
## Custom configuration
|
||||||
|
|
||||||
You need a real graphic card in your Kubernetes node to run Games on Whales.
|
### GPU
|
||||||
|
|
||||||
|
You need a real graphic card in your Kubernetes node to run Games on Whales:
|
||||||
|
|
||||||
|
#### Intel
|
||||||
|
|
||||||
|
It does not require any custom settings but if you use [intel-gpu-plugin](https://github.com/k8s-at-home/charts/tree/master/charts/stable/intel-gpu-plugin)
|
||||||
|
then you might use the `graphic_resources` value to specify the resource limits
|
||||||
|
such as:
|
||||||
|
|
||||||
|
```
|
||||||
|
graphic_resources:
|
||||||
|
gpu.intel.com/i915: 1 # requesting 1 i915 GPU
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Nvidia
|
||||||
|
|
||||||
|
If you use the Nvidia propietary device driver then you will need the
|
||||||
|
[Nvidia device plugin](https://github.com/NVIDIA/k8s-device-plugin)
|
||||||
|
and set `graphic_resources` value to specify the resource limits.
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
graphic_resources:
|
||||||
|
nvidia.com/gpu: 1 # requesting 1 nvidia GPU
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Proxmox
|
||||||
|
|
||||||
If you use Proxmox you might use PCI pass-through but you also need to ensure
|
If you use Proxmox you might use PCI pass-through but you also need to ensure
|
||||||
the host does not load any modules for the graphic card. See the
|
the host does not load any modules for the graphic card. See the
|
||||||
@ -85,6 +112,7 @@ the host does not load any modules for the graphic card. See the
|
|||||||
| firefox.image.tag | string | `"91.0.2-r1"` | image tag |
|
| firefox.image.tag | string | `"91.0.2-r1"` | image tag |
|
||||||
| firefox.logLevel | string | `"info"` | firefox log level |
|
| firefox.logLevel | string | `"info"` | firefox log level |
|
||||||
| firefox.volumeMounts | list | `[]` | firefox extra volume mounts |
|
| firefox.volumeMounts | list | `[]` | firefox extra volume mounts |
|
||||||
|
| graphic_resources | object | `nil` | Pass GPU resources to Xorg, steam and retroarch containers See Custom configuration section in the Readme |
|
||||||
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
|
| ingress.main | object | See values.yaml | Enable and configure ingress settings for the chart under this key. |
|
||||||
| mkhomeretrodirs.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
| mkhomeretrodirs.image.pullPolicy | string | `"IfNotPresent"` | image pull policy |
|
||||||
| mkhomeretrodirs.image.repository | string | `"busybox"` | image repository |
|
| mkhomeretrodirs.image.repository | string | `"busybox"` | image repository |
|
||||||
@ -128,6 +156,13 @@ All notable changes to this application Helm chart will be documented in this fi
|
|||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
### [1.3.0]
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- support for NVIDIA
|
||||||
|
- ABeltramo as maintainer
|
||||||
|
|
||||||
### [1.2.0]
|
### [1.2.0]
|
||||||
|
|
||||||
#### Changed
|
#### Changed
|
||||||
|
@ -9,6 +9,13 @@ All notable changes to this application Helm chart will be documented in this fi
|
|||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
### [1.3.0]
|
||||||
|
|
||||||
|
#### Added
|
||||||
|
|
||||||
|
- support for NVIDIA
|
||||||
|
- ABeltramo as maintainer
|
||||||
|
|
||||||
### [1.2.0]
|
### [1.2.0]
|
||||||
|
|
||||||
#### Changed
|
#### Changed
|
||||||
|
@ -5,7 +5,35 @@
|
|||||||
{{- define "custom.custom.configuration" -}}
|
{{- define "custom.custom.configuration" -}}
|
||||||
{{ template "custom.custom.configuration.header" . }}
|
{{ template "custom.custom.configuration.header" . }}
|
||||||
|
|
||||||
You need a real graphic card in your Kubernetes node to run Games on Whales.
|
|
||||||
|
### GPU
|
||||||
|
|
||||||
|
You need a real graphic card in your Kubernetes node to run Games on Whales:
|
||||||
|
|
||||||
|
#### Intel
|
||||||
|
|
||||||
|
It does not require any custom settings but if you use [intel-gpu-plugin](https://github.com/k8s-at-home/charts/tree/master/charts/stable/intel-gpu-plugin)
|
||||||
|
then you might use the `graphic_resources` value to specify the resource limits
|
||||||
|
such as:
|
||||||
|
|
||||||
|
```
|
||||||
|
graphic_resources:
|
||||||
|
gpu.intel.com/i915: 1 # requesting 1 i915 GPU
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Nvidia
|
||||||
|
|
||||||
|
If you use the Nvidia propietary device driver then you will need the
|
||||||
|
[Nvidia device plugin](https://github.com/NVIDIA/k8s-device-plugin)
|
||||||
|
and set `graphic_resources` value to specify the resource limits.
|
||||||
|
Example:
|
||||||
|
|
||||||
|
```
|
||||||
|
graphic_resources:
|
||||||
|
nvidia.com/gpu: 1 # requesting 1 nvidia GPU
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Proxmox
|
||||||
|
|
||||||
If you use Proxmox you might use PCI pass-through but you also need to ensure
|
If you use Proxmox you might use PCI pass-through but you also need to ensure
|
||||||
the host does not load any modules for the graphic card. See the
|
the host does not load any modules for the graphic card. See the
|
||||||
|
@ -10,6 +10,14 @@ image:
|
|||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
|
|
||||||
|
{{- if .Values.graphic_resources }}
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
{{ .Values.graphic_resources | toYaml | nindent 4 }}
|
||||||
|
limits:
|
||||||
|
{{ .Values.graphic_resources | toYaml | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
env:
|
env:
|
||||||
DISPLAY: {{ .Values.xorg.display }}
|
DISPLAY: {{ .Values.xorg.display }}
|
||||||
LOG_LEVEL: {{ .Values.sunshine.logLevel }}
|
LOG_LEVEL: {{ .Values.sunshine.logLevel }}
|
||||||
@ -42,6 +50,13 @@ additionalContainers:
|
|||||||
imagePullPolicy: {{ .Values.xorg.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.xorg.image.pullPolicy }}
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
|
{{- if .Values.graphic_resources }}
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
{{ .Values.graphic_resources | toYaml | nindent 8 }}
|
||||||
|
limits:
|
||||||
|
{{ .Values.graphic_resources | toYaml | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
env:
|
env:
|
||||||
- name: DISPLAY
|
- name: DISPLAY
|
||||||
value: {{ .Values.xorg.display | quote }}
|
value: {{ .Values.xorg.display | quote }}
|
||||||
@ -74,6 +89,13 @@ additionalContainers:
|
|||||||
imagePullPolicy: {{ .Values.retroarch.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.retroarch.image.pullPolicy }}
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
|
{{- if .Values.graphic_resources }}
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
{{ .Values.graphic_resources | toYaml | nindent 8 }}
|
||||||
|
limits:
|
||||||
|
{{ .Values.graphic_resources | toYaml | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
env:
|
env:
|
||||||
- name: DISPLAY
|
- name: DISPLAY
|
||||||
value: {{ .Values.xorg.display | quote }}
|
value: {{ .Values.xorg.display | quote }}
|
||||||
@ -111,6 +133,13 @@ additionalContainers:
|
|||||||
imagePullPolicy: {{ .Values.steam.image.pullPolicy }}
|
imagePullPolicy: {{ .Values.steam.image.pullPolicy }}
|
||||||
securityContext:
|
securityContext:
|
||||||
privileged: true
|
privileged: true
|
||||||
|
{{- if .Values.graphic_resources }}
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
{{ .Values.graphic_resources | toYaml | nindent 8 }}
|
||||||
|
limits:
|
||||||
|
{{ .Values.graphic_resources | toYaml | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
env:
|
env:
|
||||||
- name: DISPLAY
|
- name: DISPLAY
|
||||||
value: {{ .Values.xorg.display | quote }}
|
value: {{ .Values.xorg.display | quote }}
|
||||||
|
@ -32,6 +32,10 @@ persistence:
|
|||||||
type: emptyDir
|
type: emptyDir
|
||||||
mountPath: /home/retro
|
mountPath: /home/retro
|
||||||
|
|
||||||
|
# -- (object) Pass GPU resources to Xorg, steam and retroarch containers
|
||||||
|
# See Custom configuration section in the Readme
|
||||||
|
graphic_resources:
|
||||||
|
|
||||||
sunshine:
|
sunshine:
|
||||||
image:
|
image:
|
||||||
# -- sunshine image repository
|
# -- sunshine image repository
|
||||||
|
Loading…
Reference in New Issue
Block a user