Saltstack
  • Willkommen
  • Einführung
  • Testumgebung
    • Salt-Master öffentlicher FQDN
  • Salt installieren
    • Minions und Master "verheiraten"
  • Salt Module
    • Beispiel Benutzer anlegen
    • Dateien hin und her kopieren
  • Salt States
    • Yaml verstehen
    • Editoren anpassen
    • Beispiel Benutzer verwalten
    • Abhängigkeiten
    • Dateien editieren
    • Shell Kommandos
    • Beispiel Caddy Webserver
  • Linter
  • Minions adressieren
    • Grains
    • Hostgruppen - Node Groups
  • Jinja
    • Beispiel Caddy PHP
  • top.sls
  • Output
  • Pillars
    • Hosts Pillars
    • GPG
    • Vault
    • Datenbanken
    • Beispiel Benutzerverwaltung
  • Salt-Mine
  • Eigene Module erstellen
  • Orchestrierung
  • Returner & Job-Cache
  • Salt SSH
  • Salt API
  • Salt Cloud
    • Hinweise und Fallen
    • KVM und Libvirt
    • Scaleway
    • Digitalocean
    • Hetzner Cloud
    • eigene Deploymentscripte
    • Dynamische Portforwarding
    • Keys automatisch aufräumen
    • Start Aktionen
  • GIT
    • Alternative CD
  • Salt Reactor
  • Salt für Windows
    • Software ohne Repository installieren
    • PowerShell
    • Chocolatey Paktemanager
    • Lokales Logon Skript
    • Software Repository
  • Beispiele
    • Restic Backup
    • Apache Web-Proxy
    • Wartungstunnel
    • Unattended Upgrades
  • Salt & Etcd
  • Salt ACS
Powered by GitBook
On this page
  • Incus (LXD) installieren
  • Warum so viele Namen für das Gleiche?
  • Container erzeugen und nutzen

Testumgebung

Einrichtung einer Test- und Lernumgebung

Egal, ob Sie Salt neu lernen oder Salt bereits im produktiven Einsatz haben. Eine Testumgebung ist unerlässlich. Salt-States sind i. d. R. Kommandos, welche mit Root-Rechten ausgeführt werden. Auf ausführliches Tests dürfen Sie nicht verzichten.

Testumgebungen können mit allen Hypervisoren eingerichtet werden. Linux Container (LXD) stellen eine einfache und effiziente Möglichkeit. LXD stellt komplette Betriebssysteme bereit. Kernel, Hauptspeicher und Festplatte werden mit dem Host geteilt. Das verbraucht deutlich weniger Ressourcen als eine vollwertige Virtualisierung mit VMware, KVM, Virtualbox oder HyperV.

Docker ist keine geeignete Technologie, um Salt zu testen. Salt verwaltet Betriebssysteme. In einem Docker Container werden i.d.R. aber keine kompletten Betriebssysteme bereitgestellt. Beispielsweise verweden Docker Container nicht Systemd. Systemd ist aber ein Standard um Dienste und weitere Teile des Systems zu verewalten.

Incus (LXD) installieren

Melden Sie sich als Root-User am System an.

  1. Systeme älter als 24.04 brauchen ein zusätzlichen Repository (siehe unten).

  2. Installieren Sie Incus mit dem Kommando sudo apt-get --no-install-recommends --no-install-suggests install incus.

  3. Nach der Installation initialisieren Sie Incus mit dem Kommando sudo incus admin init --minimal. Prüfen Sie anschließend mit dem Kommando ip a, ob das Netzwerkgerät incusbr0 erzeugt wurde.

Für SuSE gibt es (noch) keine Incus Pakete. Weichen Sie auf den Incus-Vorgänger LXD aus. Installieren Sie LCD mit den folgenden Kommandos.

sudo zypper in --no-recommends lxd attr
sudo usermod -aG lxd $USER
sudo systemctl enable --now lxd
sudo lxd init --storage-backend dir --auto

Achten Sie auf die Zypper-Option --no-recommends. Anderfalls wird aufgrund zahlreicher "Empfehlungen" ein Gnome-Desktop installiert.

Melden Sie sich als Root-User am System an.

  1. Debian Systeme brauchen ein zusätzlichen Repository (siehe unten).

  2. Installieren Sie Incus mit dem Kommando sudo apt-get --no-install-recommends --no-install-suggests install incus.

  3. Nach der Installation initialisieren Sie Incus mit dem Kommando sudo incus admin init --minimal. Prüfen Sie anschließend mit dem Kommando ip a, ob das Netzwerkgerät incusbr0 erzeugt wurde.

Incus Debian/Ubuntu Repository einbinden

cat <<"EOF"|sudo bash
curl -fsSL https://pkgs.zabbly.com/key.asc | gpg --show-keys --fingerprint
mkdir -p /etc/apt/keyrings/
curl -fsSL https://pkgs.zabbly.com/key.asc -o /etc/apt/keyrings/zabbly.asc
echo "Enabled: yes
Types: deb
URIs: https://pkgs.zabbly.com/incus/stable
Suites: $(. /etc/os-release && echo ${VERSION_CODENAME})
Components: main
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/zabbly.asc
"> /etc/apt/sources.list.d/zabbly-incus-stable.sources
EOF

Warum so viele Namen für das Gleiche?

  • Linux-Container (LXC) sind leichtgewichtige Virtualisierungsumgebungen, die Prozesse isolieren, indem sie Kernel-Namespaces und cgroups nutzen.

  • LXC ist die ursprüngliche Container-Implementierung unter Linux, die eine API und Tools für Container-Management bereitstellt.

  • LXD, ein Projekt von Canonical, baut auf LXC auf und bietet eine daemon-basierte Verwaltung mit zusätzlichen Funktionen wie Images und Clustering.

  • Incus ist ein Fork von LXD, der entstand, nachdem Canonical den Fokus von LXD verschoben hatte. Incus wird aktuell bevorzugt, da es unabhängig und aktiv von der Community gepflegt wird, was Stabilität und langfristige Unterstützung gewährleistet.

Container erzeugen und nutzen

Neuen Container mit Ubuntu 24.04 anlegen und starten: incus launch images:ubuntu/noble una

Laufende Container anzeigen: incus ls

Am Container anmelden: incus exec <CONTAINER_NAME> -- bash

Verfügbare Container Images anzeigen: incus image list images: type=container

Weitere Container anlegen

incus launch images:debian/12 delia
incus launch images:rockylinux/9 ruby
incus launch images:opensuse/15.6 susan
PreviousEinführungNextSalt-Master öffentlicher FQDN

Last updated 5 months ago

Page cover image