Incus¶
In dit artikel
- Incus. Belangrijkste functies
- Implementatiefuncties
- Aan de slag na het implementeren van Incus
- Initiële infrastructuurconfiguratie
- Containers maken en beheren
- Containerconfiguratie beheren
- Werken met momentopnames en migratie
- Afbeeldingen beheren
- Netwerkinteractie
- Opslagbeheer
- NAT- en routingconfiguratie
- Een server met Incus bestellen via de API
Informatie
Incus is een open-source beheerder voor systeemcontainers en virtuele machines. Het is een fork van LXD en biedt een eenvoudig maar krachtig hulpmiddel voor het beheren van Linux-containers en virtuele machines op een geünificeerd platform.
Incus. Belangrijkste functies¶
- Beheer van containers en VM's: Incus stelt u in staat om Linux-systeemcontainers en volledige QEMU/KVM-virtuele machines via één interface uit te voeren.
- Procesisolatie: Containers werken in een geïsoleerde omgeving met hun eigen bestandssystemen, netwerkinterfaces en processen.
- Netwerkmogelijkheden: Ingebouwde ondersteuning voor verschillende soorten netwerken: bruggen, NAT, VLAN's, overlay-netwerken voor containers.
- Opslagbeheer: Flexibel systeem voor opslagpools met ondersteuning voor verschillende backends: dir, btrfs, ZFS, LVM.
- Momentopnames en migratie: Aanmaken van momentopnames van de containerstatus, live migratie tussen hosts zonder services te stoppen.
- Configuratieprofielen: Herbruikbare profielen voor snelle implementatie van containers met vooraf gedefinieerde parameters.
- Beperking van resources: Nauwkeurige controle over CPU, geheugen, schijf-I/O en netwerkbandbreedte voor elke container.
- REST API: Volledig uitgeruste HTTP-API voor automatisering en integratie met externe systemen.
- Webinterface: Ingebouwd webbeheerpaneel voor visuele infrastructuurcontrole.
- Afbeeldingsbibliotheek: Toegang tot een uitgebreide collectie kant-en-klare afbeeldingen van verschillende Linux-distributies.
- Clustering: Mogelijkheid om meerdere hosts samen te voegen tot één cluster voor gedistribueerd beheer.
Implementatiefuncties¶
| ID | Softwarenaam | Compatibel OS | VM | BM | VGPU | GPU | Min CPU (Kernen) | Min RAM (GB) | Min HDD/SSD (GB) | Aangepast Domein | Actief |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 234 | Linux Containers Incus | Debian 13 | + | + | + | + | 2 | 2 | 50 | Nee | BESTELLEN |
Belangrijkste Incus-pad en bestanden:
- Hoofconfiguratiebestand:
/etc/default/incus - Gegevensmap:
/var/lib/incus - Opslagpools:
/var/lib/incus/storage-pools/ - Containers:
/var/lib/incus/containers/ - Afbeeldingen:
/var/lib/incus/images/ - Logboekbestand:
/var/log/incus/incusd.log - Systeemdiensten:
/usr/lib/systemd/system/incus*.service - Sysctl-configuratie:
/etc/sysctl.d/50-incus.conf - Gebruikersconfiguratie:
/root/.config/incus/
Opmerking
Tenzij anders vermeld, installeren we standaard de nieuwste releaseversie van de software van de website van de ontwikkelaar of de repositories van het besturingssysteem.
Aan de slag na het implementeren van Incus¶
Na betaling wordt er een e-mailmelding verzonden naar het bij registratie opgegeven e-mailadres, waarin wordt aangegeven dat de server klaar is voor gebruik. Hierin staan het IP-adres van de VPS en de inloggegevens voor toegang. Klanten van ons bedrijf beheren apparatuur via het Server Management Panel en API — Invapi.
Inloggegevens zijn te vinden in het tabblad Configuration >> Tags van het serverbeheerpaneel of in de verzonden e-mail:
- Link voor toegang tot de Incus-webinterface: in tag webpanel (poort 8443, HTTPS)
Let op
Om toegang te krijgen tot de webinterface, moet u HTTPS gebruiken en het zelfondertekende certificaat in uw browser accepteren.
Bij het eerste bezoek aan de Incus-webinterface waarschuwt de browser voor een onveilige verbinding vanwege het zelfondertekende certificaat. U moet het certificaat accepteren om door te gaan:

Na het accepteren van het certificaat opent de inlogpagina. Klik op de knop Login with TLS om het authenticatieproces te starten:

Het systeem doorverwijst u naar de pagina voor het toevoegen van een bestaand certificaat:

