init
This commit is contained in:
commit
320f7937c8
3 changed files with 325 additions and 0 deletions
3
README.md
Normal file
3
README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
"Linux native Container mit Podman und system" talk fuer das Kassel Code Meetup.
|
||||
|
||||
Gebaut mit [Marp](https://marp.app).
|
148
podmantalk.html
Normal file
148
podmantalk.html
Normal file
File diff suppressed because one or more lines are too long
174
podmantalk.md
Normal file
174
podmantalk.md
Normal file
|
@ -0,0 +1,174 @@
|
|||
---
|
||||
marp: true
|
||||
paginate: true
|
||||
author: Max
|
||||
theme: gaia
|
||||
footer: 'Linux native Container mit Podman und systemd | Max | Kassel Code Meetup 29.01.2025'
|
||||
---
|
||||
|
||||
<!-- _paginate: false -->
|
||||
<!-- _footer: "" -->
|
||||
<!-- _class: lead -->
|
||||
|
||||
# Linux native Container mit Podman und systemd
|
||||
|
||||
<!--
|
||||
- Kurze Vorstellung.
|
||||
- init systeme können wie Editors ein sehr emotional schweres Thema sein. Bitte Diskussionen nach dem Talk.
|
||||
- Geht auchähnlich mit anderen toolings wie Guix, heute aber Fokus auf systemd.
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# Was ist Podman
|
||||
|
||||
* Container management tooling
|
||||
* Daemonless
|
||||
* Rootless möglich
|
||||
* Docker API kompatibel
|
||||
|
||||
<!--
|
||||
- Weitere Features wie: integrierte Autoupdates, Pods und auch Desktop Anwendung
|
||||
- Entwickelt von Redhat
|
||||
- Keine "Enterprise Edition"
|
||||
- Nutzt crun als runtime
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# Was ist systemd
|
||||
|
||||
* Primär init system
|
||||
* Resourcen werden in Unit files definiert
|
||||
* Verschiedene Alternative für Systemtools
|
||||
- journal
|
||||
- resolved
|
||||
- timesyncd
|
||||
|
||||
<!--
|
||||
- Unit files beschreiben unter anderem:
|
||||
- service
|
||||
- socket
|
||||
- timer
|
||||
- etc
|
||||
- Vereinheitlicht viel wie z.B. das log handling.
|
||||
- Bei den meisten Linux Distributionen das default init system
|
||||
- Debian
|
||||
- RHEL, Fedora
|
||||
- SUSE
|
||||
- Arch
|
||||
- etc
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# Was sind systemd generators
|
||||
|
||||
* Executables welche Units rendern
|
||||
* Werden beim Start und `daemon-reload` ausgeführt
|
||||
|
||||
<!--
|
||||
- Units werden bei jedem Aufruf neu generiert
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# Quadlet
|
||||
|
||||
* systemd generator von Podman
|
||||
* Wandelt Podman eigene Units in systemd konforme
|
||||
* Kann auch Kubernetes Manifeste lesen
|
||||
* Schaut in verschiedenen Pfaden nach Dateien
|
||||
- /etc/containers/systemd/
|
||||
- ~/.config/containers/systemd/
|
||||
- ...
|
||||
|
||||
<!--
|
||||
- Eingeführt in Podman 4.4
|
||||
- In Debian Stable aktuell noch 4.3, also kein Quadlet support
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
`test.container`
|
||||
|
||||
```
|
||||
[Unit]
|
||||
Description=A minimal container
|
||||
|
||||
[Container]
|
||||
Image=quay.io/centos/centos:latest
|
||||
Exec=sleep 60
|
||||
Volume=test.volume:/data
|
||||
|
||||
[Service]
|
||||
TimeoutStartSec=900
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target default.target
|
||||
```
|
||||
|
||||
<!--
|
||||
- Container Section bietet fast alle Möglichkeiten, welche auch die CLI als Options bietet
|
||||
- oder halt compose etc
|
||||
- Timeout wichtig, damit genug Zeit um image zu pullen
|
||||
- Kann einen schnell mal ins dockerhub ratelimit werfen, wenn z.B. Architektur nicht vorhanden.
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
`test.volume`
|
||||
|
||||
```
|
||||
[Volume]
|
||||
User=root
|
||||
Group=root
|
||||
Label=org.test.Key=value
|
||||
```
|
||||
|
||||
<!--
|
||||
- Kann genauso wie bei Networks eine leere Datei sein
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
`test.network`
|
||||
|
||||
```
|
||||
[Network]
|
||||
Subnet=172.16.0.0/24
|
||||
Gateway=172.16.0.1
|
||||
IPRange=172.16.0.0/28
|
||||
Label=org.test.Key=value
|
||||
```
|
||||
|
||||
<!--
|
||||
- Kann genauso wie bei Volumes eine leere Datei sein
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# Demonstration
|
||||
|
||||
---
|
||||
|
||||
# Fazit / Warum
|
||||
|
||||
* Klare Struktur
|
||||
* Sehr nah am System und den restlichen Services
|
||||
* Autoupdates
|
||||
|
||||
<!--
|
||||
- Klare Struktur heisst, die Dateien haben klar vordefinierte Verzeichnisse, nicht wie bei docker compose wilder Westen
|
||||
- Verwaltung per systemctl und logs per journalctl
|
||||
- In kombination mit MicroOS sind autoupdates sehr nice
|
||||
- Man kann sich mit MicroOS und Podman, "stateless appliance" basteln
|
||||
-->
|
||||
|
||||
---
|
||||
|
||||
# Vielen Dank für die Aufmerksamkeit!
|
||||
|
||||
- Fragen
|
||||
|
||||
---
|
Loading…
Add table
Reference in a new issue