ライブラリ / SDK
cri-o/cri-o avatar
cri-o/cri-o

cri-o/cri-o:Kubernetes CRIのOCIコンテナランタイム

Open Container Initiative ベースの Kubernetes Container Runtime Interface の実装。

スター 5,659フォーク 1,206GoApache-2.0

ひと目でわかる

これは何?
KubeletとOCI準拠ランタイムを接続。runc、container-libs、CNI利用。Kubernetes n-2スキュー、Apache-2.0。
誰に向いている?
KubernetesノードのCRI実装として検討するチーム向け。`crio --version`と`/var/run/crio/crio.sock`存在を確認し、READMEのlocal-up-cluster.sh例(CONTAINER_RUNTIME_ENDPOINT=unix:///var/run/crio/crio.sock)でテストクラスタを立ててから本番ノードへ展開するのが安全です。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。直近 1 日以内に新しいコミットがあります。
何の言語で書かれている?
主に Go です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

CRIスコープに限定されたOCIブリッジ

cri-o/cri-oは、Open Container Initiative準拠ランタイムをKubeletのContainer Runtime Interface(CRI)経由で使う実装です。READMEはスコープをCRIに結び付け、複数イメージ形式(Docker形式含む)、信頼と検証を伴うイメージ取得、イメージレイヤー管理、コンテナプロセスライフサイクル、CRIが求めるモニタリング/ロギング、リソース分離を含むと列挙します。逆にイメージのビルド・署名・プッシュは範囲外で、プロジェクト内CLIはテスト専用・後方互換保証なしとREADMEは明記しています。言語Go、ライセンスApache-2.0、ホームページcri-o.io、約5600スター、最新v1.36.4(2026-08-24)です。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

Kubernetesリリースサイクルとのn-2スキュー

CRI-Oはマイナー1.x.yでKubernetesリリースサイクルに追随します。パッチ1.x.zはKubernetesと同期せず必要時のみ提供。Kubernetes End of Lifeに対応するCRI-O版も同様にEOL扱い可能とREADMEは説明します。機能の卒業・非推奨・削除はKubernetes n-2スキューポリシーに従い、Kubernetes独立機能も同方針です。互換マトリックスはmainブランチがKubernetes masterを追跡、release-1.xが手動バグフィックスバックポートと記載。リリースノートはcri-o.github.io/cri-oから取得可能とREADMEにあります。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

runc、container-libs、CNIの組み合わせ

READMEは計画コンポーネントを明示します。ランタイム:runcまたは任意のOCI runtime-spec実装とoci runtime tools。イメージ:container-libs/image。ストレージ:container-libs/storage。ネットワーク:CNI。デーモンコマンドcrio(8)、設定crio.conf(5)、policy.json、registries.conf、storage.confをcontainer-libsから参照します。crio statusサブコマンド(config、info、containers等)がHTTP API経由で状態参照可能とREADMEに記載。Kubernetes sig-node Slackでの質問窓口も案内されています。 追加段落:README一次情報に基づき、本リポジトリの公開範囲はドキュメントとソースに限定されます。star数やfork数はGitHubメタデータ由来の注目指標であり、機能保証やSLAを意味しません。導入判断では、READMEが示す具体コマンド・設定キー・バージョン番号を手元環境で再現し、期待する入出力が得られるかを記録してください。READMEに無い性能数値、互換マトリックス、セキュリティ監査結果は推測で補わず、issue/リリースノート/公式サイトで確認できる事実だけを採用記録に残します。

HTTPステータスAPIと可観測性の限界

CRI gRPCに加えUnixソケット上のHTTP APIを公開しますが、READMEは本APIが不安定で本番依存すべきでないと警告します。エンドポイント例:/info、/containers/:id、/config、/pause/:id、/unpause/:id、/debug/goroutines、/debug/heap。メトリクスとトレーシングは別ガイド参照でREADME本文には詳細なし。OpenShift CI(Prow)とGitHub ActionsでCIが分割され、periodic-ci-cri-o-cri-o-main-periodics-setup-periodic等のジョブ名がREADMEに列挙されています。

セキュリティとガバナンス

脆弱性報告はSECURITY.mdのプロセスに従います。OCIフックはpodman hooksドキュメントに基づき設定可能。コミュニケーションはGitHub issue/PRとKubernetes slack。週次ミーティングは誰でも参加可、ガバナンス詳細はガバナンスファイル参照。READMEにはAIコーディングアシスタント向けセクションがあり、プロジェクトコンテキストと開発ガイドラインを説明しています。OpenSSF ScorecardやBest PracticesバッジへのリンクもREADME上部にあります。

local-up-cluster.shでの検証手順

README Getting Startedはインストールガイドとソースビルドガイドへリンクし、直接コマンドは提供しません。CRI-O付きローカルKubernetesはKubernetesリポジトリのlocal-up-cluster.shを使い、環境変数CGROUP_DRIVER=systemd、CONTAINER_RUNTIME=remote、CONTAINER_RUNTIME_ENDPOINT='unix:///var/run/crio/crio.sock'等を設定するとREADMEに記載。採用前はcrioデーモン起動後に`crio status info`(またはREADME記載のstatusサブコマンド)でソケット応答を確認し、/var/run/crio/crio.sockのパーミッションをkubelet実行ユーザーと照合してください。v1.36.4タグをcheckoutしてビルドする場合はリリースノートの既知問題も確認が必要です。

採用者とロードマップ

README Adopters節とroadmap.md、GitHub Project(Feature Roadmap)が将来方向を示します。CRI-O Usage Transfer節もREADME目次にあり、他ランタイムからの移行資料が存在します。イメージビルド/レジストリプッシュが必要なワークフローにはCRI-O単体では不足し、READMEが明示的に範囲外とした機能です。パッチ提供頻度はKubernetesより独立しており、セキュリティ修正の追従はcri-o.github.io/cri-oのリリースノート監視が現実的です。

Awesome CRI-Oと通信チャネル

README目次にAwesome CRI-O、Communication、Weekly Meeting、Governance、AI Assistants、License Scanがあります。Container Runtime Interface special cases節とDebugging tips節はGetting started配下にあり、CRI-O固有のkubelet連携エッジケースをドキュメントサイトへ委譲しています。Adopters節は本番採用例の参照先です。OpenShift Prowジョブ名(periodic-ci-cri-o-cri-o-main-periodics-setup-fedora-periodic等)がREADMEに列挙され、Fedora/RHEL系CIイメージが定期ビルドされます。イメージビルドパイプラインはcri-o/packagingリポジトリへのリンクがREADMEバッジにあります。

編集部の結論

KubernetesノードのCRI実装として検討するチーム向け。`crio --version`と`/var/run/crio/crio.sock`存在を確認し、READMEのlocal-up-cluster.sh例(CONTAINER_RUNTIME_ENDPOINT=unix:///var/run/crio/crio.sock)でテストクラスタを立ててから本番ノードへ展開するのが安全です。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート