เบเบฒเบ™เบ›เปˆเบญเบ Kata Containers 3.0 เบ”เป‰เบงเบเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ virtualization

ะŸะพัะปะต ะดะฒัƒั… ะปะตั‚ ั€ะฐะทั€ะฐะฑะพั‚ะบะธ ะพะฟัƒะฑะปะธะบะพะฒะฐะฝ ะฒั‹ะฟัƒัะบ ะฟั€ะพะตะบั‚ะฐ Kata Containers 3.0, ั€ะฐะทะฒะธะฒะฐัŽั‰ะตะณะพ ัั‚ะตะบ ะดะปั ะพั€ะณะฐะฝะธะทะฐั†ะธะธ ะฒั‹ะฟะพะปะฝะตะฝะธั ะบะพะฝั‚ะตะนะฝะตั€ะพะฒ ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ ะธะทะพะปัั†ะธะธ ะฝะฐ ะฑะฐะทะต ะฟะพะปะฝะพั†ะตะฝะฝั‹ั… ะผะตั…ะฐะฝะธะทะผะพะฒ ะฒะธั€ั‚ัƒะฐะปะธะทะฐั†ะธะธ. ะŸั€ะพะตะบั‚ ัะพะทะดะฐะฝ ะบะพะผะฟะฐะฝะธัะผะธ Intel ะธ Hyper ะฟัƒั‚ั‘ะผ ะพะฑัŠะตะดะธะฝะตะฝะธั ั‚ะตั…ะฝะพะปะพะณะธะน Clear Containers ะธ runV. ะšะพะด ะฟั€ะพะตะบั‚ะฐ ะฝะฐะฟะธัะฐะฝ ะฝะฐ ัะทั‹ะบะฐั… Go ะธ Rust, ะธ ั€ะฐัะฟั€ะพัั‚ั€ะฐะฝัะตั‚ัั ะฟะพะด ะปะธั†ะตะฝะทะธะตะน Apache 2.0. ะ ะฐะทะฒะธั‚ะธะต ะฟั€ะพะตะบั‚ะฐ ะบัƒั€ะธั€ัƒะตั‚ ั€ะฐะฑะพั‡ะฐั ะณั€ัƒะฟะฟะฐ, ัะพะทะดะฐะฝะฝะฐั ะฟะพะด ัะณะธะดะพะน ะฝะตะทะฐะฒะธัะธะผะพะน ะพั€ะณะฐะฝะธะทะฐั†ะธะธ OpenStack Foundation, ะฒ ะบะพั‚ะพั€ะพะน ัƒั‡ะฐัั‚ะฒัƒัŽั‚ ั‚ะฐะบะธะต ะบะพะผะฟะฐะฝะธะธ, ะบะฐะบ Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE ะธ ZTE.

