Lëshimi i parë i Incus, fork i sistemit të menaxhimit të kontejnerëve LXD

U publikua versioni i parë i projektit Incus, në kuadër të të cilit komuniteti i Linux Containers zhvillon një fork të sistemit të menaxhimit të kontejnerëve LXD, i krijuar nga ekipi i vjetër i zhvilluesve që njëherë kishte krijuar LXD. Kodi i Incus është shkruar në gjuhën Go dhe shpërndahet nën licencën Apache 2.0.

Kujtojmë se komuniteti i Linux Containers ka drejtuar zhvillimin e LXD para se kompanisë Canonical t'i vendosë që ta zhvillojë LXD si një projekt të veçantë përndryshe. Qëllimi i forkut është ofrimi i një alternative të menaxhuar nga një komunitet të pavarur për projektin LXD, i cili është nën kontrollin e kompanisë Canonical. Në kuadër të projektit Incus, planifikohet gjithashtu të korrigjohen disa gabime konceptuale që ishin bërë gjatë zhvillimit të LXD, të cilat më parë ishin të pamundura për t'u rregulluar pa ndikuar në përputhshmërinë mbrapa.

Incus ofron mjete për menaxhim të centralizuar të kontejnerëve dhe makinerive virtuale të vendosura si në një host ashtu edhe në një klaster prej disa. servera. Projekti është implementuar si një proces në sfond, duke pranuar kërkesat përmes rrjetit përmes REST API dhe duke mbështetur blloqet e ndryshme të ruajtjes (tree directories, ZFS, Btrfs, LVM), snapshot me prerjen e gjendjes, migrimin live të kontejnerëve në funksionim nga një makinë në tjetrën dhe mjete për ruajtjen e imazheve të kontejnerëve. Si runtime për ekzekutimin e konteinerëve përdoret mjeti LXC, i cili përfshin bibliotekën liblxc, një grup mjetesh (lxc-create, lxc-start, lxc-stop, lxc-ls, etj.), shabllona për ndërtimin e kontejnerëve dhe një grup lidhjesh për gjuhë të ndryshme programuese. Izolimi realizohet duke përdorur mekanizmat standard të kernelit Linux (hapësirat e emrave, cgroups, Apparmor, SELinux, Seccomp).

Funksionaliteti i versionit të parë të Incus, i cili është në përputhje me përditësimin e fundit të LXD 5.18 dhe është fokusuar kryesisht në rinovimin dhe riorganizimin e bazës së kodit, si dhe në heqjen e mundësive të vjetra. Ndërkohë, në versionin e ri vërehen ndryshime të veçanta për Incus në ndërfaqen e komandës dhe API, të cilat nuk mund të ishin përfshirë në LXD për shkak të kërkesave për të siguruar përputhshmërinë mbrapa. Në të ardhmen, zhvilluesit planifikojnë të transferojnë në bazën e kodit të LXD përmirësime të dobishme dhe korrigjime, duke shtuar gjithashtu inovacione të tyre origjinale, të cilat, nëse dëshiron kompania Canonical, mund të transferohen në LXD.

