Pirmasis „Incus“, LXD konteinerių valdymo sistemos šakutės, leidimas

Pristatyta pirmoji „Incus“ projekto versija, kurios rėmuose bendruomenė Linux „Containers“ yra „LXD“ konteinerių valdymo sistemos atšaka, kurią sukūrė originali „LXD“ kūrėjų komanda. „Containers“ parašyta „Go“ kalba ir licencijuota pagal „Apache 2.0“ licenciją.

Priminsime, kad bendruomenė Linux „Containers“ prižiūrėjo LXD kūrimą, kol „Canonical“ nusprendė kurti LXD atskirai kaip korporacinį projektą. Šios atšakos tikslas – pateikti nepriklausomą, bendruomenės valdomą alternatyvą „Canonical“ kontroliuojamam LXD projektui. „Incus“ projekte taip pat planuojama ištaisyti kai kurias konceptualias klaidas, padarytas kuriant LXD, kurių anksčiau buvo neįmanoma ištaisyti nepažeidžiant atgalinio suderinamumo.

„Incus“ teikia įrankius centralizuotam konteinerių ir virtualių mašinų, dislokuotų tiek viename pagrindiniame kompiuteryje, tiek kelių įrenginių klasteryje, valdymui. serveriaiProjektas įgyvendinamas kaip foninis procesas, kuris gauna tinklo užklausas per REST API ir palaiko įvairias saugojimo posistemes (katalogo medį, ZFS, Btrfs, LVM), momentines kopijas su būsenos skiltelėmis, veikiančių konteinerių tiesioginę migraciją iš vieno kompiuterio į kitą ir įrankius konteinerių vaizdams saugoti. LXC įrankių rinkinys naudojamas kaip vykdymo aplinka konteineriams paleisti, kurią sudaro liblxc biblioteka, įrankių rinkinys („lxc-create“, „lxc-start“, „lxc-stop“, „lxc-ls“ ir kt.), konteinerių kūrimo šablonai ir įvairių programavimo kalbų susiejimų rinkinys. Izoliacija pasiekiama naudojant standartinius branduolio mechanizmus. Linux (vardų erdvės, cgroups, Apparmor, SE)Linux, Seccomp).

Kalbant apie funkcijas, pirmasis „Incus“ leidimas yra po neseniai išleisto LXD 5.18 atnaujinimo ir daugiausia dėmesio skiriama kodų bazės pervadinimui ir pertvarkymui, taip pat pasenusių funkcijų pašalinimui. Tuo pačiu metu naujojoje versijoje taip pat yra „Incus“ specifinių komandų eilutės sąsajos ir API pakeitimų, kurie negalėjo būti įtraukti į LXD dėl atgalinio suderinamumo reikalavimų. Ateityje kūrėjai planuoja perkelti naudingus patobulinimus ir pataisymus iš LXD kodų bazės, taip pat pridedant savo originalių naujovių, kurias, Canonical pageidaujant, galima perkelti į LXD.

Labiausiai pastebimi pokyčiai:

  • Pereita prie įterpto SQL variklio Cowsql – Dqlite šakutės, sukurtos pirminio Dqlite autoriaus dėl tų pačių priežasčių kaip ir Incus (pasitraukimas iš Canonical įtakos). Cowsql yra suderinamas su SQLite, palaiko duomenų replikaciją, automatinį atkūrimą po gedimų ir užtikrina atsparumą gedimams paskirstydamas tvarkykles keliuose mazguose.
  • Komanda „incus snapshot“ buvo įtraukta į komandų eilutės sąsają, skirtą momentinėms nuotraukoms tvarkyti (pakeičiant atskiras momentinio vaizdo ir atkūrimo lxc komandas). Naudodami „incus snapshot“ galite atlikti momentinės nuotraukos kūrimo, ištrynimo, sąrašo rodymo, pervadinimo ir atkūrimo operacijas.
  • Buvo pakeista komandų „incus config trust add“ ir „incus cluster add“ apdorojimo logika, kuri dabar naudoja vieną argumentą su pavadinimu ir grąžina teisingą prieigos raktą. Operacijos su sertifikatu per komandą „incus config trust add“ buvo perkeltos į atskirą komandą „incus config trust add-certificate“.
  • Buvo pridėta komanda „incus admin“, todėl administratoriui nereikia tiesiogiai pasiekti lxc ir lxd komandų. Galimos šios subkomandos:
    • incus admin klasteris
    • incus admin init
    • incus admin atsigauti
    • incus administratoriaus išjungimas
    • incus admin padavėjas
  • Pasenę API prieigos taškai /1.0/containers ir /1.0/virtual-machines buvo pašalinti, pakeisti į /1.0/instances.
  • Įrenginys /dev/lxd buvo pakeistas į /dev/incus, nuorodos į lxd kode pakeistos į incus.
  • Tipas serverio konfigūracijos „map[string]any“ pakeistas į „map[string]string“. Nebenaudojamas autentifikavimo metodas „core.trust_password“ (pakeistas prieigos raktu pagrįstu autentifikavimu), kuris neleido naudoti tipo „map[string]string“.
  • Iš API pašalintos pasenusios *Container funkcijos, kurios, įdiegus virtualios mašinos valdymą, buvo pakeistos *Instance funkcijomis (pavyzdžiui, vietoje CreateContainer reikėtų naudoti CreateInstance).
  • Pridėta lxd-to-incus priemonė, skirta perėjimui iš LXD į Incus (palaikomas automatinis konfigūracijos failų konvertavimas nuo LXD 4.0 iki 5.18). Klasterio perkėlimas dar nepalaikomas.
  • 1.20 leidimas nurodytas kaip minimali palaikoma „Go“ kalbos versija.
  • Palaikymas kai kurioms funkcijoms, susijusioms su Ubuntu arba priklauso nuo pasenusios arba nepalaikomos programinės įrangos:
    • Pašalinta apkaustų parama Ubuntu Ventiliatorius (bridge.mode, fan.overlay_subnet, fan.underlay_subnet, fan.type), priklausomas nuo branduolio pataisų, naudojamas tik Ubuntu.
    • Pašalintas „shiftfs“, pridedamų prie branduolio paketų, palaikymas Ubuntu virtuali failų sistema, skirta prijungimo taškams susieti su vartotojų vardų erdvėmis.
    • Panaikintas Canonical specifinės Candid autentifikavimo sistemos palaikymas.
    • Panaikintas patentuoto RBAC (vaidmenimis pagrįstos prieigos kontrolės) autentifikavimo mechanizmo, sukurto „Canonical“, paremto Macaroons ir Candid, įdiegimo palaikymas.
    • Pašalinti komponentai integracijai su MAAS (angl. Metal-as-a-Service) – įrankiu, skirtu greitai diegti konfigūracijas. Ubuntu.
    • Pašalinta prieiga prie serverio naudojant patikimą slaptažodį (core.trust_password).

Šaltinis: opennet.ru

Pirkite patikimą prieglobą svetainėms su DDoS apsauga, VPS VDS serveriais 🔥 Įsigykite patikimą svetainių talpinimą su DDoS apsauga, VPS VDS serveriais | ProHoster