Samuel Karp, een ingenieur bij Amazon, is bezig met de ontwikkeling van... Linux-Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π° Bottlerocket ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ½ΠΎΠΉ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ Π΄Π»Ρ AWS, ΡΠ°Π·Π²ΠΈΠ²Π°Π΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ jail-ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΉ FreeBSD Π½ΠΎΠ²ΡΠΉ runtime runj Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΎΡΠΎΡΠΌΠ»Π΅Π½Π½ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠ΅ΠΉ OCI (Open Container Initiative). ΠΡΠΎΠ΅ΠΊΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΉ, ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠΉ Π² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ΅ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π²ΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΡΡΠΈΠΉΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈ ΠΏΡΠΎΡΠΎΡΠΈΠΏΠ°. ΠΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Go ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ BSD.
ΠΠΎΡΠ»Π΅ Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΡΠΎΠ΅ΠΊΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΠ°ΡΡΠΈ Π΄ΠΎ ΡΡΠΎΠ²Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ runj Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ ΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ runtime Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Docker ΠΈ Kubernetes, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ² FreeBSD Π²ΠΌΠ΅ΡΡΠΎ Linux. ΠΠ· OCI runtime Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΡΠ΄Π°Π»Π΅Π½ΠΈΡ, Π·Π°ΠΏΡΡΠΊΠ°, ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ². ΠΠ°ΡΠΈΠ½ΠΊΠ° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΡΡΠ΅Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ FreeBSD.
Omdat de OCI-specificatie FreeBSD nog niet ondersteunt, heeft het project een aantal aanvullende parameters ontwikkeld met betrekking tot het configureren van jail en FreeBSD, die naar verwachting zullen worden ingediend voor opname in de hoofdspecificatie van OCI. Om de jail te beheren worden de jail-, jls-, jexec-, kill- en ps-hulpprogramma's van FreeBSD gebruikt, zonder directe toegang tot systeemaanroepen. Toekomstige plannen omvatten het toevoegen van ondersteuning voor het beheer van resourcebeperkingen via de kernel RCTL-interface.
Naast de eigen runtime wordt er ook een experimentele laag ontwikkeld in de projectrepository voor gebruik met runtime containerd (gebruikt in Docker), aangepast om FreeBSD te ondersteunen. Er wordt een speciaal hulpprogramma aangeboden om de FreeBSD rootfs om te zetten in een OCI-compatibel containerimage. De gemaakte afbeelding kan later in containerd worden geΓ―mporteerd.
Bron: opennet.ru
