Linux Containers'i kogukond on vĂ€lja andnud tööriista v6.0, mis korraldab isoleeritud LXC konteinerite tööd, pakkudes runtime'i, mis sobib nii konteinerite kĂ€ivitamiseks, millel on tĂ€is sĂŒsteemikeskkond, sarnanedes virtuaalmasinatele, kui ka privileege mitteomavaid eraldi rakenduste konteinerite tĂ€itmiseks (OCI). LXC kuulub madalama taseme tööriistade hulka, mis töötavad individuaalsete konteinerite tasemel. Kontserni keskse haldamise jaoks, mis on juurutatud mitme serveri klastris, arendavad LXC baasil sĂŒsteemid Incus ja LXD. LXC 6.0 haru on mÀÀratud pikaajalise toe vĂ€ljaanneteks, mille uuendused toimuvad 5 aasta jooksul (kuni 2029. aastani). LXC kood on kirjutatud C-programmeerimiskeeles ja jaotatakse GPLv2 litsentsi alusel.
LXC sisaldab liblxc raamatukogu, utiliite (lxc-create, lxc-start, lxc-stop, lxc-ls jne), konteinerite loomise malle ning sidumisi erinevatele programmeerimiskeeltele. Isolatsioon tagatakse Linuxi tuuma sisseehitatud mehhanismide abil. Protsesside, vĂ”rgu, IPC, UTS, kasutaja identifikaatorite ja montaaĆŸipunktide isolatsiooniks kasutatakse nimede ruume (namespaces). Ressursside piiramiseks rakendatakse cgroups'i. Privileegide alandamiseks ja juurdepÀÀsu piiramiseks kasutatakse selliseid tuuma vĂ”imalusi nagu Apparmor ja SELinux profiilid, Seccomp poliitikad, Chroots (pivot_root) ja capabilities.
Peamised muudatused:
- On antud vĂ”imalus koostada universaalne kĂ€ivitatav fail lxc, mis koondab ĂŒhte utiliiti kĂ”ik kĂ€sud, mis varem olid eraldi utiliitidena "lxc-*" jaotatud. Koondatud kĂ€ivitatava faili koostamiseks on pakutud valik "tools-multicall=true", mille seadmisega luuakse kĂ”ik vanad eraldi utiliidid sĂŒmboolsed lingid utiliidile lxc. Ăhe kĂ€ivitatava faili kujul koostamine vĂ”imaldab oluliselt vĂ€hendada tööriistade diskiruumi tarbimist, mis on oluline sisseehitatud sĂŒsteemide jaoks.
- Raamatukogule liblxc on lisatud funktsioon set_timeout, mis vÔimaldab seada ajavahemiku kÔigi operatsioonide suhtlemiseks LXC monitoriga.
- LXC sildade liidese lxcbr0 aktiivseks seadmisega on vaikimisi aktiveeritud IPv6 tugi aadressid IPv6 ULA (Unique Local Address) alamvÔrgust.
- Utiliidile lxc-usernsexec on lisatud valikud "-u" ja "-g" kasutaja ja grupi tuvastajate (UID ja GID) muutmiseks.
- Utiliidis lxc-checkconfig on tagatud versiooni kuvamine ainult lxc-start kĂ€su olemasolul ja lisatud teavitamine maksimaalselt lubatud iga tĂŒĂŒbi nimedespetsiifiliste ruumide arvust.
- OCI formaadi konteineripiltide tugi, kus andmete kokkusurumiseks kasutatakse Squashfs-failisĂŒsteemi, on lisatud.
- systemd-iga suhtlemiseks D-Bus'i kaudu kasutatakse eraldi raamatukogu libdbus-1 asemel libsystemd.
- Upstart'i init-sĂŒsteemi tugi on lĂ”petatud.
Samaaegselt on vĂ€lja antud Incus projekti vĂ€ljalase, mille raames arendab Linux Containers kogukond LXD konteinerihalduse sĂŒsteemi forki, mille loonud vana arendajate meeskond, kes kunagi LXD-i lĂ”i. Incus'i kood on kirjutatud Go keeles ja jaotatakse Apache 2.0 litsentsi all. Incus 6.0 positsioneeritakse esmakordselt stabiilse haruna, mille jaoks tagatakse pikaajaline vĂ€rskenduste tsĂŒkkel (LTS). Incus 6.0 muudatustest paistab silma vĂ”imalus luua vĂ”rguliideseid API bridge.external_interfaces kaudu, parandatud autentimise tugi JWT (JSON Web Token) kaudu, USB toe pakkumine ning detailse sĂŒsteemi info kuvamine kĂ€sus âincus info âresourcesâ, samuti LXD 5.21 vĂ€ljaande toimetamine lxd-to-incus utiliidis.
Incus ja LXD pakuvad vahendeid konteinerite ja virtuaalmasinate keskseks haldamiseks, mis on juurutatud nii ĂŒhel hostil kui ka mitme sĂ”lme klastris. serverite. Projekt on ellu viidud taustaprotsessina, mis vĂ”tab vĂ”rgupĂ€ringuid vastu lĂ€bi REST API ning toetab erinevaid salvestusbackend'e (kaustade puu, ZFS, Btrfs, LVM), oleku salvestamise snapshots'i, töötavate konteinerite live-migratsiooni ĂŒhest masinast teise ning konteineripiltide salvestamise vahendeid. Konteinerite kĂ€itamiseks kasutatakse LXC tööriistu. Isolatsioon toimub Linuxi tuuma sisseehitatud mehhanismide (nimetusteke, cgroups, Apparmor, SELinux, Seccomp) abil.
Linuxi konteinerite kogukond suunatud LXD arendust enne kui Canonical otsustas LXD ettevÔtteprojektiks muuta. Forki eesmÀrgiks on pakkuda haldavat, sÔltumatule kogukonnale kuuluvat alternatiivi Canonical'i kontrolli all olevatele LXD projektile. Incuse loomine on samuti vÔimaldanud lahendada mÔned kontseptuaalsed vead, mis tekkisid LXD arendamisel, ja mida varem ei saanud parandada ilma tagasipööratavuse rikkumiseta.
Firma Canonical avaldas uue konteinerihalduse sĂŒsteemi LXD 5.21.1. LXD 5.21 haru on mĂ€rgistatud kui LTS ja seda toetatakse kuni juuni 2029. Kood, mille Canonical LXD-sse lisanud, on litsentseeritud AGPLv3 alusel, kuid kolmandate osaliste kood, mille suhtes Canonical'il ei ole omandiĂ”igust, jÀÀb Apache 2.0 alla. LXD 5.21.1 funktsionaalsetest muutustest vĂ”ib mainida snap-paketi ĂŒleviimist LXD-st LXC 6.0 ja LXCFS 6.0 harudele. API-sse on lisatud laiendus storage_volumes_all ja sellega seotud töötleja /1.0/storage_volumes, et kuvada kĂ”igi salvestusosade nimekiri. Samuti on lisatud laiendus instances_files_modify_permissions, et muuta olemasolevate failide juurdepÀÀsulube API kaudu.
VĂ€lja on LXCFS 6.0, mis simuleerib konteinerites pseudofailisĂŒsteeme /proc ja /sys ning virtuaalset esitamist cgroupfs jaoks distributsioonidele, mis ei toeta cgroup'i nimesid. Uues versioonis on lisatud valik "--enable-cgroup", mis vĂ”imaldab hallata sisseehitatud funktsionaalsuse aktiviseerimist virtuaalse cgroupfs puu loomiseks konteinerite jaoks, kasutades cgroupv1 (hetkel toetavad enamik jaotusi kernel'i pakutavaid nimesid cgroup'i jaoks, seega on vaikimisi sisseehitatud alternatiivse rakenduse aktiveerimise mĂ”te kadunud ja see on nĂŒĂŒd valikuline). Lisaks lĂ”petatakse LXCFS 6.0 CPU filtreerimine failide /sys/devices/system/cpu kujundamisel, sĂ”ltuvalt olekust online/offline.
Allikas: opennet.ru
