Linux Administration

Projekte und Profile in Incus – Container effizient organisieren und zentral verwalten

Sobald mehrere Container oder virtuelle Maschinen betrieben werden, wird eine saubere Organisation immer wichtiger. Mit Projects und Profiles stellt Incus zwei leistungsstarke Funktionen bereit, um Umgebungen logisch zu trennen und wiederkehrende Konfigurationen zentral zu verwalten. In diesem Teil der Serie erfährst du, wie du Projekte und Profile optimal einsetzt und dadurch Zeit sparst sowie die Übersicht behältst.

4 min Lesezeit
Grafik: Projects und Profiles in Incus verstehen

Eine kleine Incus-Installation mit zwei oder drei Containern lässt sich problemlos verwalten.

Doch was passiert, wenn daraus werden:

  • 20 Container
  • mehrere virtuelle Maschinen
  • verschiedene Kunden
  • Entwicklungs- und Produktionsumgebungen
  • unterschiedliche Administratoren

Ohne Struktur wird die Verwaltung schnell unübersichtlich.

Genau hierfür bietet Incus zwei zentrale Werkzeuge:

  • Projects
  • Profiles

Während Projects verschiedene Umgebungen logisch voneinander trennen, sorgen Profiles für wiederverwendbare Konfigurationen.

Gemeinsam bilden sie die Grundlage für eine saubere und skalierbare Incus-Infrastruktur.


Was sind Projects?

Ein Project ist ein logisch abgegrenzter Bereich innerhalb einer Incus-Installation.

Jedes Projekt besitzt eigene:

  • Container
  • virtuelle Maschinen
  • Images
  • Netzwerke
  • Storage Volumes
  • Profile (optional)
  • Quotas und Einschränkungen

Container aus unterschiedlichen Projekten sind standardmäßig voneinander getrennt.

Dadurch eignet sich diese Funktion hervorragend für Unternehmen und Hosting-Umgebungen.


Warum Projects verwenden?

Projects schaffen Ordnung.

Beispielsweise können unterschiedliche Bereiche getrennt werden.

Projekt:

Entwicklung

Enthält:

  • Testserver
  • GitLab
  • Entwicklungsdatenbanken
  • CI/CD

Projekt:

Produktion

Enthält:

  • Webserver
  • Datenbanken
  • Reverse Proxy
  • Monitoring

Projekt:

Kunde A

Enthält ausschließlich die Systeme dieses Kunden.


Projekt:

Kunde B

Enthält ausschließlich dessen Infrastruktur.

Die Projekte beeinflussen sich gegenseitig nicht.


Projekte anzeigen

Alle vorhandenen Projekte:

incus project list

Details anzeigen:

incus project show default

Neues Projekt erstellen

Ein neues Projekt wird mit wenigen Befehlen erstellt.

incus project create kunde-a

Danach erscheint es automatisch in der Projektliste.


Projekt wechseln

Zum Arbeiten innerhalb eines Projekts:

incus project switch kunde-a

Ab jetzt beziehen sich alle Incus-Befehle auf dieses Projekt.

Prüfen:

incus project list

Das aktive Projekt wird entsprechend markiert.


Container innerhalb eines Projekts erstellen

Nach dem Wechsel genügt der bekannte Befehl.

incus launch images:debian/13 webserver

Der Container wird automatisch im aktiven Projekt erstellt.


Ressourcen begrenzen

Projects können auch genutzt werden, um Ressourcen einzuschränken.

Beispielsweise:

  • maximale Anzahl Container
  • Speicherplatz
  • Netzwerke
  • CPU-Ressourcen

Dadurch lassen sich verschiedene Kunden oder Abteilungen sauber voneinander trennen.


Was sind Profiles?

Profiles gehören zu den wichtigsten Verwaltungsfunktionen von Incus.

Ein Profil enthält wiederverwendbare Einstellungen.

Anstatt jeden Container einzeln zu konfigurieren, werden die gewünschten Einstellungen einmal im Profil hinterlegt.

Neue Container übernehmen diese Konfiguration automatisch.


Typische Inhalte eines Profils

Ein Profil kann beispielsweise enthalten:

  • CPU-Limits
  • RAM-Limits
  • Netzwerk
  • Storage Pool
  • Mounts
  • USB-Geräte
  • GPU
  • PCI-Geräte
  • Sicherheitsoptionen
  • Autostart

Dadurch wird die Administration deutlich einfacher.


Vorhandene Profile anzeigen

Alle Profile anzeigen:

incus profile list

Details:

incus profile show default

Neues Profil erstellen

Ein eigenes Profil anlegen:

incus profile create webserver

Danach können Einstellungen hinzugefügt werden.

Beispielsweise CPU:

incus profile set webserver limits.cpu=2

RAM:

incus profile set webserver limits.memory=2GiB

Autostart:

incus profile set webserver boot.autostart=true

Profil einem Container zuweisen

Beim Erstellen:

incus launch images:debian/13 apache --profile webserver

Oder nachträglich:

incus profile assign apache default,webserver

Der Container übernimmt sofort die Einstellungen des Profils.


