社區 Linux Containers 發布了 LXC 6.0,這是一個用於管理隔離容器的工具包。它提供了一個運行時環境,既適用於運行具有完整系統環境(類似於虛擬機器)的容器,也適用於運行單一應用程式的非特權容器(OCI)。 LXC 是一個在容器層級運作的底層工具包。為了集中管理部署在多伺服器叢集中的容器,Incus 和 LXD 系統正是基於 LXC 所開發的。 LXC 6.0 是長期支援版本,將持續提供五年的更新(直至 2029 年)。 LXC 使用 C 語言編寫,並採用 GPLv2 授權。
LXC 包含 liblxc 函式庫、一系列實用程式(lxc-create、lxc-start、lxc-stop、lxc-ls 等)、用於建立容器的範本以及一系列適用於各種程式語言的綁定。隔離是透過標準內核機制實現的。 Linux命名空間用於隔離進程、網路協定堆疊(IPC、UTS)、使用者 ID 和掛載點。控制組 (Cgroups) 用於限制資源。核心特性(例如 AppArmor 和 SE 設定檔)用於降低權限和限制存取。Linux,Seccomp 策略、Chroot(pivot_root)和功能。
主要變化:
- 已經提供了建置通用 lxc 可執行檔的功能,將先前作為單獨的「lxc-*」實用程式分發的所有命令組合在一個實用程式中。為了建立合併的可執行文件,建議使用選項“tools-multicall=true”,設定後,所有舊的單獨實用程式都將建立為 lxc 實用程式的符號連結。以單一可執行檔的形式進行組裝可以顯著減少工具包對磁碟空間的消耗,這對於嵌入式系統來說很重要。
- set_timeout 函數已新增至 liblxc 庫,可讓您為與 LXC 監視器互動的任何操作設定逾時。
- 網路橋接介面 lxcbr0 預設為啟用。 IPv6 支援 透過從 IPv6 ULA(唯一本地位址)子網路分配位址。
- lxc-usernsexec 公用程式新增了「-u」和「-g」選項來變更使用者和群組識別碼(UID 和 GID)。
- lxc-checkconfig 公用程式現在僅在存在 lxc-start 命令時顯示版本,並添加有關允許的每種類型的命名空間的最大數量的信息。
- 增加了對使用 Squashfs 進行資料壓縮的 OCI 容器鏡像的支援。
- 為了透過 D-Bus 與 systemd 交互,使用單獨的庫 libdbus-1 而不是 libsystemd。
- 對 Upstart 初始化系統的支援已停止。
同時,Incus計畫發布,該計畫框架內包含社群。 Linux Containers 是 LXD 容器管理系統的分支,由 LXD 的原班人馬打造。 Incus 使用 Go 語言編寫,並採用 Apache 2.0 授權。 Incus 6.0 是首個穩定版本,將採用長期支援 (LTS) 模式進行維護。 Incus 6.0 的主要更新包括:支援透過 bridge.external_interfaces API 建立網路介面;改進了對 JWT(JSON Web Token)認證的支援;新增了 USB 支援;以及可以透過「incus info --resources」命令顯示詳細的系統資訊。此外,lxd-to-incus 工具也支援 LXD 5.21 版本。
Incus 和 LXD 提供工具,用於集中管理部署在單一主機上以及多個主機組成的叢集中的容器和虛擬機器。 服務器此專案以後台進程的形式實現,透過 REST API 接收網路請求,並支援多種儲存後端(目錄樹、ZFS、Btrfs、LVM)、狀態切片快照、運行中容器的即時遷移以及容器鏡像儲存。 LXC 用作容器的執行環境。隔離透過內核原生機制實現。 Linux (命名空間、cgroups、AppArmor、SE)Linux(Seccomp)。
社區 Linux 在 Canonical 決定將 LXD 轉型為企業級專案之前,Containers 負責 LXD 的開發。此次分支的目標是提供一個獨立、社群驅動的替代方案,以取代 Canonical 控制的 LXD 專案。 Incus 的創建也提供了一個契機,可以解決 LXD 開發過程中引入的一些概念性缺陷,這些缺陷先前無法在不破壞向後相容性的情況下解決。
Canonical 發布了其容器管理系統 LXD 5.21.1 的新版本。 LXD 5.21 分支被標記為 LTS,並將支援到 2029 年 3 月。 Canonical 員工為 LXD 貢獻的程式碼根據 AGPLv2.0 獲得許可,但 Canonical 不擁有的第三方程式碼仍保留在 Apache 5.21.1 下。在 LXD 6.0 的功能變化中,我們可以注意到 snap 套件從 LXD 轉移到了 LXC 6.0 和 LXCFS 1.0 分支。 storage_volumes_all 擴充功能和相關的 /XNUMX/storage_volumes 處理程序已新增至 API 中,以列出所有儲存磁碟區。新增了instances_files_modify_permissions擴展,用於透過API變更現有檔案的存取權。
LXCFS 6.0 虛擬檔案系統現已推出,用於在容器中模擬 /proc 和 /sys 偽檔案系統,並為不支援 cgroup 命名空間的發行版提供 cgroupfs 的虛擬化表示。新版本增加了「--enable-cgroup」選項,控制是否使用cgroupv1啟用為容器建立虛擬croupfs樹的內建功能(現在大多數發行版都支援核心提供的croup命名空間,因此預設啟用內建的替代實作不再有意義,現在是可選的)。此外,LXCFS 6.0 在產生 /sys/devices/system/cpu 檔案時停止根據線上/離線狀態過濾 CPU。
來源: opennet.ru
