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

U prezantua numri i parë i projektit Incus, në kuadër 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ë dikur ka 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 kishte mbikëqyrur zhvillimin e LXD deri në momentin kur kompania Canonical vendosi të zhvillonte LXD si një projekt të veçantë për sipërmarrje. Qëllimi i fork-ut është të ofrojë një alternativë të menaxhuar nga një komunitet të pavarur për projektin LXD, i cili është në kontroll të kompanisë Canonical. Në kuadër të projektit Incus planifikohet gjithashtu të eliminohen disa gabime konceptuale që ishin bërë gjatë zhvillimit të LXD, të cilat më parë ishte e pamundur t'i korrigjoni pa shkelur përputhshmërinë e prapme.

Incus ofron mjete për menaxhimin e centralizuar të konteinerëve dhe makinave virtuale, të instaluara si në një host ashtu edhe në një klaster të disa. serverësh. Projekti realizohet si një proces në sfond, që pranon kërkesa përmes rrjetit përmes REST API dhe mbështet blloqe të ndryshme ruajtjeje (strukturat e dosjeve, ZFS, Btrfs, LVM), snapshot-et e gjendjeve, migrimin e drejtpërdrejtë të konteinerëve të punës nga një makinë në tjetrën, dhe mjete për ruajtjen e imazheve të konteinerëve. Si runtime për ekzekutimin e konteinerëve, përdoret instrumenti LXC, i cili përfshin bibliotekën liblxc, një grup utilitarësh (lxc-create, lxc-start, lxc-stop, lxc-ls etj.), shabllonë për ndërtimin e konteinerëve dhe një grup lidhjesh për gjuhë të ndryshme programimi. Izolimi realizohet nëpërmjet mekanizmave standardë të bërthamës Linux (hapësirat e emrave, cgroups, Apparmor, SELinux, Seccomp).

Në aspektin e funksionalitetit, numri i parë i Incus, i cili përputhet me azhurnimin e fundit të lëshuar LXD 5.18 dhe është përqendruar kryesisht në ribërjen dhe organizimin e kodit, si dhe në heqjen e funksionaliteteve të vjetra. Megjithatë, në versionin e ri janë shënuar ndryshime specifike për Incus në ndërfaqen e komandës dhe API-së, të cilat nuk ishin të mundshme të përfshihen në LXD për shkak të kërkesave për ruajtjen e pjesëmarrjes pasuese. Në të ardhmen, zhvilluesit planifikojnë të transferojnë nga baza e kodit të LXD përmirësime të dobishme dhe riparime, duke shtuar gjithashtu inovacione të tyre origjinale, të cilat nëse dëshiron kompania Canonical, mund të portohen në LXD.

