【ランタイムクラス(Kubernetes)】

RuntimeClass(Kubernetes) とは?

最終更新:
💡 Podに合う実行環境を、用意した設定から選ぶ

Kubernetesで、Podが使うコンテナランタイムの構成を選ぶためのリソースです。ノードに用意した実行環境や設定を、PodのruntimeClassNameから指定します。

📌 このページのポイント
Podの指定を、ノードの実行構成へPodruntimeClassName:isolatedRuntimeClassname: isolatedhandler: sandbox参照構成を指定対応ノード:事前に設定が必要handler: sandboxコンテナ実行✓ 実行環境・設定は先に用意する対応ノードや追加の資源も確認
isolatedとsandboxは説明用の名前です。RuntimeClassの作成だけで、実行エンジンがインストールされるわけではありません。
ひよこ ひよこ
RuntimeClassは、何を選ぶもの?
ペンギン先生 ペンギン先生
Podをどのコンテナランタイム構成で動かすかを選ぶためのリソースだよ。用途に合わせて実行環境を分けられる。別のエンジンを選ぶだけでなく、同じエンジンの設定を使い分ける場合もあるんだ。
ひよこ ひよこ
Podに名前を書けば、すぐ使える?
ペンギン先生 ペンギン先生
その前に管理者がノード側のCRI対応ランタイムに、使いたい構成を設定しておく必要があるよ。次に、その構成のhandlerを指定したRuntimeClassを作る。リソースの作成だけで、実行エンジンを自動で入れてくれるわけではないんだ。
ひよこ ひよこ
runtimeClassNameとhandlerは同じ名前?
ペンギン先生 ペンギン先生
別のものだよ。PodのruntimeClassNameはRuntimeClassリソースの名前を指し、そのリソースのhandlerがノード側の構成を指す。図では説明用にisolatedとsandboxという名前を使っている。特定の製品で決まった名前という意味ではないよ。
ひよこ ひよこ
どのノードに置いても動くの?
ペンギン先生 ペンギン先生
選んだhandlerに対応しているノードが必要だよ。RuntimeClassのschedulingでノード選択などの条件を設定できる。指定したRuntimeClassが存在しなかったり、配置先のノードがhandlerに対応していなかったりすると、Podの実行に失敗する。イベントや設定を確認しよう。
ひよこ ひよこ
実行環境を変えると、何に気をつける?
ペンギン先生 ペンギン先生
隔離の仕組み、利用できる機能、必要な資源を確かめよう。追加のCPU・メモリが必要な構成では、RuntimeClassのoverheadでその分を設定し、スケジューリングなどに反映できるよ。実行環境を選ぶだけで、完全な隔離や性能を保証するわけではないんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「RuntimeClass」って出てきたら「Podで使うコンテナの実行構成を選ぶ設定」と思えばだいたいOK!
📖 おまけ:英語の意味
「RuntimeClass」 = 実行環境の種類を表すKubernetesのリソース名
💬 Runtimeは実行環境、Classは種類・分類。このリソースを作るだけで、新しい実行エンジンがノードにインストールされるわけではないよ。

参考資料

← 用語集にもどる