dfa264038d
* Bump version * Clean up chart * Fix pre-commit issues |
||
---|---|---|
.. | ||
templates | ||
.helmignore | ||
Chart.yaml | ||
README_CHANGELOG.md.gotmpl | ||
README_CONFIG.md.gotmpl | ||
README.md | ||
README.md.gotmpl | ||
values.yaml |
smarter-device-manager
Manage hardware resource allocation without a need for privileged containers
This chart is not maintained by the upstream project and any issues with the chart should be raised here
Source Code
- https://gitlab.com/arm-research/smarter/smarter-device-manager/
- https://github.com/k8s-at-home/charts
Requirements
Kubernetes: >=1.16.0-0
Dependencies
Repository | Name | Version |
---|---|---|
https://library-charts.k8s-at-home.com | common | 2.5.0 |
TL;DR
helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install smarter-device-manager k8s-at-home/smarter-device-manager
Installing the Chart
To install the chart with the release name smarter-device-manager
helm install smarter-device-manager k8s-at-home/smarter-device-manager
Uninstalling the Chart
To uninstall the smarter-device-manager
deployment
helm uninstall smarter-device-manager
The command removes all the Kubernetes components associated with the chart including persistent volumes and deletes the release.
Configuration
Read through the values.yaml file. It has several commented out suggested values. Other values may be used from the values.yaml from the common library.
Specify each parameter using the --set key=value[,key=value]
argument to helm install
.
helm install smarter-device-manager \
--set env.TZ="America/New York" \
k8s-at-home/smarter-device-manager
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
helm install smarter-device-manager k8s-at-home/smarter-device-manager -f values.yaml
Custom configuration
Please consider overriding the default configuration through values.yaml
file.
For example:
config: |
- devicematch: ^snd$
nummaxdevices: 20
- devicematch: ^rtc0$
nummaxdevices: 20
- devicematch: ^video[0-9]*$
nummaxdevices: 20
- devicematch: ^ttyACM[0-9]*$
nummaxdevices: 1
The above configuration allows up to twenty pods to make use of /dev/snd
, /dev/rtc0
and each of /dev/video[0-9]*
devices.
Only one pod at a time can use any of the discovered host /dev/ttyACM[0-9]*
devices. This means that if a pod has reserved a dongle at /dev/ttyACM0
, another pod requesting the same device will stay pending.
Once the devices are discovered, they will be added as allocatable resources to the nodes:
$ kubectl describe nodes
...
Capacity:
cpu: 4
memory: 16104560Ki
pods: 110
smarter-devices/gpiochip0: 0
smarter-devices/i2c-0: 0
smarter-devices/snd: 20
smarter-devices/ttyUSB-Z-Stick-Gen5: 1
The hardware is requested by pods through resources
, e.g.:
resources:
limits:
smarter-devices/ttyUSB-Conbee-2: 1
requests:
smarter-devices/ttyUSB-Conbee-2: 1
In this case host device /dev/ttyUSB-Conbee-2
will be given at the same path, and the pod will only be created when this device is available.
Values
Important: When deploying an application Helm chart you can add more values from our common library chart here
Key | Type | Default | Description |
---|---|---|---|
config | string | Refer to values.yaml | Override default configuration See project repo for configuration examples |
dnsPolicy | string | "ClusterFirstWithHostNet" |
|
hostNetwork | bool | true |
|
hostPathMounts | list | Refer to values.yaml | Configures the host paths that are mapped through to the container |
image.pullPolicy | string | "IfNotPresent" |
Configure the image pull policy |
image.repository | string | "registry.gitlab.com/arm-research/smarter/smarter-device-manager" |
Configure the image |
image.tag | string | "v1.20.7" |
Configure the image tag |
priorityClassName | string | "system-node-critical" |
Setting priority class is not necessary, but is recommended. [Ref] |
securityContext | object | Refer to values.yaml | Configure the securityContext for this pod |
Changelog
All notable changes to this application Helm chart will be documented in this file but does not include changes from our common library. To read those click here.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
4.0.0
Changed
- BREAKING: The
config
key has been replaced with a multiline string - BREAKING: The chart now uses the
hostPathMounts
feature to mount the host paths - The app version has been bumped to v1.20.7, this should allow better support of
/dev
subfolders.
3.3.2
Added
- Added icon url.
Changed
- N/A
Removed
- N/A
1.0.0
Added
- N/A
Changed
- N/A
Removed
- N/A
Support
Autogenerated from chart metadata using helm-docs v1.5.0