Ndryshimet më të dukshme:

  • Eka bĂ«rĂ« kalimin nĂ« motorin SQL tĂ« integruar Cowsql — njĂ« fork i Dqlite, krijuar nga autori origjinal i Dqlite pĂ«r tĂ« njĂ«jtat arsye si Incus (dalja nga ndikimi i Canonical). Cowsql Ă«shtĂ« nĂ« pĂ«rputhje me SQLite, mbĂ«shtet replikimin e tĂ« dhĂ«nave, rikthimin automatik pas dĂ«shtimeve dhe sigurinĂ« e tillĂ« pĂ«rmes shpĂ«rndarjes sĂ« pĂ«rshtatĂ«sve nĂ« disa node.
  • NĂ« ndĂ«rfaqen e komandĂ«s u shtua komandĂ«n «incus snapshot» pĂ«r menaxhimin e snapshot-eve (zĂ«vendĂ«son komandat e ndara lxc snapshot dhe restore). PĂ«rmes «incus snapshot» mund tĂ« kryhen operacione pĂ«r krijimin, fshirjen, shfaqjen e listĂ«s, ribĂ«rjen dhe rikthimin e snapshot-eve.
  • Logjistika e pĂ«rpunimit tĂ« komandave «incus config trust add» dhe «incus cluster add» Ă«shtĂ« ndryshuar, tĂ« cilat tani pranojnĂ« njĂ« argument me emrin dhe kthejnĂ« njĂ« token tĂ« saktĂ«. Operacionet e punĂ«s me certifikat 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'u drejtuar drejtpĂ«rdrejt te komandat lxc dhe lxd. TĂ« dĂ«rguara janĂ« komandat e mĂ«poshtme:
    • incus admin cluster
    • incus admin init
    • incus admin recover
    • incus admin shutdown
    • incus admin waitready
  • U hoqĂ«n pikĂ« tĂ« vjetra tĂ« qasjes nĂ« API /1.0/containers dhe /1.0/virtual-machines, tĂ« cilat u zĂ«vendĂ«suan me /1.0/instances.
  • Disku /dev/lxd u zĂ«vendĂ«sua me /dev/incus, pĂ«rmendjet nĂ« kodin e lxd u zĂ«vendĂ«suan me incus.
  • Lloji konfigurimit tĂ« serverit kĂ«to janĂ« zĂ«vendĂ«suar me «map[string]any» nĂ« «map[string]string». ËshtĂ« lĂ«nĂ« pas metodat e vjetra tĂ« autentikimit core.trust_password (tĂ« cilat janĂ« zĂ«vendĂ«suar me autentikimin e bazuar nĂ« tokenet), qĂ« pengonin pĂ«rdorimin e tipit «map[string]string».
  • Funksionet e vjetra *Container janĂ« hequr nga API, dhe pas implementimit tĂ« menaxhimit tĂ« makinave virtuale, janĂ« prezantuar funksionet *Instance (pĂ«r shembull, nĂ« vend tĂ« CreateContainer duhet tĂ« pĂ«rdorni CreateInstance).
  • ËshtĂ« shtuar utilitari lxd-to-incus pĂ«r migrimin nga LXD nĂ« Incus (konverzimi automatizuar i skedave tĂ« konfigurimeve mbĂ«shtetet nga versione LXD 4.0 deri nĂ« 5.18). Akti i transferimit tĂ« klasterĂ«ve pĂ«r momentin nuk mbĂ«shtetet.
  • Versioni minimal i mbĂ«shtetur i gjuhĂ«s Go Ă«shtĂ« shpallur si 1.20.
  • MbĂ«shtetja pĂ«r disa funksionalitete qĂ« varen nga Ubuntu ose qĂ« janĂ« tĂ« lidhura me softuer tĂ« vjetĂ«r ose tĂ« papĂ«rdorshĂ«m Ă«shtĂ« ndalur:
    • ËshtĂ« hequr mbĂ«shtetja pĂ«r mbĂ«shtetje Ubuntu Fan (bridge.mode, fan.overlay_subnet, fan.underlay_subnet, fan.type), qĂ« varen nga patch-et e bĂ«rthamĂ«s qĂ« pĂ«rdoren vetĂ«m nĂ« Ubuntu.
    • ËshtĂ« hequr mbĂ«shtetja pĂ«r shiftfs, e lidhur me pakete tĂ« bĂ«rthamĂ«s pĂ«r Ubuntu qĂ« Ă«shtĂ« njĂ« sistem virtual i dosjeve pĂ«r ndĂ«rlidhjen e pikave tĂ« montimit me hapĂ«sirat e identitetit 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 Bazuar nĂ« Roli), tĂ« krijuar nga Canonical mbi bazĂ«n e Macaroons dhe Candid.
    • JanĂ« hequr komponentet pĂ«r integrimin me MAAS (Metal-as-a-Service), njĂ« mjet pĂ«r shpĂ«rndarjen e shpejtĂ« tĂ« konfigurimeve Ubuntu.
    • ËshtĂ« hequr koncepti i aksesit nĂ« server pĂ«rmes njĂ« fjalĂ«kalimi tĂ« besueshĂ«m (core.trust_password).

Burimi: opennet.ru

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