概要
rkt は、先進的なプロダクション・クラウドネイティブ環境向けに開発されたアプリケーション・コンテナ・エンジンです。Pod ネイティブのアプローチ、プラグ可能な実行環境、および他のシステムとの統合に理想的な明確に定義された表面積を備えています。
rkt のコア実行ユニットは、共有コンテキストで実行される 1 つ以上のアプリケーションのコレクションである Pod です (rkt の Pod は Kubernetes オーケストレーション・システムの概念と同義)。rkt を使用すると、ユーザーは Pod レベルとより粒度が小さいアプリケーションごとのレベルの両方でさまざまな構成 (分離パラメーターなど) を適用できます。rkt のアーキテクチャは、各 Pod が、自己完結型の分離された環境で、従来の Unix プロセスモデル (つまり、中央デーモンがない) で直接実行されることを意味します。rkt は、先進的でオープンな標準コンテナ形式の App Container (appc) 仕様を実装しますが、Docker で作成されたものなど、他のコンテナイメージを実行することもできます。
rkt のメリット
構成可能
Unix ツールの哲学に従って作られている rkt は、init システム、スクリプト、および複雑な DevOps パイプラインと統合する単一のバイナリーです。コンテナは PID 階層内で正しい場所に配置され、標準のユーティリティで管理できます。
カスタマイズ可能な分離
コンテナを標準の、より安全なデプロイメント・オブジェクトとして使用し、ステージと呼ばれる rkt のプラグ可能なランタイム・アーキテクチャを用いて適切なレベルの分離を選択できます。
Pod を内蔵
rkt のアトミックユニットは、リソースを共有する関連コンテナのグループである Pod です。これにより、関連するコンポーネントを簡単にスタックでき、クラスタ管理の概念に直接マッピングできます。
rkt の歴史
2014 年 12 月に CoreOS でリリースされて以来、rkt プロジェクトは大きく成熟し、広く利用されています。ほとんどの主要な Linux® ディストリビューションで利用可能であり、すべての rkt リリースが、ユーザーによるインストールが可能な自己完結型の rpm/deb パッケージを構築しています。これらのパッケージは、rkt と Kubernetes の統合をテストできるようにする Kubernetes リポジトリの一部としても利用可能です。また、rkt は、Google Container Image と CoreOS Container Linux が Kubernetes を実行する際に中心的な役割を果たします。Red Hat はこのプロジェクトを Cloud Native Computing Foundation (CNCF) に寄贈しました。
現在は、Cloud Native Computing Foundation (CNCF) が rkt を管理しています。