This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.3.10. カスタムスケジューラーの実行
デフォルトのスケジューラーと共に複数のカスタムスケジューラーを実行し、各 Pod に使用するスケジューラーを設定できます。
これは OpenShift Container Platform でカスタムスケジューラーを使用することはサポートされていますが、Red Hat ではカスタムスケジューラーの機能を直接サポートしません。
デフォルトスケジューラーの設定方法の詳細は、デフォルトスケジューラーの設定による Pod 配置の制御 を参照してください。
特定のスケジューラーを使用して指定された Pod をスケジュールするには、Pod
仕様にスケジューラーの名前を指定します。
3.10.1. カスタムスケジューラーのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
クラスターにカスタムスケジューラーを追加するには、デプロイメントにカスタムスケジューラーのイメージを追加します。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 スケジューラーバイナリーがある。
注記スケジューラーバイナリーの作成方法に関する情報は、本書では扱っておりません。たとえば、Kubernetes ドキュメントの Configure Multiple Schedulers を参照してください。カスタムスケジューラーの実際の機能は、Red Hat ではサポートされない点に留意してください。
- スケジューラーバイナリーを含むイメージを作成し、これをレジストリーにプッシュしている。
手順
スケジューラー設定ファイルを保持する設定マップを含むファイルを作成します。
例
scheduler-config-map.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 設定マップを作成します。
oc create -f scheduler-config-map.yaml
$ oc create -f scheduler-config-map.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタムスケジューラーのデプロイメントリソースを含むファイルを作成します。
custom-scheduler.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスター内にデプロイメントリソースを作成します。
oc create -f custom-scheduler.yaml
$ oc create -f custom-scheduler.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
スケジューラー Pod が実行されていることを確認します。
oc get pods -n kube-system
$ oc get pods -n kube-system
Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタムスケジューラー Pod は
Running
として一覧表示されます。NAME READY STATUS RESTARTS AGE custom-scheduler-6cd7c4b8bc-854zb 1/1 Running 0 2m
NAME READY STATUS RESTARTS AGE custom-scheduler-6cd7c4b8bc-854zb 1/1 Running 0 2m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.10.2. カスタムスケジューラーを使用した Pod のデプロイ リンクのコピーリンクがクリップボードにコピーされました!
カスタムスケジューラーをクラスターにデプロイした後、デフォルトのスケジューラーではなくそのスケジューラーを使用するように Pod を設定できます。
各スケジューラーには、クラスター内のリソースの個別のビューがあります。このため、各スケジューラーは独自のノードセットを動作する必要があります。
2 つ以上のスケジューラーが同じノードで動作する場合、それらは互いに介入し、利用可能なリソースよりも多くの Pod を同じノードにスケジュールする可能性があります。この場合、Pod はリソースが十分にないために拒否される可能性があります。
前提条件
-
cluster-admin
ロールを持つユーザーとしてクラスターにアクセスできる。 - カスタムスケジューラーがクラスターにデプロイされている。
手順
クラスターがロールベースアクセス制御 (RBAC) を使用する場合は、カスタムスケジューラー名を
system:kube-scheduler
クラスターロールに追加します。system:kube-scheduler
クラスターロールを編集します。oc edit clusterrole system:kube-scheduler
$ oc edit clusterrole system:kube-scheduler
Copy to Clipboard Copied! Toggle word wrap Toggle overflow カスタムスケジューラーの名前を、
leases
およびendpoints
リソースのresourceNames
一覧に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Pod
設定を作成し、schedulerName
パラメーターでカスタムスケジューラーの名前を指定します。custom-scheduler-example.yaml
ファイルの例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用するカスタムスケジューラーの名前です。この例では
custom-scheduler
になります。スケジューラー名が指定されていない場合、Pod はデフォルトのスケジューラーを使用して自動的にスケジュールされます。
Pod を作成します。
oc create -f custom-scheduler-example.yaml
$ oc create -f custom-scheduler-example.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
以下のコマンドを入力し、Pod が作成されたことを確認します。
oc get pod custom-scheduler-example
$ oc get pod custom-scheduler-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow custom-scheduler-example
Pod が出力に表示されます。NAME READY STATUS RESTARTS AGE custom-scheduler-example 1/1 Running 0 4m
NAME READY STATUS RESTARTS AGE custom-scheduler-example 1/1 Running 0 4m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを入力し、カスタムスケジューラーが Pod をスケジュールしたことを確認します。
oc describe pod custom-scheduler-example
$ oc describe pod custom-scheduler-example
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の切り捨てられた出力に示されるように、スケジューラー
custom-scheduler
が一覧表示されます。Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled <unknown> custom-scheduler Successfully assigned default/custom-scheduler-example to <node_name>
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled <unknown> custom-scheduler Successfully assigned default/custom-scheduler-example to <node_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow