Выпуск Kata Containers 3.4 с изоляциСй Π½Π° основС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Kata Containers 3.4, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ стСк для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ выполнСния ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² с использованиСм изоляции Π½Π° Π±Π°Π·Π΅ ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ создан компаниями Intel ΠΈ Hyper ΠΏΡƒΡ‚Ρ‘ΠΌ объСдинСния Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Clear Containers ΠΈ runV. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языках Go ΠΈ Rust, ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. Π Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΊΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ рабочая Π³Ρ€ΡƒΠΏΠΏΠ°, созданная ΠΏΠΎΠ΄ эгидой нСзависимой ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ OpenInfra Foundation, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, ΠΊΠ°ΠΊ Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE ΠΈ ZTE.

ΠžΡΠ½ΠΎΠ²Ρƒ Kata составляСт runtime, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹, выполняСмыС с использованиСм ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ Π³ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€Π°, вмСсто примСнСния Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠ±Ρ‰Π΅Π΅ ядро Linux ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ пространств ΠΈΠΌΡ‘Π½ ΠΈ cgroups. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ высокого уровня бСзопасности, Π·Π°Ρ‰ΠΈΡ‰Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΡ‚ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π°Ρ‚Π°ΠΊ, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Ρ… эксплуатациСй уязвимостСй Π² ядрС Linux.

Kata Containers ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ Π½Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΡŽ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ инфраструктуры ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠΉ изоляции c Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ примСнСния ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин для усилСния Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ для обСспСчСния совмСстимости лСгковСсных Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠ°ΡˆΠΈΠ½Ρ‹ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ инфраструктурами ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π½ΠΎΠΉ изоляции, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ оркСстровки ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ спСцификациями, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ OCI (Open Container Initiative), CRI (Container Runtime Interface) ΠΈ CNI (Container Networking Interface). Доступны срСдства для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ с Docker, Kubernetes, QEMU ΠΈ OpenStack.

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

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

Выпуск Kata Containers 3.4 с изоляциСй Π½Π° основС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

Для ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ потрСблСния памяти примСняСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ DAX (прямой доступ ΠΊ Π€Π‘ Π² ΠΎΠ±Ρ…ΠΎΠ΄ страничного кэша Π±Π΅Π· примСнСния уровня Π±Π»ΠΎΡ‡Π½Ρ‹Ρ… устройств), Π° для Π΄Π΅Π΄ΡƒΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… областСй памяти примСняСтся тСхнология KSM (Kernel Samepage Merging), Ρ‡Ρ‚ΠΎ позволяСт ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ совмСстноС использованиС рСсурсов хост-систСмы ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ гостСвым систСмам ΠΎΠ±Ρ‰ΠΈΠΉ шаблон систСмного окруТСния.

Для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ доступа ΠΊ ΠΎΠ±Ρ€Π°Π·Π°ΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² задСйствована файловая систСма Nydus, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ адрСсация ΠΏΠΎ содСрТимому для эффСктивной совмСстной Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠΎΠ²Ρ‹ΠΌΠΈ ΠΎΠ±Ρ€Π°Π·Π°ΠΌΠΈ. Nydus ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Π½Π° Π»Π΅Ρ‚Ρƒ (Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ нСобходимости), обСспСчиваСт Π΄Π΅Π΄ΡƒΠΏΠ»ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ бэкСнды для фактичСского хранСния. ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с POSIX (ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Composefs, рСализация Nydus совмСщаСт возмоТности OverlayFS c EROFS ΠΈΠ»ΠΈ FUSE-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ).

Π’ Π½ΠΎΠ²ΠΎΠΉ вСрсии:

  • Π’ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… машин Dragonball Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° горячСго ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ GPU ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования рСгистров MTRR (Memory-Type Range Registers) для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ доступа ΠΊ областям физичСской памяти.
  • Π’ runtime-rs, Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ runtime Π½Π° языкС Rust, обСспСчСна полная ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ², pid ΠΈ tid, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ qemu, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ задСйствован Π½Π° систСмах с Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ s390 (IBM Z).
  • ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½ сСрсис для создания ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ² с использованиСм Π€Π‘ Nydus.
  • Π’ сСрвисС управлСния ΠΎΠ±Ρ€Π°Π·Π°ΠΌΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ.
  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΠΎΠ½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ cgroups-v2 Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ systemd.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ опрСдСлСния Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π° для ограничСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ получСния ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Π² гостСвых систСмах.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сборки OPA-Π°Π³Π΅Π½Ρ‚Π° (Open Policy Agent) для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ppc64le ΠΈ s390x.

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