ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° Kata Containers 3.0 с изолация, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° виртуализация

Π‘Π»Π΅Π΄ Π΄Π²Π΅ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° бСшС ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° вСрсията Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° 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 Π΅ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° изпълнСниС, ΠΊΠΎΠ΅Ρ‚ΠΎ прСдоставя Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° създаванС Π½Π° ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини, ΠΊΠΎΠΈΡ‚ΠΎ работят с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° пълСн Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€, вмСсто Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΠ±Ρ‰ΠΎ Linux ядро ​​и са ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° пространства ΠΎΡ‚ ΠΈΠΌΠ΅Π½Π° ΠΈ cgroups. Π˜Π·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини Π²ΠΈ позволява Π΄Π° постигнСтС ΠΏΠΎ-високо Π½ΠΈΠ²ΠΎ Π½Π° сигурност, ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΏΡ€Π΅Π΄ΠΏΠ°Π·Π²Π° ΠΎΡ‚ Π°Ρ‚Π°ΠΊΠΈ, ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅Π½ΠΈ ΠΎΡ‚ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° уязвимости Π² ядрото Π½Π° Linux.

Kata Containers сС фокусира Π²ΡŠΡ€Ρ…Ρƒ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π² ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‰ΠΈ ΠΈΠ·ΠΎΠ»Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ инфраструктури Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ с Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини Π·Π° подобряванС Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π°Ρ‚Π° Π½Π° Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΈΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΡŠΡ‚ прСдоставя ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° осигуряванС Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ Π½Π° Π»Π΅ΠΊΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ инфраструктури Π·Π° ΠΈΠ·ΠΎΠ»ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ Π·Π° оркСстрация Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ ΠΈ спСцификации ΠΊΠ°Ρ‚ΠΎ OCI (Π˜Π½ΠΈΡ†ΠΈΠ°Ρ‚ΠΈΠ²Π° Π·Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ), CRI (Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ Π·Π° изпълнСниС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ) ΠΈ CNI (ΠœΡ€Π΅ΠΆΠΎΠ² интСрфСйс Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ). Налични са инструмСнти Π·Π° интСграция с Docker, Kubernetes, QEMU ΠΈ OpenStack.

ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° Kata Containers 3.0 с изолация, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° виртуализация

Π˜Π½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡΡ‚Π° със систСмитС Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ сС постига Ρ‡Ρ€Π΅Π· слой, ΠΊΠΎΠΉΡ‚ΠΎ симулира ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, ΠΊΠΎΠΉΡ‚ΠΎ ΠΎΡΡŠΡ‰Π΅ΡΡ‚Π²ΡΠ²Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ управляващия Π°Π³Π΅Π½Ρ‚ във Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина Ρ‡Ρ€Π΅Π· интСрфСйса gRPC ΠΈ спСциалСн прокси. Π’ΡŠΠ² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° срСда, която сС стартира ΠΎΡ‚ Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€Π°, сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° спСциално ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ ядро ​​на Linux, ΠΊΠΎΠ΅Ρ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° само минималния Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ.

ΠšΠ°Ρ‚ΠΎ Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€, Ρ‚ΠΎΠΉ ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Dragonball Sandbox (ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° KVM, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€Π°Π½ΠΎ Π·Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ) с инструмСнтариума QEMU, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Firecracker ΠΈ Cloud Hypervisor. БистСмната срСда Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π΄Π΅ΠΌΠΎΠ½ Π·Π° инициализация ΠΈ Π°Π³Π΅Π½Ρ‚. ΠΠ³Π΅Π½Ρ‚ΡŠΡ‚ осигурява изпълнСниС Π½Π° Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π°Π½ΠΈ ΠΎΡ‚ потрСбитСля изобраТСния Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ Π² OCI Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π·Π° Docker ΠΈ CRI Π·Π° Kubernetes. ΠšΠΎΠ³Π°Ρ‚ΠΎ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π°Π΅Π΄Π½ΠΎ с Docker, Π·Π° всСки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ сС създава ΠΎΡ‚Π΄Π΅Π»Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π° машина, Ρ‚.Π΅. Π‘Ρ€Π΅Π΄Π°Ρ‚Π°, Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰Π° Π²ΡŠΡ€Ρ…Ρƒ Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€Π°, сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΎ стартиранС Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ.

ΠŸΡƒΡΠΊΠ°Π½Π΅ Π½Π° Kata Containers 3.0 с изолация, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° виртуализация

Π—Π° намаляванС Π½Π° ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡŠΡ‚ DAX (Π΄ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²Π°Ρ‚Π° систСма, заобикалянС Π½Π° кСша Π½Π° страницата Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Π±Π»ΠΎΠΊΠΎΠ²ΠΎ устройство), Π° Π·Π° дСдупликация Π½Π° ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½ΠΈ области Π½Π° ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° тСхнологията KSM (Kernel Samepage Merging), която Π²ΠΈ позволява Π·Π° ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° сподСлянСто Π½Π° рСсурситС Π½Π° хост систСмата ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½Π΅ към Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ систСми Π·Π° гости сподСлят ΠΎΠ±Ρ‰ шаблон Π½Π° систСмна срСда.

Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия:

  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π΅ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π° срСда Π·Π° изпълнСниС (runtime-rs), която Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° Π·Π°ΠΏΡŠΠ»Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΈ, написана Π½Π° Π΅Π·ΠΈΠΊΠ° Rust (доставСната ΠΏΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° срСда Π·Π° изпълнСниС бСшС написана Π½Π° Π΅Π·ΠΈΠΊΠ° Go). Runtime Π΅ ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌ с OCI, CRI-O ΠΈ Containerd, ΠΊΠΎΠ΅Ρ‚ΠΎ позволява Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° с Docker ΠΈ Kubernetes.
  • ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π΅ Π½ΠΎΠ² Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ Π½Π° Dragonball, Π±Π°Π·ΠΈΡ€Π°Π½ Π½Π° KVM ΠΈ rust-vmm.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° ΠΏΡ€Π΅ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ GPU Ρ‡Ρ€Π΅Π· VFIO.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° cgroup v2.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π·Π° промяна Π½Π° настройкитС Π±Π΅Π· промяна Π½Π° основния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅Π½ Ρ„Π°ΠΉΠ» Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π° Ρ‡Ρ€Π΅Π· замяна Π½Π° Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π² ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅, Π½Π°ΠΌΠΈΡ€Π°Ρ‰ΠΈ сС Π² дирСкторията β€žconfig.d/”.
  • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈΡ‚Π΅ Π½Π° Rust Π²ΠΊΠ»ΡŽΡ‡Π²Π°Ρ‚ Π½ΠΎΠ²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π° сигурна Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈ ΠΏΡŠΡ‚ΠΈΡ‰Π°.
  • ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΡŠΡ‚ virtiofsd (написан Π½Π° C) Π΅ Π·Π°ΠΌΠ΅Π½Π΅Π½ с virtiofsd-rs (написан Π½Π° Rust).
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° QEMU ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ Π² ΠΏΡΡΡŠΡ‡Π½Π° срСда.
  • QEMU ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° API io_uring Π·Π° асинхронСн I/O.
  • ΠŸΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ°Ρ‚Π° Π½Π° Intel TDX (Trusted Domain Extensions) Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΡ Π΅ Π²Π½Π΅Π΄Ρ€Π΅Π½Π° Π·Π° QEMU ΠΈ Cloud-hypervisor.
  • Актуализирани ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux ядро ​​5.19.2.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€