ะžัะฝะพะฒัƒ Kata ัะพัั‚ะฐะฒะปัะตั‚ runtime, ะฟั€ะตะดะพัั‚ะฐะฒะปััŽั‰ะธะน ะฒะพะทะผะพะถะฝะพัั‚ัŒ ัะพะทะดะฐะฒะฐั‚ัŒ ะบะพะผะฟะฐะบั‚ะฝั‹ะต ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ะต ะผะฐัˆะธะฝั‹, ะฒั‹ะฟะพะปะฝัะตะผั‹ะต ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ ะฟะพะปะฝะพั†ะตะฝะฝะพะณะพ ะณะธะฟะตั€ะฒะธะทะพั€ะฐ, ะฒะผะตัั‚ะพ ะฟั€ะธะผะตะฝะตะฝะธั ั‚ั€ะฐะดะธั†ะธะพะฝะฝั‹ั… ะบะพะฝั‚ะตะนะฝะตั€ะพะฒ, ะธัะฟะพะปัŒะทัƒัŽั‰ะธั… ะพะฑั‰ะตะต ัะดั€ะพ Linux ะธ ะธะทะพะปะธั€ะพะฒะฐะฝะฝั‹ั… ะฟั€ะธ ะฟะพะผะพั‰ะธ ะฟั€ะพัั‚ั€ะฐะฝัั‚ะฒ ะธะผั‘ะฝ ะธ cgroups. ะŸั€ะธะผะตะฝะตะฝะธะต ะฒะธั€ั‚ัƒะฐะปัŒะฝั‹ั… ะผะฐัˆะธะฝ ะฟะพะทะฒะพะปัะตั‚ ะดะพะฑะธั‚ัŒัั ะฑะพะปะตะต ะฒั‹ัะพะบะพะณะพ ัƒั€ะพะฒะฝั ะฑะตะทะพะฟะฐัะฝะพัั‚ะธ, ะทะฐั‰ะธั‰ะฐัŽั‰ะตะณะพ ะพั‚ ัะพะฒะตั€ัˆะตะฝะธั ะฐั‚ะฐะบ, ะฒั‹ะทะฒะฐะฝะฝั‹ั… ัะบัะฟะปัƒะฐั‚ะฐั†ะธะตะน ัƒัะทะฒะธะผะพัั‚ะตะน ะฒ ัะดั€ะต Linux.

Kata Containers เปเบกเปˆเบ™เบชเบธเบกเปƒเบชเปˆเบเบฒเบ™เบฅเบงเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบเบฒเบ™เปเบเบเบšเบฑเบ™เบˆเบธเบšเบฑเบ™เบˆเบธเบ—เบตเปˆเบกเบตเบขเบนเปˆเบเบฑเบšเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบ„เบทเปˆเบญเบ‡ virtual เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก. เป‚เบ„เบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบชเบฐเบซเบ™เบญเบ‡เบเบปเบ™เป„เบเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบ„เบทเปˆเบญเบ‡ virtual เบ—เบตเปˆเบกเบตเบ™เป‰เปเบฒเบซเบ™เบฑเบเป€เบšเบปเบฒเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบเบญเบšเบเบฒเบ™เปเบเบเบšเบฑเบ™เบˆเบธเบšเบฑเบ™เบˆเบธเบ•เปˆเบฒเบ‡เป†, เปเบžเบฅเบฐเบ•เบฐเบŸเบญเบก orchestration เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบต, เปเบฅเบฐเบ‚เปเป‰เบกเบนเบ™เบชเบฐเป€เบžเบฒเบฐเป€เบŠเบฑเปˆเบ™ OCI (Open Container Initiative), CRI (Container Runtime Interface), เปเบฅเบฐ CNI (Container Networking Interface). เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฑเบš Docker, Kubernetes, QEMU, เปเบฅเบฐ OpenStack เปเบกเปˆเบ™เบกเบตเบขเบนเปˆ.

เบเบฒเบ™เบ›เปˆเบญเบ Kata Containers 3.0 เบ”เป‰เบงเบเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ virtualization

เบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบ•เบนเป‰เบ„เบญเบ™เป€เบ—เบ™เป€เบ™เบตเปเบกเปˆเบ™เบšเบฑเบ™เบฅเบธเป„เบ”เป‰เป‚เบ”เบเปƒเบŠเป‰เบŠเบฑเป‰เบ™เบ—เบตเปˆเบˆเปเบฒเบฅเบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบšเบฑเบ™เบˆเบธ, เป€เบŠเบดเปˆเบ‡, เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš gRPC เปเบฅเบฐเบ•เบปเบงเปเบ—เบ™เบžเบดเป€เบชเบ”, เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ•เบปเบงเปเบ—เบ™เบ„เบงเบšเบ„เบธเบกเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡ virtual. เบžเบฒเบเปƒเบ™เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบก virtual, เป€เบŠเบดเปˆเบ‡เป€เบ›เบตเบ”เบ•เบปเบงเป‚เบ”เบ hypervisor, kernel Linux เบ—เบตเปˆเบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เบ”เบตเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เป€เบŠเบดเปˆเบ‡เบ›เบฐเบเบญเบšเบกเบตเบžเบฝเบ‡เปเบ•เปˆเบŠเบธเบ”เบ•เปเบฒเปˆเบชเบธเบ”เบ—เบตเปˆเบ‚เบญเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™.

