Kata Containers 3.2 プロジェクトのリリースが公開され、本格的な仮想化メカニズムに基づく分離を使用してコンテナーの実行を組織化するためのスタックが開発されています。 このプロジェクトは、Intel と Hyper によって、Clear Containers と runV テクノロジーを組み合わせて作成されました。 プロジェクト コードは Go と Rust で書かれており、Apache 2.0 ライセンスに基づいて配布されます。 このプロジェクトの開発は、Canonical、China Mobile、Dell/EMC、EasyStack、Google、Huawei、NetApp、Red Hat、SUSE、ZTE などの企業が含まれる独立組織 OpenStack Foundation の後援の下に設立されたワーキング グループによって監督されています。 。
Kata はランタイムに基づいており、一般的な Linux カーネルを使用し、名前空間と cgroup を使用して分離される従来のコンテナを使用する代わりに、完全なハイパーバイザーを使用して実行されるコンパクトな仮想マシンを作成できます。 仮想マシンを使用すると、Linux カーネルの脆弱性の悪用によって引き起こされる攻撃から保護する、より高いレベルのセキュリティを実現できます。
Kata Containers は、同様の仮想マシンを使用して従来のコンテナの保護を強化する機能を備えた、既存のコンテナ分離インフラストラクチャへの統合に重点を置いています。 このプロジェクトは、軽量仮想マシンと、さまざまなコンテナ分離インフラストラクチャ、コンテナ オーケストレーション プラットフォーム、および OCI (Open Container Initiative)、CRI (Container Runtime Interface)、CNI (Container Networking Interface) などの仕様との互換性を確保するためのメカニズムを提供します。 Docker、Kubernetes、QEMU、OpenStack との統合にツールを利用できます。
コンテナ管理システムとの統合は、コンテナ管理をシミュレートするレイヤーを使用して実現されます。このレイヤーは、gRPC インターフェイスと特別なプロキシを介して仮想マシン内の管理エージェントにアクセスします。 ハイパーバイザーによって起動される仮想環境内では、必要な最小限の機能セットのみを含む、特別に最適化された Linux カーネルが使用されます。
ハイパーバイザーとして、QEMU ツールキットを使用した Dragonball Sandbox (コンテナー用に最適化された KVM のエディション) の使用、および Firecracker および Cloud Hypervisor の使用をサポートします。 システム環境には、初期化デーモンとエージェントが含まれます。 このエージェントは、Docker の場合は OCI 形式、Kubernetes の場合は CRI 形式でユーザー定義のコンテナー イメージを実行できます。 Docker と組み合わせて使用すると、コンテナごとに個別の仮想マシンが作成されます。 ハイパーバイザー上で実行される環境は、コンテナーのネストされた起動に使用されます。
メモリ消費量を削減するために、DAX メカニズムが使用され (ファイル システムへの直接アクセス、ブロック デバイス レベルを使用せずにページ キャッシュをバイパス)、同一のメモリ領域を重複排除するために KSM (Kernel Samepage Merging) テクノロジが使用されます。ホスト システム リソースの共有を整理し、異なるゲスト システムに接続するには、共通のシステム環境テンプレートを共有します。
収録曲:
- AMD64 (x86_64) アーキテクチャーのサポートに加えて、ARM64 (Aarch64) および s390 (IBM Z) アーキテクチャーのリリースも提供されています。 ppc64le アーキテクチャ (IBM Power) のサポートは開発中です。
- コンテナ イメージへのアクセスを整理するには、Nydus 2.2.0 ファイル システムが使用されます。このファイル システムは、標準イメージと効率的に連携するためのコンテンツ アドレス指定を使用します。 Nydus は、画像のオンザフライ読み込み (必要な場合のみダウンロード) をサポートし、重複データの重複排除を提供し、実際のストレージに異なるバックエンドを使用できます。 POSIX 互換性が提供されます (Composefs と同様に、Nydus 実装は OverlayFS の機能と EROFS または FUSE モジュールを組み合わせています)。
- ドラゴンボール仮想マシン マネージャーは Kata Containers プロジェクトの主要構造に統合されており、共通リポジトリで開発されることになります。
- ホスト環境から仮想マシンに接続するためのkata-ctlユーティリティにデバッグ機能が追加されました。
- GPU 管理機能が拡張され、機密コンピューティング用のコンテナ (Confidential Container) に GPU を転送するためのサポートが追加されました。これにより、ホスト環境またはハイパーバイザーが侵害された場合に保護するために、データ、メモリ、および実行状態の暗号化が提供されます。
- コンテナまたはサンドボックス環境で使用されるデバイスを管理するためのサブシステムが Runtime-rs に追加されました。 vfio、ブロック、ネットワーク、その他のタイプのデバイスの操作をサポートします。
- OCI ランタイム 1.0.2 および Kubernetes 1.23.1 との互換性が提供されます。
- Linux カーネルとしてパッチを適用したリリース 6.1.38 を使用することをお勧めします。
- 開発は、Jenkins 継続的統合システムの使用から GitHub Actions に移行されました。
出所: オープンネット.ru