ungleich-hardware/README.md

137 lines
2.4 KiB
Markdown
Raw Permalink Normal View History

2022-01-15 15:41:50 +00:00
## ungleich-hardware
This container is made for configuring hardware on our clusters.
It usually needs to run in privileged mode.
2022-01-15 18:42:24 +00:00
The source repository for this container is
on
2022-01-15 19:17:47 +00:00
[code.ungleich.ch](https://code.ungleich.ch/ungleich-public/ungleich-hardware). This
image uses significant content from the
[hwraid](https://hwraid.le-vert.net/) page that we would like to thank
for its years long contribution.
2022-01-15 18:42:24 +00:00
See also the [ungleich hardware maintenance
guide](https://redmine.ungleich.ch/projects/open-infrastructure/wiki/The_ungleich_hardware_maintenance_guide),
which describes the use of various hardware raid tools.
2022-01-15 18:42:24 +00:00
You can use this image from
* ungleich/ungleich-hardware
* harbor.ungleich.svc.p10.k8s.ooo/ungleich-public/ungleich-hardware
(IPv6 only)
2022-01-15 15:41:50 +00:00
## Included tools
```
2022-01-15 19:48:41 +00:00
cciss_vol_status
2022-01-15 19:17:47 +00:00
dmidecode
2022-01-15 19:48:41 +00:00
fwupd(mgr)
2022-01-15 15:41:50 +00:00
hdparm
hpacucli
2022-01-15 19:48:41 +00:00
ipmitool
lspci
2022-01-15 15:41:50 +00:00
megacli
megaclisas-status
2022-01-15 19:48:41 +00:00
mpt-status
2022-02-12 12:36:06 +00:00
ps
2022-01-15 19:48:41 +00:00
strace
2022-01-15 15:41:50 +00:00
stress-ng
2022-02-12 12:36:06 +00:00
tmux
2022-01-15 15:41:50 +00:00
```
2022-01-15 19:17:47 +00:00
## Usage
### Kubernetes
To enable access to devices and give permission to the pod to use it,
you could use:
```
apiVersion: v1
kind: Pod
metadata:
name: ungleich-hardware
spec:
containers:
- name: ungleich-hardware
image: harbor.ungleich.svc.p10.k8s.ooo/ungleich-public/ungleich-hardware:0.0.1
args:
- sleep
- "1000000"
volumeMounts:
- mountPath: /dev
name: dev
securityContext:
privileged: true
volumes:
- name: dev
hostPath:
path: /dev
```
2022-01-15 19:37:13 +00:00
You might want to schedule the pod on a specific system, which you can
use using the nodeSelector:
```
...
nodeSelector:
kubernetes.io/hostname: "server49"
....
```
2022-01-15 19:17:47 +00:00
2022-02-12 12:36:06 +00:00
### fwupdmgr
```
/usr/bin/dbus-daemon --system --address=systemd: --nopidfile --syslog-only
```
### hpacucli
2022-01-15 19:54:26 +00:00
Ensure the following kernel modules are loaded on the host:
```
hpsa
sg
```
to avoid the
```
# hpacucli controller all show
Error: No controllers detected.
```
error.
2022-01-15 18:42:24 +00:00
## Changelog / Tags
2022-01-15 15:41:50 +00:00
2022-02-20 20:52:08 +00:00
### 0.1.0 (planned)
* Include storcli
https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/1.23.02_StorCLI.zip
* include megacli.py for prometheus supprt
https://github.com/ungleich/megacli2prom
2022-02-12 12:36:06 +00:00
### 0.0.5 (2022-01-15)
* Added procps for ps
* Added tmux to be able to run things in parallel
2022-01-15 19:37:13 +00:00
2022-01-15 19:48:41 +00:00
### 0.0.4 (2022-01-15)
* Added strace
2022-01-15 19:37:13 +00:00
### 0.0.3 (2022-01-15)
* Added pciutils, mpt-status
* Added fwupd (need to solve/document dbus issue)
2022-01-15 19:17:47 +00:00
### 0.0.2 (2022-01-15)
* Added dmidecode
2022-01-15 15:41:50 +00:00
### 0.0.1 (2022-01-15)
* Initial release