เปƒเบ™เบ–เบฒเบ™เบฐเป€เบ›เบฑเบ™ hypervisor, เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Dragonball Sandbox (เบชเบฐเบšเบฑเบš KVM เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบˆเบธ) เบเบฑเบšเบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท QEMU, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš Firecracker เปเบฅเบฐ Cloud Hypervisor เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ›เบฐเบเบญเบšเบกเบต daemon เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบฅเบฐเบ•เบปเบงเปเบ—เบ™. เบ•เบปเบงเปเบ—เบ™เปเบฅเปˆเบ™เบฎเบนเบšเบžเบฒเบšเบšเบฑเบ™เบˆเบธเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เบฎเบนเบšเปเบšเบš OCI เบชเปเบฒเบฅเบฑเบš Docker เปเบฅเบฐ CRI เบชเปเบฒเบฅเบฑเบš Kubernetes. เป€เบกเบทเปˆเบญเปƒเบŠเป‰เบฎเปˆเบงเบกเบเบฑเบ™เบเบฑเบš Docker, เป€เบ„เบทเปˆเบญเบ‡ virtual เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปเบกเปˆเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ–เบฑเบ‡, i.e. เบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบ—เบตเปˆเป€เบ›เบตเบ”เบ•เบปเบง hypervisor เปเบกเปˆเบ™เปƒเบŠเป‰เป€เบžเบทเปˆเบญเบฎเบฑเบ‡เบšเบฑเบ™เบˆเบธ.

เบเบฒเบ™เบ›เปˆเบญเบ Kata Containers 3.0 เบ”เป‰เบงเบเบเบฒเบ™เป‚เบ”เบ”เบ”เปˆเบฝเบงเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ virtualization

เป€เบžเบทเปˆเบญเบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบšเปเบฅเบดเป‚เบžเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เบเบปเบ™เป„เบ DAX เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰ (เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป‚เบ”เบเบเบปเบ‡เบเบฑเบš FS เบœเปˆเบฒเบ™ cache เบ‚เบญเบ‡เบซเบ™เป‰เบฒเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบฅเบฐเบ”เบฑเบšเบญเบธเบ›เบฐเบเบญเบ™ block), เปเบฅเบฐเป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบŠเบต KSM (Kernel Samepage Merging) เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญ dedupe เบžเบทเป‰เบ™เบ—เบตเปˆเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ”เบฝเบงเบเบฑเบ™, เป€เบŠเบดเปˆเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เปเบšเปˆเบ‡เบ›เบฑเบ™เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เบฅเบฐเบšเบปเบšเป€เบˆเบปเป‰เบฒเบžเบฒเบš. เปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบฅเบฐเบšเบปเบšเปเบ‚เบเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เป€เบ›เบฑเบ™เปเบกเปˆเปเบšเบšเบชเบฐเบžเบฒเบšเปเบงเบ”เบฅเป‰เบญเบกเบฅเบฐเบšเบปเบšเบ—เบปเปˆเบงเป„เบ›.

