4.10. セカンダリースケジューラー
4.10.1. セカンダリースケジューラーの概要 リンクのコピーリンクがクリップボードにコピーされました!
Secondary Scheduler Operator をインストールして、デフォルトのスケジューラーと共にカスタムのセカンダリースケジューラーを実行して Pod をスケジュールすることができます。
Secondary Scheduler Operator は現在、OpenShift Container Platform 4.20 では使用できません。Operator は近い将来リリースされる予定です。
4.10.1.1. Secondary Scheduler Operator について リンクのコピーリンクがクリップボードにコピーされました!
Secondary Scheduler Operator for Red Hat OpenShift は、OpenShift Container Platform にカスタムのセカンダリースケジューラーをデプロイする方法を提供します。セカンダリースケジューラーは、デフォルトのスケジューラーと共に実行され、Pod をスケジュールします。Pod 設定は、使用するスケジューラーを指定できます。
カスタムスケジューラーには /bin/kube-scheduler
バイナリーが必要であり、Kubernetes スケジューリングフレームワーク をベースとする必要があります。
Secondary Scheduler Operator を使用してカスタムセカンダリースケジューラーを OpenShift Container Platform にデプロイできますが、Red Hat はカスタムセカンダリースケジューラーの機能を直接サポートしません。
Secondary Scheduler Operator は、セカンダリースケジューラーに必要なデフォルトのロールとロールバインディングを作成します。セカンダリースケジューラーの KubeSchedulerConfiguration
リソースを設定することにより、有効または無効にするスケジューリングプラグインを指定できます。
4.10.2. Secondary Scheduler Operator for Red Hat OpenShift のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
Secondary Scheduler Operator for Red Hat OpenShift を使用すると、カスタムのセカンダリースケジューラーを OpenShift Container Platform クラスターにデプロイできます。
以下のリリースノートは、Secondary Scheduler Operator for Red Hat OpenShift の開発履歴を記録したものです。
Secondary Scheduler Operator は現在、OpenShift Container Platform 4.20 では使用できません。Operator は近い将来リリースされる予定です。
詳細は、Secondary Scheduler Operator について を参照してください。
4.10.3. セカンダリースケジューラーを使用した Pod のスケジューリング リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Container Platform でカスタムのセカンダリースケジューラーを実行するには、Secondary Scheduler Operator をインストールし、セカンダリースケジューラーをデプロイし、セカンダリースケジューラーを Pod 定義に設定します。
Secondary Scheduler Operator は現在、OpenShift Container Platform 4.20 では使用できません。Operator は近い将来リリースされる予定です。
4.10.3.1. Secondary Scheduler Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールを使用して、Secondary Scheduler Operator for Red Hat OpenShift をインストールできます。
前提条件
-
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform にログインしている。 - OpenShift Container Platform Web コンソールにアクセスできる。
手順
- OpenShift Container Platform Web コンソールにログインします。
Secondary Scheduler Operator for Red Hat OpenShift に必要な namespace を作成します。
-
Administration
Namespaces に移動し、Create Namespace をクリックします。 -
Name フィールドに
openshift-secondary-scheduler-operator
を入力し、Create をクリックします。
-
Administration
Secondary Scheduler Operator for Red Hat OpenShift をインストールします。
-
Ecosystem
Software Catalog に移動します。 - フィルターボックスに Secondary Scheduler Operator for Red Hat OpenShift と入力します。
- Secondary Scheduler Operator for Red Hat OpenShift を選択し、Install をクリックします。
Install Operator ページで以下を行います。
- Update チャネル は stable に設定され、Red Hat OpenShift 用の Secondary Scheduler Operator の最新の安定したリリースをインストールします。
- クラスターで特定の namespace を選択し、ドロップダウンメニューから openshift-secondary-scheduler-operator を選択します。
Update approval strategy を選択します。
- Automatic ストラテジーを使用すると、新しいバージョンが利用可能になったときに、Operator Lifecycle Manager (OLM) によって Operator を自動的に更新できます。
- Manual ストラテジーには、Operator の更新を承認するための適切な認証情報を持つユーザーが必要です。
- Install をクリックします。
-
Ecosystem
検証
-
Ecosystem
Installed Operators に移動します。 - Secondary Scheduler Operator for Red Hat OpenShift がリスト表示され、その Status が Succeeded であることを確認します。
4.10.3.2. セカンダリースケジューラーのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
Secondary Scheduler Operator のインストール後に、セカンダリースケジューラーをデプロイできます。
前提条件
-
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform にログインしている。 - OpenShift Container Platform Web コンソールにアクセスできる。
- Secondary Scheduler Operator for Red Hat OpenShift がインストールされている。
手順
- OpenShift Container Platform Web コンソールにログインします。
セカンダリースケジューラーの設定を保持する設定マップを作成します。
-
Workloads
ConfigMaps に移動します。 - Create ConfigMap をクリックします。
YAML エディターで、必要な
KubeSchedulerConfiguration
設定が含まれる設定マップ定義を入力します。以下に例を示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 設定マップの名前。これは、
SecondaryScheduler
CR の作成時に Scheduler Config フィールドで使用されます。 - 2
- 設定マップは
openshift-secondary-scheduler-operator
namespace に作成される必要があります。 - 3
- セカンダリースケジューラーの
KubeSchedulerConfiguration
リソース。詳細は、Kubernetes API ドキュメントのKubeSchedulerConfiguration
を参照してください。 - 4
- セカンダリースケジューラーの名前。
spec.schedulerName
フィールドをこの値に設定する Pod はこのセカンダリースケジューラーでスケジュールされます。 - 5
- セカンダリースケジューラーに対して有効または無効にするプラグイン。デフォルトのスケジューリングプラグインのリストは、Kubernetes ドキュメントの スケジューリングプラグ インを参照してください。
- Create をクリックします。
-
Workloads
SecondaryScheduler
CR を作成します。-
Ecosystem
Installed Operators に移動します。 - Secondary Scheduler Operator for Red Hat OpenShift を選択します。
- Secondary Scheduler タブを選択し、Create SecondaryScheduler をクリックします。
-
Name フィールドはデフォルトで
cluster
に設定されます。この名前は変更しないでください。 -
Scheduler Config フィールドは
secondary-scheduler-config
にデフォルト設定されます。この値は、この手順で先に作成した設定マップの名前と一致していることを確認してください。 Scheduler Image フィールドにカスタムスケジューラーのイメージ名を入力します。
重要Red Hat では、カスタムのセカンダリースケジューラーの機能を直接サポートしません。
- Create をクリックします。
-
Ecosystem
4.10.3.3. セカンダリースケジューラーを使用した Pod のスケジューリング リンクのコピーリンクがクリップボードにコピーされました!
セカンダリースケジューラーを使用して Pod をスケジュールするには、Pod 定義の schedulerName
フィールドを設定します。
前提条件
-
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform にログインしている。 - OpenShift Container Platform Web コンソールにアクセスできる。
- Secondary Scheduler Operator for Red Hat OpenShift がインストールされている。
- セカンダリースケジューラーが設定されています。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Workloads
Pods に移動します。 - Create Pod をクリックします。
YAML エディターで、必要な Pod 設定を入力し、
schedulerName
フィールドを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
schedulerName
フィールドは、セカンダリースケジューラーの設定時に設定マップで定義される名前と一致する必要があります。
- Create をクリックします。
検証
- OpenShift CLI にログインします。
以下のコマンドを使用して Pod を記述します。
oc describe pod nginx -n default
$ oc describe pod nginx -n default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
イベントテーブルで、
Successfully assigned <namespace>/<pod_name> to <node_name>
のようなメッセージが表示されたイベントを見つけます。 "From" 列で、デフォルトのスケジューラーではなく、イベントがセカンダリースケジューラーから生成されたことを確認します。
注記openshift-secondary-scheduler-namespace
のsecondary-scheduler-*
Pod ログをチェックして、Pod がセカンダリースケジューラーによってスケジュールされていることを確認することもできます。
4.10.4. Secondary Scheduler Operator のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
Secondary Scheduler Operator for Red Hat OpenShift をアンインストールし、関連リソースを削除することで、OpenShift Container Platform から Operator を削除できます。
Secondary Scheduler Operator は現在、OpenShift Container Platform 4.20 では使用できません。Operator は近い将来リリースされる予定です。
4.10.4.1. Secondary Scheduler Operator のアンインストール リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールを使用して、Secondary Scheduler Operator for Red Hat OpenShift をアンインストールできます。
前提条件
-
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform にログインしている。 - OpenShift Container Platform Web コンソールにアクセスできる。
- Secondary Scheduler Operator for Red Hat OpenShift がインストールされている。
手順
- OpenShift Container Platform Web コンソールにログインします。
Secondary Scheduler Operator for Red Hat OpenShift をアンインストールします。
-
Ecosystem
Installed Operators に移動します。 -
セカンダリースケジューラーの Operator エントリーの隣にあるオプションメニュー
をクリックし、Operator のアンインストール をクリックします。
- 確認ダイアログで、Uninstall をクリックします。
-
Ecosystem
4.10.4.2. Secondary Scheduler Operator リソースの削除 リンクのコピーリンクがクリップボードにコピーされました!
必要に応じて、Secondary Scheduler Operator for Red Hat OpenShift をアンインストールした後、クラスターから関連リソースを削除できます。
前提条件
-
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform にログインしている。 - OpenShift Container Platform Web コンソールにアクセスできる。
手順
- OpenShift Container Platform Web コンソールにログインします。
Secondary Scheduler Operator によってインストールされた CRD を削除します。
-
Administration
CustomResourceDefinitions に移動します。 -
Name フィールドに
SecondaryScheduler
を入力して CRD をフィルターします。 -
SecondaryScheduler CRD の横にある Options メニュー
をクリックし、Delete Custom Resource Definition を選択します。
-
Administration
openshift-secondary-scheduler-operator
namespace を削除します。-
Administration
Namespaces に移動します。 -
openshift-secondary-scheduler-operator の横にあるオプションメニュー
をクリックし、namespace の削除 を選択します。
-
確認ダイアログで、フィールドに
openshift-secondary-scheduler-operator
を入力し、Delete をクリックします。
-
Administration