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フィールドを追加します。apiVersion: v1 kind: Pod metadata: name: nginx namespace: default spec: securityContext: runAsNonRoot: true seccompProfile: type: RuntimeDefault containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80 securityContext: allowPrivilegeEscalation: false capabilities: drop: [ALL] schedulerName: secondary-schedulerspec.schedulerNameフィールドは、セカンダリースケジューラーを設定した際に config map で定義された名前と一致している必要があります。- Create をクリックします。
検証
- OpenShift CLI にログインします。
以下のコマンドを使用して Pod を記述します。
$ oc describe pod nginx -n default出力例
Name: nginx Namespace: default Priority: 0 Node: ci-ln-t0w4r1k-72292-xkqs4-worker-b-xqkxp/10.0.128.3 ... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Scheduled 12s secondary-scheduler Successfully assigned default/nginx to ci-ln-t0w4r1k-72292-xkqs4-worker-b-xqkxp ...-
イベントテーブルで、
Successfully assigned <namespace>/<pod_name> to <node_name>のようなメッセージが表示されたイベントを見つけます。 "From" 列で、デフォルトのスケジューラーではなく、イベントがセカンダリースケジューラーから生成されたことを確認します。
注記openshift-secondary-scheduler-namespaceのsecondary-scheduler-*Pod ログをチェックして、Pod がセカンダリースケジューラーによってスケジュールされていることを確認することもできます。