Ndryshimet më të dukshme:

  • ËshtĂ« realizuar kalimi nĂ« motorin SQL tĂ« integruar Cowsql - njĂ« fork i Dqlite, i krijuar nga autori origjinal i Dqlite pĂ«r tĂ« njĂ«jtat arsye si Incus (dalja nga nĂ«n ndikimin e Canonical). Cowsql Ă«shtĂ« nĂ« pĂ«rputhje me SQLite, mbĂ«shtet replikimin e tĂ« dhĂ«nave, rikuperimin automatik nga dĂ«shtimet dhe sigurimin e qĂ«ndrueshmĂ«risĂ« pĂ«rmes shpĂ«rndarjes sĂ« trajtuesve nĂ« disa nyje.
  • NĂ« ndĂ«rfaqen e komandĂ«s u shtua komanda “incus snapshot” pĂ«r menaxhimin e snapshot-Ă«ve (zĂ«vendĂ«son komandat e veçanta lxc snapshot dhe restore). NĂ«pĂ«rmjet “incus snapshot” mund tĂ« fillonim operacione tĂ« krijimit, fshirjes, tregimit tĂ« listĂ«s, rinovimit dhe rikthimit tĂ« njĂ« snapshot-i.
  • Logjika e trajtimit tĂ« komandave “incus config trust add” dhe “incus cluster add” Ă«shtĂ« ndryshuar, tĂ« cilat tani pranojnĂ« njĂ« argument me emrin dhe kthejnĂ« njĂ« token korrekt. Operacionet e punĂ«s me certifikatĂ«n pĂ«rmes komandĂ«s “incus config trust add” janĂ« transferuar nĂ« njĂ« komandĂ« tĂ« veçantĂ« “incus config trust add-certificate”.
  • U shtua komanda “incus admin”, e cila e çliron administratorin nga nevoja pĂ«r t'iu drejtuar drejtpĂ«rdrejt komandave lxc dhe lxd. JanĂ« tĂ« disponueshme nĂ«ntĂ«komanda tĂ« siguientes:
    • incus admin cluster
    • incus admin init
    • incus admin recover
    • incus admin shutdown
    • incus admin waitready
  • U hoqĂ«n piketat e vjetruara tĂ« aksesit nĂ« API /1.0/containers dhe /1.0/virtual-machines, tĂ« cilat janĂ« zĂ«vendĂ«suar nga /1.0/instances.
  • Dispositivi /dev/lxd Ă«shtĂ« zĂ«vendĂ«suar me /dev/incus, referencat nĂ« kodin lxd janĂ« zĂ«vendĂ«suar me incus.
  • Tipo konfigurimin e serverit zĂ«vendosur nga “map[string]any” nĂ« “map[string]string”. U anulua metoda e vjetruar e autentifikimit core.trust_password (e cila Ă«shtĂ« zĂ«vendĂ«suar me autentifikimin bazuar nĂ« token), qĂ« pengonte pĂ«rdorimin e tipit “map[string]string”.
  • U hoqĂ«n funksionet e vjetruara tĂ« API-sĂ« *Container, tĂ« cilat janĂ« zĂ«vendĂ«suar nga funksionet *Instance pas implementimit tĂ« menaxhimit tĂ« makinerive virtuale (pĂ«r shembull, nĂ« vend tĂ« CreateContainer duhet pĂ«rdorur CreateInstance).
  • U shtua njĂ« utilitar lxd-to-incus pĂ«r migrimin nga LXD nĂ« Incus (mbĂ«shtetet konvertimi automatik i skedarĂ«ve tĂ« konfigurimit, duke filluar nga versioni LXD 4.0 deri nĂ« 5.18). Transferimi i klasterĂ«ve aktualisht nuk mbĂ«shtetet.
  • Si versioni minimal i mbĂ«shtetur i gjuhĂ«s Go Ă«shtĂ« shpallur versioni 1.20.
  • U ndalua mbĂ«shtetja pĂ«r disa funksione tĂ« lidhura me Ubuntu ose tĂ« varura nga softueri i vjetruar ose i pa mbĂ«shtetur:
    • U hoq mbĂ«shtetja pĂ«r lidhjet Ubuntu Fan (bridge.mode, fan.overlay_subnet, fan.underlay_subnet, fan.type), tĂ« cilat varen nga patches pĂ«r kernel, tĂ« pĂ«rdorura vetĂ«m nĂ« Ubuntu.
    • MbĂ«shtetja pĂ«r shiftfs, e lidhur me paketat e bĂ«rthamĂ«s pĂ«r Ubuntu, virtualizimi i sistemit tĂ« skedave pĂ«r tĂ« lidhur pikĂ«t e montimit me hapĂ«sirat e emrave tĂ« identifikuesve tĂ« pĂ«rdoruesve (user namespace), Ă«shtĂ« hequr.
    • MbĂ«shtetja pĂ«r sistemin e autentikimit Candid, specifik pĂ«r produktet Canonical, Ă«shtĂ« hequr.
    • MbĂ«shtetja pĂ«r implementimin pronar tĂ« mekanizmit tĂ« autentikimit RBAC (Kontrolli i Qasjes mbi BazĂ«n e Roli), tĂ« krijuar nga Canonical nĂ« bazĂ« tĂ« Macaroons dhe Candid, Ă«shtĂ« hequr.
    • KomponentĂ«t pĂ«r integrimin me MAAS (Metal-as-a-Service), mjetin pĂ«r shpĂ«rndarjen e shpejtĂ« tĂ« konfigurimeve tĂ« Ubuntu, janĂ« hequr.
    • Koncepti i qasjes nĂ« server pĂ«rmes njĂ« passwordi tĂ« besueshĂ«m (core.trust_password) Ă«shtĂ« hequr.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster