Release van containerbeheertools LXC en LXD 4.0

Canoniek опубликовала vrijgave van hulpmiddelen voor het organiseren van het werk van geïsoleerde containers LXC 4.0, containermanager LXD 4.0 en virtuele FS LXCFS 4.0 voor simulatie in /proc, /sys containers en een gevirtualiseerde cgroupfs representatie voor distributies zonder ondersteuning voor cgroup naamruimten. Branch 4.0 is geclassificeerd als een ondersteuningsrelease voor de lange termijn, waarvoor updates worden gegenereerd over een periode van 5 jaar

LXC is een runtime voor het uitvoeren van zowel systeemcontainers als OCI-containers. LXC bevat de liblxc-bibliotheek, een reeks hulpprogramma's (lxc-create, lxc-start, lxc-stop, lxc-ls, enz.), sjablonen voor het bouwen van containers en een reeks bindingen voor verschillende programmeertalen. Isolatie wordt uitgevoerd met behulp van standaard Linux-kernelmechanismen. Om processen, de ipc-netwerkstack, uts, gebruikers-ID's en koppelpunten te isoleren, wordt het naamruimtemechanisme gebruikt. cgroups worden gebruikt om bronnen te beperken. Om de privileges te verlagen en de toegang te beperken, worden kernelfuncties zoals Apparmor- en SELinux-profielen, Seccomp-beleid, Chroots (pivot_root) en mogelijkheden gebruikt. Code LXC geschreven in C-taal en gedistribueerd onder de GPLv2-licentie.

LXD is een add-on op LXC, CRIU en QEMU die wordt gebruikt om containers en virtuele machines centraal te beheren op één of meerdere servers. Als LXC een toolkit op laag niveau is voor manipulatie op het niveau van individuele containers, dan wordt LXD geïmplementeerd als een achtergrondproces dat verzoeken via het netwerk accepteert via de REST API en u in staat stelt schaalbare configuraties te creëren die op een cluster van meerdere servers worden geïmplementeerd.
Er worden verschillende opslag-backends ondersteund (directory tree, ZFS, Btrfs, LVM), snapshots met een state slice, live migratie van actieve containers van de ene machine naar de andere, en tools voor het organiseren van beeldopslag. CodeLXD geschreven in Go en gedistribueerd onder de Apache 2.0-licentie.

Toets verbeteringen in LXC 4.0:

  • De driver is volledig herschreven om met cgroup te werken. Ondersteuning toegevoegd voor uniforme cgroup-hiërarchie (cgroup2). Toegevoegde vriezercontrollerfunctionaliteit, waarmee u het werk in een cgroup kunt stoppen en tijdelijk wat bronnen (CPU, I/O en mogelijk zelfs geheugen) kunt vrijmaken om andere taken uit te voeren;
  • Geïmplementeerde infrastructuur voor het onderscheppen van systeemoproepen;
  • Ondersteuning toegevoegd voor het kernelsubsysteem "pidfd", ontworpen om de situatie van PID-hergebruik aan te pakken (pidfd is geassocieerd met een specifiek proces en verandert niet, terwijl een PID kan worden geassocieerd met een ander proces nadat het huidige proces dat aan die PID is gekoppeld, is beëindigd) ;
  • Verbeterd aanmaken en verwijderen van netwerkapparaten, evenals hun verplaatsing tussen naamruimten van netwerksubsystemen;
  • De mogelijkheid om draadloze netwerkapparaten (nl80211) in containers te verplaatsen is geïmplementeerd.

Toets verbeteringen in LXD 4.0:

  • Ondersteuning toegevoegd voor het lanceren van niet alleen containers, maar ook virtuele machines;
  • Om LXD-servers te segmenteren is een projectconcept voorgesteld dat het beheer van groepen containers en virtuele machines vereenvoudigt. Elk project kan zijn eigen set containers, virtuele machines, afbeeldingen, profielen en opslagpartities bevatten. In verband met projecten kunt u uw eigen beperkingen instellen en instellingen wijzigen;
  • Ondersteuning toegevoegd voor het onderscheppen van systeemoproepen voor containers;
  • Implementatie van het maken van back-upkopieën van omgevingen en het herstellen daarvan;
  • Geautomatiseerde creatie van snapshots van omgevingen en opslagpartities is voorzien van de mogelijkheid om de levensduur van de snapshot in te stellen;
  • API toegevoegd voor het monitoren van de netwerkstatus (lxc netwerkinfo);
  • Ondersteuning toegevoegd shiftfs, virtuele FS voor het toewijzen van koppelpunten aan gebruikersnaamruimten;
  • Er zijn nieuwe typen netwerkadapters “ipvlan” en “routed” voorgesteld;
  • Backend toegevoegd voor het gebruik van op CephFS gebaseerde opslag;
  • Ondersteuning voor beeldreplicatie en configuraties met meerdere architectuur is geïmplementeerd voor clusters;
  • Rolgebaseerde toegangscontrole (RBAC) toegevoegd;
  • Ondersteuning toegevoegd voor CGroup2;
  • De mogelijkheid toegevoegd om het MAC-adres te configureren en het bronadres voor NAT te bepalen;
  • API toegevoegd voor het beheren van DHCP-bindingen (leases);
  • Ondersteuning toegevoegd voor Nftables.

Bron: opennet.ru

Voeg een reactie