# コンテナランタイムインターフェース(CRI)

LLMS index: [llms.txt](/llms.txt)

---

<!-- overview -->

CRIはプラグインインターフェースで、クラスターコンポーネントを再コンパイルすることなく、kubeletがさまざまなコンテナランタイムを使用できるようにします。

<a class='glossary-tooltip' title='クラスター内の各ノードで実行されるエージェント。コンテナがPod内で実行されていることを保証します。' data-bs-toggle='tooltip' data-bs-placement='top' href='/ja/docs/reference/command-line-tools-reference/kubelet' target='_blank' aria-label='kubelet'>kubelet</a>が<a class='glossary-tooltip' title='一番小さく一番シンプルな Kubernetes のオブジェクト。Pod とはクラスターで動作しているいくつかのコンテナのまとまりです。' data-bs-toggle='tooltip' data-bs-placement='top' href='/ja/docs/concepts/workloads/pods/' target='_blank' aria-label='Pod'>Pod</a>とそのコンテナを起動できるように、クラスター内の各ノードで動作する<a class='glossary-tooltip' title='コンテナランタイムは、コンテナの実行を担当するソフトウェアです。' data-bs-toggle='tooltip' data-bs-placement='top' href='/ja/docs/setup/production-environment/container-runtimes' target='_blank' aria-label='コンテナランタイム'>コンテナランタイム</a>が必要です。

<p><p>コンテナランタイムインターフェース(CRI)は <a class='glossary-tooltip' title='クラスター内の各ノードで実行されるエージェント。コンテナがPod内で実行されていることを保証します。' data-bs-toggle='tooltip' data-bs-placement='top' href='/ja/docs/reference/command-line-tools-reference/kubelet' target='_blank' aria-label='kubelet'>kubelet</a>とコンテナランタイム間の通信のための主要なプロトコルです。</p></p>
<p>Kubernetesコンテナランタイムインターフェース(CRI)は、<a href="/ja/docs/concepts/architecture/#node-components">ノードコンポーネント</a>である<a class='glossary-tooltip' title='クラスター内の各ノードで実行されるエージェント。コンテナがPod内で実行されていることを保証します。' data-bs-toggle='tooltip' data-bs-placement='top' href='/ja/docs/reference/command-line-tools-reference/kubelet' target='_blank' aria-label='kubelet'>kubelet</a>と<a class='glossary-tooltip' title='コンテナランタイムは、コンテナの実行を担当するソフトウェアです。' data-bs-toggle='tooltip' data-bs-placement='top' href='/ja/docs/setup/production-environment/container-runtimes' target='_blank' aria-label='コンテナランタイム'>コンテナランタイム</a>の間の通信のための主要な<a href="https://grpc.io">gRPC</a>プロトコルを定義します。</p>

<!-- body -->

## API {#api}








  <div class="feature-state-notice feature-stable">
      <span class="feature-state-name">FEATURE STATE:</span>
      <code>Kubernetes v1.23 [stable]</code>
    </div>
  



kubeletは、gRPCを用いてコンテナランタイムに接続するときにクライアントとして機能します。
ランタイムおよびイメージサービスエンドポイントは、コンテナランタイムで利用できる必要があります。
これらは、`--container-runtime-endpoint`[コマンドラインフラグ](/docs/reference/command-line-tools-reference/kubelet/)を使用してkubelet内で個別に設定できます。

Kubernetes v1.26以降では、kubeletはコンテナランタイムが`v1` CRI APIをサポートしていることを要求します。
コンテナランタイムが`v1` APIをサポートしていない場合、kubeletはノードを登録しません。

## アップグレード {#upgrading}

ノード上でKubernetesのバージョンをアップグレードすると、kubeletが再起動します。
コンテナランタイムが`v1` CRI APIをサポートしていない場合、kubeletは登録に失敗し、エラーを報告します。
コンテナランタイムのアップグレードによってgRPCの再接続が必要な場合、接続を成功させるには、ランタイムが`v1` CRI APIをサポートしている必要があります。
これには、コンテナランタイムが正しく設定された後、kubeletの再起動が必要になる場合があります。

## 次の項目

- CRI[プロトコル定義](https://github.com/kubernetes/cri-api/blob/v0.33.1/pkg/apis/runtime/v1/api.proto)の詳細を学ぶ