เปƒเบ™โ€‹เบชเบฐโ€‹เบšเบฑเบšโ€‹เปƒเบซเบกเปˆโ€‹:

  • ะŸั€ะตะดะปะพะถะตะฝ ะฐะปัŒั‚ะตั€ะฝะฐั‚ะธะฒะฝั‹ะน runtime (runtime-rs), ั„ะพั€ะผะธั€ัƒัŽั‰ะธะน ะฝะฐั‡ะธะฝะบัƒ ะบะพะฝั‚ะตะนะฝะตั€ะพะฒ, ะฝะฐะฟะธัะฐะฝะฝั‹ะน ะฝะฐ ัะทั‹ะบะต Rust (ั€ะฐะฝะตะต ะฟะพัั‚ะฐะฒะปัะตะผั‹ะน runtime ะฝะฐะฟะธัะฐะฝ ะฝะฐ ัะทั‹ะบะต Go). Runtime ัะพะฒะผะตัั‚ะธะผ ั OCI, CRI-O ะธ Containerd, ั‡ั‚ะพ ะฟะพะทะฒะพะปัะตั‚ ะธัะฟะพะปัŒะทะพะฒะฐั‚ัŒ ะตะณะพ ั Docker ะธ Kubernetes.
  • ะŸั€ะตะดะปะพะถะตะฝ ะฝะพะฒั‹ะน ะณะธะฟะตั€ะฒะธะทะพั€ dragonball, ะพัะฝะพะฒะฐะฝะฝั‹ะน ะฝะฐ KVM ะธ rust-vmm.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะฟั€ะพะฑั€ะพัะฐ ะดะพัั‚ัƒะฟะฐ ะบ GPU, ะธัะฟะพะปัŒะทัƒั VFIO.
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ cgroup v2.
  • ะ ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ะฟะพะดะผะตะฝั‹ ะฝะฐัั‚ั€ะพะตะบ ะฑะตะท ะธะทะผะตะฝะตะฝะธั ะพัะฝะพะฒะฝะพะณะพ ั„ะฐะนะปะฐ ะบะพะฝั„ะธะณัƒั€ะฐั†ะธะธ ั‡ะตั€ะตะท ะทะฐะผะตะฝัƒ ะฑะปะพะบะพะฒ ะฒ ะพั‚ะดะตะปัŒะฝั‹ั… ั„ะฐะนะปะฐั…, ั€ะฐะทะผะตั‰ะฐะตะผั‹ั… ะฒ ะบะฐั‚ะฐะปะพะณะต ยซconfig.d/ยป.
  • ะ’ ะบะพะผะฟะพะฝะตะฝั‚ะฐั… ะฝะฐ ัะทั‹ะบะต Rust ะทะฐะดะตะนัั‚ะฒะพะฒะฐะฝะฐ ะฝะพะฒะฐั ะฑะธะฑะปะธะพั‚ะตะบะฐ ะดะปั ะฑะตะทะพะฟะฐัะฝะพะน ั€ะฐะฑะพั‚ั‹ ั ั„ะฐะนะปะพะฒั‹ะผะธ ะฟัƒั‚ัะผะธ.
  • ะšะพะผะฟะพะฝะตะฝั‚ virtiofsd (ะฝะฐะฟะธัะฐะฝ ะฝะฐ ะกะธ) ะทะฐะผะตะฝั‘ะฝ ะฝะฐ virtiofsd-rs (ะฝะฐะฟะธัะฐะฝ ะฝะฐ Rust).
  • ะ”ะพะฑะฐะฒะปะตะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ sandbox-ะธะทะพะปัั†ะธะธ ะบะพะผะฟะพะฝะตะฝั‚ะพะฒ QEMU.
  • ะ’ QEMU ะดะปั ะฐัะธะฝั…ั€ะพะฝะฝะพะณะพ ะฒะฒะพะดะฐ/ะฒั‹ะฒะพะดะฐ ะทะฐะดะตะนัั‚ะฒะพะฒะฐะฝ API io_uring.
  • ะ”ะปั QEMU ะธ Cloud-hypervisor ั€ะตะฐะปะธะทะพะฒะฐะฝะฐ ะฟะพะดะดะตั€ะถะบะฐ ั€ะฐััˆะธั€ะตะฝะธะน Intel TDX (Trusted Domain Extensions).
  • ะžะฑะฝะพะฒะปะตะฝั‹ ะบะพะผะฟะพะฝะตะฝั‚ั‹: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, ัะดั€ะพ Linux 5.19.2.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™