Container Runtime Interface スト... ノート

Container Runtime Interface ストリーミングの説明

Kubernetes Container Runtime Interface (CRI) は、kubelet とコンテナーランタイム間の通信のプロトコルを定義します。CRI には、3つの顕著な Remote Procedure Calls (RPCs) があります:Exec、Attach、および PortForward。これらの RPCs は、コンテナーに対するコマンドの実行、ターミナルアタッチメント、ポートフォワーディングを可能にします。これらの RPCs が特徴的なのは、従来のサーバー応答ではなく、ストリーミングサーバーURLを返す点です。このデザインは、ランタイムがこれらの機能を実装するための柔軟性を提供し、kubelet のボトルネックを回避します。Exec と Attach は、似ているストリーミングプロトコルに従い、PortForward は、異なる内部プロトコルを使用します。ランタイムは、kubelet ライブラリを使用してストリーミングサーバーメソッドを実装し、プロトコル解釈とランタイム固有のロジックを提供します。ポートフォワーディングには、コンテナーのネットワークネームスペースに入り、ポートを割り当てる必要があります。Kubernetes はこれらの RPCs に対し、WebSockets への移行を遂げています。これにより、ランタイムとクライアントからの更新が必要です。CRI-O は、Rust を使用した直接的な WebSocket ストリーミングの実験的な実装を探検しています。これらの RPCs は、ワークロードとの高度な相互作用を可能にするため、コンテナーマネジメントの柔軟性とイノベーションを大幅に向上させています。