Mehrere Profile kombinieren

Ein Container kann mehrere Profile gleichzeitig verwenden.

Beispiel:

Profil:

  • default

enthält:

  • Netzwerk
  • Storage

Profil:

  • webserver

enthält:

  • CPU
  • RAM

Profil:

  • gpu

enthält:

  • NVIDIA-GPU

Alle drei können gemeinsam verwendet werden.

incus profile assign ki-server default,webserver,gpu

Dadurch entstehen modulare Konfigurationen.


Projekte und Profile kombinieren

Die eigentliche Stärke zeigt sich in der Kombination.

Projekt:

Kunde A

enthält:

  • Webserver
  • Datenbank
  • Backup

Alle Container nutzen das Profil:

kunde-standard

Dieses definiert:

  • 2 CPU-Kerne
  • 2 GB RAM
  • Bridge-Netzwerk
  • ZFS
  • Autostart

Neue Container sind dadurch innerhalb weniger Sekunden vollständig eingerichtet.


Mehrere Kunden verwalten

Ein typisches Hosting-Szenario:

Projekt:

kunde-a

Container:

  • Apache
  • MariaDB
  • Nextcloud

Projekt:

kunde-b

Container:

  • Nginx
  • PostgreSQL
  • Gitea

Projekt:

intern

Container:

  • Monitoring
  • Backup
  • Reverse Proxy

Alle Kunden bleiben logisch voneinander getrennt.


Vorteile der Trennung

Durch Projects ergeben sich zahlreiche Vorteile.

  • bessere Übersicht
  • höhere Sicherheit
  • getrennte Ressourcen
  • einfachere Verwaltung
  • saubere Mandantentrennung
  • weniger Konfigurationsfehler

Gerade Unternehmen profitieren erheblich von dieser Struktur.


Wiederverwendbare Konfigurationen

Profiles vermeiden doppelte Arbeit.

Statt:

Container 1 konfigurieren

Container 2 konfigurieren

Container 3 konfigurieren

…

werden alle Einstellungen einmal im Profil definiert.

Neue Container übernehmen diese automatisch.

Das reduziert Fehler und spart viel Zeit.


Typische Profile

Webserver

Enthält:

  • 2 CPU
  • 2 GB RAM
  • Bridge
  • Autostart

Datenbank

Enthält:

  • 4 CPU
  • 8 GB RAM
  • SSD-Storage
  • Backup-Mount

GPU

Enthält:

  • NVIDIA
  • CUDA
  • hohe CPU-Leistung

Entwicklung

Enthält:

  • SSH
  • größere Festplatte
  • gemeinsame Verzeichnisse

Best Practices

Für den produktiven Betrieb haben sich folgende Empfehlungen bewährt:

  • Für jede Umgebung ein eigenes Projekt erstellen.
  • Entwicklungs- und Produktivsysteme strikt trennen.
  • Projekte nach Kunden oder Abteilungen strukturieren.
  • Profile möglichst klein und modular halten.
  • Mehrere Profile kombinieren statt ein großes Universalprofil zu erstellen.
  • Aussagekräftige Namen verwenden.
  • Änderungen an Profilen dokumentieren.
  • Standardprofile regelmäßig überprüfen.

Häufige Fehler

Zu viele Einstellungen im Standardprofil

Das Standardprofil sollte nur grundlegende Konfigurationen enthalten.

Spezielle Einstellungen gehören in eigene Profile.


Keine Trennung zwischen Entwicklung und Produktion

Dies erhöht das Risiko von Fehlkonfigurationen.

Besser:

  • Projekt Entwicklung
  • Projekt Test
  • Projekt Produktion

Profile nicht wiederverwenden

Wer jeden Container einzeln konfiguriert, verschenkt einen der größten Vorteile von Incus.


Nützliche Befehle im Überblick

incus project list

Zeigt alle vorhandenen Projekte an.

incus project create

Erstellt ein neues Projekt.

incus project switch

Wechselt in ein anderes Projekt.

incus project show

Zeigt die Konfiguration eines Projekts an.

incus profile list

Listet alle vorhandenen Profile auf.

incus profile create

Erstellt ein neues Profil.

incus profile show

Zeigt die Einstellungen eines Profils an.

incus profile set

Konfiguriert Eigenschaften eines Profils.

incus profile assign

Weist einem Container ein oder mehrere Profile zu.


Projects und Profiles gehören zu den leistungsfähigsten Verwaltungsfunktionen von Incus. Während Projects eine klare Trennung zwischen Kunden, Abteilungen oder Umgebungen ermöglichen, sorgen Profiles für einheitliche und wiederverwendbare Konfigurationen. Besonders in größeren Installationen sparen sie Zeit, reduzieren Fehler und schaffen eine übersichtliche Struktur.

Im nächsten Teil der Serie beschäftigen wir uns mit der Verwaltung mehrerer Incus-Server. Du lernst, wie Remotes eingerichtet werden und wie sich Container und virtuelle Maschinen zwischen verschiedenen Hosts kopieren oder verschieben lassen.