Selecteer het tabblad Trust token en volg de instructies:
-
Voer in de serverterminal het volgende commando uit om een token te genereren:
-
Het systeem genereert een token dat gekopieerd moet worden:

-
Plak het verkregen token in het bijbehorende tekstveld op de authenticatiepagina en klik op
Import.
Na succesvolle authenticatie opent de hoofdpagina van de webinterface met de lijst van instanties.
Een nieuwe container maken via de webinterface¶
Om een nieuwe container te maken, klikt u op de knop Create instance in de rechterbovenhoek van de interface:

Er opent zich een formulier voor het maken van een instantie met verschillende configuratiesecties. Om een basisafbeelding te selecteren, klikt u op de knop Browse images. Er opent zich een venster voor het selecteren van afbeeldingen met filters op distributie, release, variant, architectuur en type:

De volgende configuratiesecties zijn beschikbaar:
- Main configuration — basisparameters van de container: naam, beschrijving, instantietype (container of virtuele machine), basisafbeelding en toegewezen profielen;
- Devices — apparaatbeheer voor de container:
- Disk — configuratie van schijfapparaat en mountpunt;
- Network — configuratie van netwerkinterface;
- GPU — aansluiten van grafische accelerators;
- Proxy — configuratie van poortdoorsturing tussen host en container;
- Other — aanvullende apparaattypen;
- Resource limits — beperking van resources: processor (CPU), RAM, schijf-I/O-bewerkingen;
- Security policies — beveiligingsbeleidsregels: configuratie van isolatie, rechten en beveiligingsprofielen (AppArmor, SELinux);
- Snapshots — beheer van momentopnames van de containerstatus voor back-up en herstel;
- Migration — parameters voor migratie van containers tussen hosts;
- Boot — opstartinstellingen: volgorde van opstartapparaten, automatisch opstarten bij systeemstart;
- Cloud init — configuratie van automatische initialisatie van containers via cloud-init (gebruikers, netwerk, pakketten, scripts).
Selecteer de gewenste afbeelding door op de knop Select ernaast te klikken:

Vul na het selecteren van een afbeelding de basisparameters in:

- Instance name — naam van de container;
- Description — beschrijving (optioneel);
- Instance type — instantietype (Container of Virtual Machine);
- Profiles — configuratieprofielen.
Om de container direct na het maken te starten, klikt u op Create and start. Om te maken zonder te starten, gebruikt u de knop Create.
Monitoring van de containerstatus¶
Tijdens het implementeren van de container wordt de voortgang van het downloaden van de afbeelding weergegeven. De status "Setting up" met aangegeven downloadvoortgang toont de huidige voortgang van het maken van de instantie. Na voltooiing van de installatie verandert de status in "Running" met een groene indicator:

