概要
サンドボックスは、アプリケーションが実行される厳密に制御された環境です。多くの場合、サンドボックス化された環境はリソースに永続的な制限を課し、ホストマシンやオペレーティングシステムに害を及ぼす危険を冒さずに、テストされていないプログラムや信頼されていないプログラムを分離して実行するために使用されます。サンドボックスコンテナは、コンテナ・プラットフォームに新しいランタイムを追加し、軽量の仮想マシンを使用してプログラムをシステムの他の部分から分離し、これらの Pod 内でコンテナを起動します。
通常、サンドボックスコンテナは、Linux コンテナ内のセキュリティ機能に加えて使用されます。
サンドボックスコンテナが重要な理由
サンドボックスコンテナは、信頼されていないコードやテストされていないコードを実行する特権ワークロードや Kubernetes ネイティブのエクスペリエンスなど、非常に厳格なアプリケーションレベルの分離とセキュリティを必要とするワークロードに最適です。サンドボックスコンテナを使用すると、以下を分離することで、リモート実行、メモリーリーク、または非特権アクセスからアプリケーションをさらに保護できます。
- 開発者環境と特権の範囲
- コンテナ化されたレガシーワークロード
- サードパーティのワークロード
- リソース共有 (CI/CD ジョブ、CNF など) と安全なマルチテナンシーの提供
Red Hat OpenShift とサンドボックスコンテナの連携方法
Kata Containers オープンソース・プロジェクトに基づく Red Hat OpenShift サンドボックスコンテナ は、独自の分離されたカーネルでワークロードを実行する軽量の仮想マシンを使用し、Open Container Initiative (OCI) 準拠のコンテナランタイムを介して、厳格なセキュリティ要件を持つアプリケーションに追加の分離レイヤーを提供します。Red Hat OpenShift は、Red Hat OpenShift サンドボックスコンテナ Operator を管理、デプロイ、および更新する認定済みの Operator フレームワークを通じてこれを実現します。
Red Hat OpenShift サンドボックスコンテナの Operator は、 Kata Containers をクラスタで任意のランタイムとして使用できるようにするために必要なすべての要素を提供し、継続的に更新します。これには次のようなものが含まれます。
- Red Hat CoreOS 拡張機能 としての Kata Containers RPM および QEMU のノードへのインストール
- CRI-O ランタイムハンドラー を使用したランタイムレベル、および Kata Containers 専用の RuntimeClass の追加と構成によるクラスタレベルでの Kata Containers ランタイムの構成
- Kata Containers をデプロイするノードの選択など、インストールをカスタマイズするための宣言型構成
- デプロイメント全体の健全性の確認、およびインストール中の問題の報告
Red Hat OpenShift サンドボックスコンテナは、現在 一般提供されています。