發布具有基於虛擬化隔離的 Kata Containers 3.2

Kata Containers 3.2 專案已經發布,開發了一個堆疊,用於使用基於成熟虛擬化機制的隔離來組織容器的執行。 此專案由 Intel 和 Hyper 結合 Clear Containers 和 runV 技術創建。 該專案代碼是用 Go 和 Rust 編寫的,並在 Apache 2.0 許可證下分發。 該專案的開發由獨立組織 OpenStack 基金會支援下創建的工作小組負責監督,該工作小組成員包括 Canonical、中國移動、Dell/EMC、EasyStack、Google、華為、NetApp、Red Hat、SUSE 和 ZTE 等公司。

Kata 基於運行時,它允許您建立使用完整虛擬機管理程式運行的緊湊虛擬機,而不是使用使用通用 Linux 核心並使用命名空間和 cgroup 進行隔離的傳統容器。 使用虛擬機器可以讓您獲得更高等級的安全性,防止利用 Linux 核心漏洞造成的攻擊。

Kata Containers 專注於集成到現有的容器隔離基礎架構中,並能夠使用此類虛擬機來增強對傳統容器的保護。 該項目提供了使輕量級虛擬機與各種容器隔離框架、容器編排平台和 OCI(開放容器計劃)、CRI(容器運行時接口)和 CNI(容器網絡接口)等規範兼容的機制。 可以與 Docker、Kubernetes、QEMU 和 OpenStack 集成。

與容器管理系統的集成是使用模擬容器管理的層實現的,該層通過 gRPC 接口和特殊代理訪問虛擬機中的控制代理。 在由管理程序啟動的虛擬環境中,使用經過特別優化的 Linux 內核,僅包含最少的必要功能集。

作為管理程序,支持使用帶有 QEMU 工具包的 Dragonball Sandbox(針對容器優化的 KVM 版本),以及 Firecracker 和 Cloud Hypervisor。 系統環境包括初始化守護進程和代理。 該代理以 OCI 格式為 Docker 運行用戶定義的容器映像,為 Kubernetes 運行 CRI。 當與 Docker 結合使用時,為每個容器創建一個單獨的虛擬機,即管理程序啟動的環境用於嵌套容器。

發布具有基於虛擬化隔離的 Kata Containers 3.2

為了減少內存消耗,使用DAX機制(不使用塊設備級別直接訪問FS繞過page cache),使用KSM(Kernel Samepage Merging)技術去重相同的內存區域,允許共享主機系統資源並連接到不同的客戶系統一個共同的系統環境模板。

在新版本中:

  • 除了支援 AMD64 (x86_64) 架構之外,還提供了針對 ARM64 (Aarch64) 和 s390 (IBM Z) 架構的版本。 對 ppc64le 架構 (IBM Power) 的支援正在開發中。
  • 為了組織對容器映像的訪問,使用了 Nydus 2.2.0 檔案系統,該系統使用內容尋址來與標準映像進行高效協作。 Nydus 支援即時載入映像(僅在需要時下載),提供重複資料的重複資料刪除,並且可以使用不同的後端進行實際儲存。 提供 POSIX 相容性(與 Composefs 類似,Nydus 實作結合了 OverlayFS 與 EROFS 或 FUSE 模組的功能)。
  • Dragonball 虛擬機器管理器已整合到 Kata Containers 專案的主要結構中,該專案現在將在公共儲存庫中開發。
  • kata-ctl 公用程式中新增了偵錯功能,用於從主機環境連接到虛擬機器。
  • GPU 管理功能得到了擴展,並添加了對將GPU 轉發到機密計算容器(機密容器)的支持,該容器提供資料、記憶體和執行狀態的加密,以便在主機環境或虛擬機管理程式遭到破壞時提供保護。
  • Runtime-rs 中新增了用於管理容器或沙箱環境中使用的裝置的子系統。 支援與 vfio、區塊、網路和其他類型的設備配合使用。
  • 提供與 OCI Runtime 1.0.2 和 Kubernetes 1.23.1 的相容性。
  • 建議使用帶有補丁的 6.1.38 版本作為 Linux 核心。
  • 開發已從使用 Jenkins 持續整合系統轉移到 GitHub Actions。

來源: opennet.ru

添加評論