Beheer van diensten¶
Status controleren:
Dienst herstarten:
Dienst stoppen:
Dienst starten:
Logboeken bekijken:
Initiële infrastructuurconfiguratie¶
Na het implementeren van de server wordt aanbevolen om de initiële infrastructuurconfiguratie van Incus uit te voeren.
Een opslagpool maken¶
Een opslagpool definieert waar de containergegevens worden opgeslagen:
Gemaakte opslagpools controleren:
Om gedetailleerde informatie over een pool te bekijken:
Netwerkconfiguratie¶
Een NAT-brug maken voor containers met automatische IPv4-adressering:
Netwerkinstellingen controleren:
Netwerkconfiguratie bekijken:
Het standaardprofiel configureren¶
Het profiel default definieert de basisconfiguratie voor nieuwe containers. Een rootschijf toevoegen aan het profiel:
Een netwerkinterface toevoegen aan het profiel:
Profielconfiguratie controleren:
Containers maken en beheren¶
Een container maken¶
Voorbeeld van het maken van een Debian 12-container met resourcebeperkingen:
Commandoparameters:
images:debian/12- afbeelding uit openbare repositorydeb12- naam van de container--profile default- gebruik van standaardprofiel-c limits.cpu=2- beperking tot 2 CPU-kernen-c limits.memory=2GiB- geheugenbeperking van 2 GB
Containers bekijken¶
Lijst van alle instanties:
De uitvoer bevat informatie over de status, IP-adressen en het type van elke container.
Beheer van de containerstatus¶
Een container starten:
Een container stoppen:
Een container herstarten:
Een container verwijderen (vereist stoppen):
Een draaiende container forceren verwijderen:
Toegang tot containers¶
Verbinden via bash:
Verbinden met de TTY-console:
Om de console te verlaten, gebruikt u de toetsencombinatie Ctrl+a q.
Poortdoorsturing¶
Om toegang te krijgen tot services binnen een container vanuit een extern netwerk, wordt poortdoorsturing gebruikt via een proxy-apparaat:
Dit commando stuurt hostpoort 8080 door naar containerpoort 80.
Voorbeeld voor meerdere poorten:
HTTP:
HTTPS:
SSH:
Containerconfiguratie beheren¶
Configuratie bekijken¶
Volledige uitgebreide containerconfiguratie bekijken:
Basisconfiguratie bekijken zonder profielen:
Parameters wijzigen¶
Configuratieparameters instellen:
CPU-beperking:
Geheugenbeperking:
Schijf-I/O-beperking:
Automatisch opstarten van container:
Apparaten toevoegen¶
Algemene syntaxis voor het toevoegen van apparaten:
Voorbeelden:
Een extra schijf toevoegen:
Een extra netwerkinterface toevoegen:
Een directory op de host in een container mounten:
Een apparaat verwijderen:
Werken met momentopnames en migratie¶
Momentopnames maken¶
Momentopnames stellen u in staat om de containerstatus op te slaan voor later herstel:
Voorbeeld:
Lijst van containermomentopnames:
Herstellen vanuit een momentopname¶
Voorbeeld:
Een momentopname verwijderen:
Hernoemen en kopiëren¶
Een container hernoemen:
Een container kopiëren op dezelfde host:
Een container kopiëren naar een andere Incus-host:
Om met externe hosts te werken, moet u eerst een remote toevoegen:
Afbeeldingen beheren¶
Afbeeldingen bekijken¶
Lijst van lokale afbeeldingen:
Lijst van afbeeldingen in externe repository:
Zoeken naar een specifieke distributie:
Afbeeldingen kopiëren¶
Een afbeelding kopiëren uit openbare repository met automatische update:
Een afbeelding kopiëren met alias:
Een afbeelding maken vanuit een container¶
Afbeeldingen verwijderen¶
of via alias:
Netwerkinteractie¶
Netwerkbeheer¶
Lijst van netwerken:
Netwerkconfiguratie bekijken:
Een nieuw netwerk maken:
# Een bruggennetwerk maken
incus network create mybr0 \
ipv4.address=10.10.10.1/24 \
ipv4.nat=true \
ipv6.address=none
# Een macvlan-netwerk maken
incus network create mymacvlan \
type=macvlan \
parent=eth0
Een netwerk bewerken:
Een netwerk verwijderen:
Netwerkdoorstuuringsregels¶
Een doorstuuringsregel maken voor poortdoorsturing:
Opslagbeheer¶
Opslagpools beheren¶
Lijst van pools:
Poolinformatie bekijken:
Een opslagpool maken:
Dir-gebaseerde pool:
Btrfs-pool:
ZFS-pool:
Een pool bewerken:
Een pool verwijderen:
Volumes beheren¶
Een aangepast volume maken:
Lijst van volumes in een pool:
Een volume aan een container koppelen:
incus config device add <container> <device-name> disk \
pool=<pool-name> \
source=<volume-name> \
path=/mount/path
Een volume kopiëren:
Een volume verwijderen:
NAT- en routingconfiguratie¶
In sommige gevallen kan handmatige configuratie van NAT- en routingregels vereist zijn om containers netwerktoegang tot het externe netwerk te bieden.
Overschakelen naar nftables¶
IP-forwarding inschakelen¶
Voor permanente toepassing, toevoegen aan /etc/sysctl.conf:
Incus herstarten na wijzigingen:
NAT-tabel configureren¶
NAT-tabel en POSTROUTING-keten maken:
Masquerade-regel toevoegen voor containersubnet:
Opmerking
Vervang ens1 door de naam van uw externe netwerkinterface en 10.1.4.0/24 door uw Incus-brugsubnet.
FORWARD-keten configureren¶
Filtertabel en FORWARD-keten maken:
Regels toevoegen om verkeer toe te staan:
Verkeer van containers naar buiten toestaan:
Gevestigd/gerelateerd verkeer terug toestaan:
nft insert rule ip filter FORWARD iifname "ens1" oifname "incusbr0" ct state established,related accept
nftables-regels controleren¶
Alle regels bekijken:
Regels opslaan (voor Debian/Ubuntu):
Pakket installeren voor het opslaan van regels:
Huidige regels opslaan:
Automatisch laden inschakelen:
Opmerking
Gedetailleerde informatie over alle Incus-mogelijkheden is te vinden in de officiële ontwikkelaarsdocumentatie.