ΠΠΏΡΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ Π²ΡΠΏΡΡΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° Kata Containers 3.2, ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΡΠ΅ΠΊ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π½Π° Π±Π°Π·Π΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²ΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎΠ΅ΠΊΡ ΡΠΎΠ·Π΄Π°Π½ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡΠΌΠΈ 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.
Tha Kata Containers ag amas air amalachadh a-steach do bhun-structaran aonaranachd shoithichean le comas innealan brΓ¬gheil coltach ris a chleachdadh gus dΓ¬on nan soithichean traidiseanta a neartachadh. Tha am prΓ²iseact aβ toirt seachad uidheamachdan gus dΓ¨anamh cinnteach gu bheil innealan brΓ¬gheil aotrom co-fhreagarrach le diofar bhun-structaran aonaranachd shoithichean, Γ rd-ΓΉrlaran orcastra soithichean agus sΓ²nrachaidhean leithid OCI (Iomairt Container Fosgailte), CRI (Container Runtime Interface) agus CNI (Container Networking Interface). Tha innealan rim faighinn airson amalachadh le Docker, Kubernetes, QEMU agus OpenStack.
Tha amalachadh le siostaman riaghlaidh soithichean air a choileanadh le bhith aβ cleachdadh cΓ²mhdach a tha coltach ri riaghladh soithichean, a gheibh cothrom air an Γ idseant riaghlaidh san inneal brΓ¬gheil tro eadar-aghaidh gRPC agus neach-ionaid sΓ²nraichte. Taobh a-staigh na h-Γ rainneachd bhrΓ¬gheil, a thΓ¨id a chuir air bhog leis an hypervisor, thathas aβ cleachdadh kernel Linux lΓ n-leasaichte, anns nach eil ach an seata as lugha de chomasan riatanach.
Mar hypervisor, tha e aβ toirt taic do chleachdadh Dragonball Sandbox (deasachadh de KVM air a bharrrachadh airson soithichean) leis an inneal QEMU, a bharrachd air Firecracker agus Cloud Hypervisor. Tha Γ rainneachd an t-siostaim aβ toirt a-steach daemon tΓ²iseachaidh agus Γ idseant. Bidh an neach-ionaid aβ toirt seachad Γ¬omhaighean soithich a tha air an sΓ²nrachadh le neach-cleachdaidh ann an cruth OCI airson Docker agus CRI airson Kubernetes. Nuair a thΓ¨id a chleachdadh ann an co-bhonn ri Docker, thΓ¨id inneal brΓ¬gheil fa leth a chruthachadh airson gach inneal, i.e. Tha an Γ rainneachd a tha aβ ruith air mullach an hypervisor air a chleachdadh airson soithichean a chuir air bhog.
Gus caitheamh cuimhne a lughdachadh, thathas a βcleachdadh an uidheamachd DAX (ruigsinneachd dΓ¬reach air an t-siostam faidhle, aβ dol seachad air tasgadan na duilleige gun a bhith a βcleachdadh Γ¬re inneal bloca), agus gus raointean cuimhne co-ionann a dhΓ¬-dhΓΉblachadh, thathas aβ cleachdadh teicneΓ²las KSM (Kernel Samepage Merging), a leigeas leat gus roinneadh ghoireasan siostam aoigheachd a chuir air dΓ²igh agus ceangal ri diofar shiostaman aoighean a βroinn teamplaid Γ rainneachd siostam cumanta.
Anns an dreach ΓΉr:
- ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ AMD64 (x86_64) ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π»ΠΈΠ·ΠΎΠ² Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ARM64 (Aarch64) ΠΈ s390 (IBM Z). Π ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ppc64le (IBM Power).
- ΠΠ»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΎΠ±ΡΠ°Π·Π°ΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Nydus 2.2.0, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π΄ΡΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠΌΡ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΏΠΎΠ²ΡΠΌΠΈ ΠΎΠ±ΡΠ°Π·Π°ΠΌΠΈ. Nydus ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² Π½Π° Π»Π΅ΡΡ (Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ), ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π΄Π΅Π΄ΡΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ ΡΡ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π±ΡΠΊΠ΅Π½Π΄Ρ Π΄Π»Ρ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ POSIX (ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ Composefs, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Nydus ΡΠΎΠ²ΠΌΠ΅ΡΠ°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ OverlayFS c EROFS ΠΈΠ»ΠΈ FUSE-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ).
- Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΡΠ°Π² ΠΏΡΠΎΠ΅ΠΊΡΠ° Kata Containers ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΠΈΠ½ Dragonball, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ.
- Π ΡΡΠΈΠ»ΠΈΡΡ kata-ctl Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΡΠ»Π°Π΄ΠΎΡΠ½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠ°ΡΠΈΠ½Π΅ ΠΈΠ· Ρ ΠΎΡΡ-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ.
- Π Π°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ GPU ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΠ±ΡΠΎΡΠ° GPU Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ Π΄Π»Ρ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ (Confidential Container), Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΎΡΡ-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΠ°.
- Π Runtime-rs Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ°Ρ ΠΈΠ»ΠΈ sandbox-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡΡ . ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Ρ vfio, Π±Π»ΠΎΡΠ½ΡΠΌΠΈ, ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ².
- ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ Ρ OCI Runtime 1.0.2 ΠΈ Kubernetes 1.23.1.
- Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΄ΡΠ° Linux ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠΏΡΡΠΊ 6.1.38 Ρ ΠΏΠ°ΡΡΠ°ΠΌΠΈ.
- Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Jenkins Π½Π° GitHub Actions.
Source: fosgailtenet.ru