7.2. スケジューリングメカニズムをカプセル化するための RuntimeClass オブジェクトの作成
RuntimeClass
オブジェクトを使用することにより、テイントおよび容認などのスケジュールの仕組みの使用を単純化できます。テイントおよび容認をカプセル化するランタイムクラスをデプロイしてから、これを Pod に適用して Pod を適切なノードにスケジュールできるようにします。ランタイムクラスの作成は、複数のオペレーティングシステムのバリアントをサポートするクラスターでも必要になります。
手順
RuntimeClass
オブジェクト YAML ファイルを作成します。例:runtime-class.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- このランタイムクラスで管理する必要のある Pod で定義される
RuntimeClass
オブジェクト名を指定します。 - 2
- このランタイムクラスをサポートするノードに存在する必要があるラベルを指定します。このランタイムクラスを使用する Pod は、このセレクターに一致するノードにのみスケジュールできます。ランタイムクラスのノードセレクターは Pod の既存のノードセレクターとマージされます。競合が発生した場合は、Pod をノードにスケジュールできなくなります。
-
Windows 2019 の場合は、
node.kubernetes.io/windows-build: '10.0.17763'
ラベルを指定します。 -
Windows 2022 の場合は、
node.kubernetes.io/windows-build: '10.0.20348'
ラベルを指定します。
-
Windows 2019 の場合は、
- 3
- Pod に追加する容認を指定します。ただし、受付時にこのランタイムクラスで実行される重複を除きます。これによって、Pod によって許容されるノードのセットとランタイムクラスが組み合わされます。
RuntimeClass
オブジェクトを作成します。oc create -f <file-name>.yaml
$ oc create -f <file-name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に例を示します。
oc create -f runtime-class.yaml
$ oc create -f runtime-class.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow RuntimeClass
オブジェクトを Pod に適用し、これが適切なオペレーティングシステムバリアントにスケジュールされていることを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- Pod のスケジュールを管理するためにランタイムクラスを指定します。