Runj - FreeBSD ジェイルに基づいてコンテナを管理するための OCI 互換ツールキット

Amazon のエンジニアで、AWS 向けの Bottlerocket Linux ディストリビューションおよびコンテナ分離テクノロジーを開発している Samuel Karp 氏は、OCI (Open Container) 仕様イニシアチブに従って設計されたコンテナの分離起動を提供する、FreeBSD ジェイル環境に基づく新しいランタイム runj を開発しています。 。 このプロジェクトは実験的なものとして位置づけられており、本業の空き時間に開発されており、まだプロトタイプの段階にあります。 コードは Go で記述され、BSD ライセンスに基づいて配布されます。

開発を適切なレベルに引き上げた後、プロジェクトは潜在的に、runj を使用して Docker および Kubernetes システムの通常のランタイムを置き換え、Linux の代わりに FreeBSD を使用してコンテナーを実行できるレベルまで成長する可能性があります。 現在、OCI ランタイムから、コンテナの作成、削除、起動、強制終了、状態評価を行うコマンドが実装されています。 コンテナーの充填は、標準または必要最低限​​の FreeBSD 環境に基づいて作成されます。

OCI 仕様はまだ FreeBSD をサポートしていないため、プロジェクトは、jail と FreeBSD の構成に関連する多数の追加パラメータを開発しており、これらはメインの OCI 仕様に含めるために提出される予定です。 jail を管理するには、システム コールに直接アクセスせずに、FreeBSD のjail、jls、jexec、kill、ps ユーティリティが使用されます。 将来の計画には、カーネル RCTL インターフェイスを介したリソース制限管理のサポートの追加が含まれます。

独自のランタイムに加えて、FreeBSD をサポートするように変更されたランタイム containerd (Docker で使用される) で使用するための実験レイヤーもプロジェクト リポジトリで開発されています。 FreeBSD rootfs を OCI 互換のコンテナ イメージに変換するための特別なユーティリティが提供されています。 作成されたイメージは、後でcontainerdにインポートできます。

出所: オープンネット.ru

コメントを追加します