Unang release ng Incus, isang tinidor ng LXD container management system

Ang unang paglabas ng proyektong Incus ay naipakita na, sa loob ng balangkas kung saan ang komunidad Linux Ang Containers ay isang fork ng LXD container management system, na nilikha ng orihinal na pangkat ng mga developer na lumikha ng LXD. Ang Containers ay nakasulat sa Go at lisensyado sa ilalim ng lisensyang Apache 2.0.

Ipaalala namin sa inyo na ang komunidad Linux Pinangasiwaan ng mga container ang pagbuo ng LXD bago nagpasya ang Canonical na bumuo ng LXD nang hiwalay bilang isang proyektong pangkorporasyon. Ang layunin ng fork ay magbigay ng isang independiyente at alternatibong pinapagana ng komunidad sa proyektong LXD na kontrolado ng Canonical. Plano rin ng proyektong Incus na tugunan ang ilang mga pagkakamali sa konsepto na nagawa noong pagbuo ng LXD na dating imposibleng maayos nang hindi sinisira ang backward compatibility.

Nagbibigay ang Incus ng mga kagamitan para sa sentralisadong pamamahala ng mga lalagyan at virtual machine na naka-deploy kapwa sa isang host at sa isang kumpol ng ilan. mga serverAng proyekto ay ipinapatupad bilang isang proseso sa background na tumatanggap ng mga kahilingan sa network sa pamamagitan ng isang REST API at sumusuporta sa iba't ibang mga backend ng imbakan (directory tree, ZFS, Btrfs, LVM), mga snapshot na may mga state slice, live na paglipat ng mga tumatakbong container mula sa isang makina patungo sa isa pa, at mga tool para sa pag-iimbak ng mga imahe ng container. Ang LXC toolkit ay ginagamit bilang isang runtime para sa paglulunsad ng mga container, na kinabibilangan ng liblxc library, isang hanay ng mga utility (lxc-create, lxc-start, lxc-stop, lxc-ls, atbp.), mga template para sa pagbuo ng mga container, at isang hanay ng mga binding para sa iba't ibang mga programming language. Nakakamit ang paghihiwalay gamit ang mga karaniwang mekanismo ng kernel. Linux (mga namespace, cgroup, Apparmor, SELinux, Seccomp).

Para sa feature, ito ang unang release ng Incus na sumunod sa kamakailang inilabas na update sa LXD 5.18, na pangunahing nakatuon sa pagpapalit ng pangalan at muling pagsasaayos ng codebase, pati na rin ang pag-alis ng mga hindi na ginagamit na feature. Kasama rin sa bagong bersyon ang mga pagbabagong partikular sa Incus sa interface ng command line at API na hindi maisama sa LXD dahil sa mga kinakailangan sa backward compatibility. Sa hinaharap, plano ng mga developer na ilipat ang mga kapaki-pakinabang na pagpapabuti at pag-aayos mula sa base ng LXD code, na nagdaragdag din ng sarili nilang mga orihinal na inobasyon, na, kung gusto ng Canonical, ay maaaring i-port sa LXD.

Ang pinaka-kapansin-pansin na mga pagbabago:

  • Ang paglipat sa naka-embed na SQL engine na Cowsql ay ginawa - isang tinidor ng Dqlite, na nilikha ng orihinal na may-akda ng Dqlite para sa parehong mga kadahilanan tulad ng Incus (pag-alis mula sa impluwensya ng Canonical). Ang Cowsql ay katugma sa SQLite, sumusuporta sa pagtitiklop ng data, awtomatikong pagbawi mula sa mga pagkabigo at pagpapahintulot sa pagkakamali sa pamamagitan ng pamamahagi ng mga processor sa maraming node.
  • Ang command na "incus snapshot" ay naidagdag sa command line interface para sa pamamahala ng mga snapshot (pinapalitan ang hiwalay na lxc commands snapshot at restore). Sa pamamagitan ng "incus snapshot" maaari mong ilunsad ang mga operasyon ng paglikha, pagtanggal, pagpapakita ng listahan, pagpapalit ng pangalan at pagpapanumbalik ng isang snapshot.
  • Ang lohika para sa pagproseso ng mga utos na "incus config trust add" at "incus cluster add" ay nabago, tinatanggap na nila ngayon ang isang argumento na may pangalan at ibinalik ang tamang token. Ang mga operasyon para sa pagtatrabaho sa isang certificate sa pamamagitan ng command na "incus config trust add" ay inilipat sa isang hiwalay na command na "incus config trust add-certificate".
  • Idinagdag ang command na "incus admin", na nagpalaya sa administrator mula sa pangangailangang direktang ma-access ang lxc at lxd command. Available ang mga sumusunod na subcommand:
    • incus admin cluster
    • incus admin init
    • bawi ng incus admin
    • pagsasara ng incus admin
    • incus admin waitready
  • Ang mga hindi na ginagamit na API access point /1.0/containers at /1.0/virtual-machine ay inalis at pinalitan ng /1.0/instances.
  • Ang device /dev/lxd ay pinalitan ng /dev/incus, ang mga reference sa lxd sa code ay pinalitan ng incus.
  • Uri mga konpigurasyon ng server Pinalitan ang "map[string]any" ng "map[string]string." Hindi na ginagamit ang core.trust_password authentication method (pinalitan ng token-based authentication), na pumigil sa paggamit ng uring "map[string]string".
  • Ang hindi na ginagamit na *Container function ay inalis mula sa API at pinalitan ng *Instance function pagkatapos ng pagpapatupad ng virtual machine management (halimbawa, CreateInstance ang dapat gamitin sa halip na CreateContainer).
  • Nagdagdag ng lxd-to-incus na utility para sa paglipat mula LXD patungo sa Incus (sinusuportahan ang awtomatikong pag-convert ng mga configuration file, simula sa LXD 4.0 at nagtatapos sa 5.18). Hindi pa suportado ang cluster migration.
  • Ang minimum na sinusuportahang bersyon ng Go language ay nakasaad na 1.20.
  • Suporta para sa ilang mga tampok na may kaugnayan sa Ubuntu o umaasa sa luma o hindi sinusuportahang software:
    • Tinanggal ang suporta para sa mga binding Ubuntu Fan (bridge.mode, fan.overlay_subnet, fan.underlay_subnet, fan.type), nakadepende sa mga kernel patch, ginagamit lamang sa Ubuntu.
    • Tinanggal ang suporta para sa mga shiftf na kasama ng mga kernel package para sa Ubuntu virtual file system para sa pagmamapa ng mga mount point sa mga user namespace.
    • Inalis ang suporta para sa Canonical-specific na Candid authentication system.
    • Inalis ang suporta para sa pagmamay-ari na pagpapatupad ng Canonical ng mekanismo ng pagpapatunay ng RBAC (Role Based Access Control) batay sa Macaroons at Candid.
    • Tinanggal ang mga bahagi para sa integrasyon sa MAAS (Metal-as-a-Service), isang tool para sa mabilis na pag-deploy ng mga configuration Ubuntu.
    • Ang konsepto ng pag-access sa isang server gamit ang isang pinagkakatiwalaang password (core.trust_password) ay inalis na.

Pinagmulan: opennet.ru

Bumili ng maaasahang pagho-host para sa mga site na may proteksyon ng DDoS, mga server ng VPS VDS 🔥 Bumili ng maaasahang website hosting na may proteksyon ng DDoS, VPS VDS servers | ProHoster