Utgivelse av containeradministrasjonsverktøy LXC og LXD 4.0

Kanonisk опубликовала utgivelse av verktøy for å organisere arbeidet med isolerte beholdere LXC 4.0, containersjef LXD 4.0 og virtuell FS LXCFS 4.0 for simulering i /proc, /sys-beholdere og en virtualisert cgroupfs-representasjon for distribusjoner uten støtte for cgroup-navneområder. Branch 4.0 er klassifisert som en langsiktig støtteutgivelse, oppdateringer som genereres over en periode på 5 år

LXC er en kjøretid for å kjøre både systembeholdere og OCI-beholdere. LXC inkluderer liblxc-biblioteket, et sett med verktøy (lxc-create, lxc-start, lxc-stop, lxc-ls, etc.), maler for å bygge containere og et sett med bindinger for ulike programmeringsspråk. Isolering utføres ved å bruke standard Linux-kjernemekanismer. For å isolere prosesser, ipc-nettverksstabelen, uts, bruker-IDer og monteringspunkter, brukes navneområdemekanismen. cgroups brukes til å begrense ressurser. For å redusere privilegier og begrense tilgang, brukes kjernefunksjoner som Apparmor- og SELinux-profiler, Seccomp-policyer, Chroots (pivot_root) og muligheter. Kode LXC skrevet av på C-språk og distribuert under GPLv2-lisensen.

LXD er et tillegg til LXC, CRIU og QEMU som brukes til å sentralt administrere containere og virtuelle maskiner på en eller flere servere. Hvis LXC er et verktøysett på lavt nivå for manipulering på nivå med individuelle containere, implementeres LXD som en bakgrunnsprosess som aksepterer forespørsler over nettverket via REST API og lar deg lage skalerbare konfigurasjoner distribuert på en klynge med flere servere.
Ulike lagringsbackends støttes (katalogtre, ZFS, Btrfs, LVM), øyeblikksbilder med en tilstandsdel, live migrering av kjørende containere fra en maskin til en annen, og verktøy for å organisere bildelagring. Kode LXD skrevet av i Go og distribuert under Apache 2.0-lisensen.

Nøkkel forbedringer i LXC 4.0:

  • Driveren har blitt fullstendig omskrevet for å fungere med cgroup. Lagt til støtte for enhetlig cgroup hierarki (cgroup2). Lagt til frysekontrollerfunksjonalitet, som du kan stoppe arbeidet i en cgroup og midlertidig frigjøre noen ressurser (CPU, I/O og potensielt til og med minne) for å utføre andre oppgaver;
  • Implementert infrastruktur for avlytting av systemanrop;
  • Lagt til støtte for "pidfd"-kjerneundersystemet, designet for å håndtere situasjonen med PID-gjenbruk (pidfd er assosiert med en spesifikk prosess og endres ikke, mens en PID kan assosieres med en annen prosess etter at den nåværende prosessen knyttet til den PID-en avsluttes) ;
  • Forbedret opprettelse og sletting av nettverksenheter, så vel som deres bevegelse mellom nettverksundersystemnavneområder;
  • Muligheten til å flytte trådløse nettverksenheter (nl80211) inn i containere er implementert.

Nøkkel forbedringer i LXD 4.0:

  • Lagt til støtte for å lansere ikke bare containere, men også virtuelle maskiner;
  • For å segmentere LXD-servere er det foreslått et prosjektkonsept som forenkler administrasjonen av grupper av containere og virtuelle maskiner. Hvert prosjekt kan inkludere sitt eget sett med containere, virtuelle maskiner, bilder, profiler og lagringspartisjoner. I forbindelse med prosjekter kan du sette dine egne begrensninger og endre innstillinger;
  • Lagt til støtte for å avskjære systemanrop for containere;
  • Implementert opprettelse av sikkerhetskopier av miljøer og gjenoppretting fra dem;
  • Automatisk oppretting av øyeblikksbilder av miljøer og lagringspartisjoner er utstyrt med muligheten til å angi levetiden til øyeblikksbildet;
  • Lagt til API for overvåking av nettverksstatus (lxc nettverksinfo);
  • Lagt til støtte shiftfs, virtuell FS for å kartlegge monteringspunkter til brukernavneområder;
  • Nye typer nettverkskort "ipvlan" og "rutet" har blitt foreslått;
  • Lagt til backend for bruk av CephFS-basert lagring;
  • Støtte for bildereplikering og multiarkitekturkonfigurasjoner er implementert for klynger;
  • Lagt til rollebasert tilgangskontroll (RBAC);
  • Lagt til støtte for CGroup2;
  • Lagt til muligheten til å konfigurere MAC-adressen og bestemme kildeadressen for NAT;
  • Lagt til API for å administrere DHCP-bindinger (leasing);
  • Lagt til støtte for Nftables.

Kilde: opennet.ru

Legg til en kommentar