Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

16.4.3. カスタムスケジューラーを使用した Pod のデプロイ

カスタムスケジューラーをクラスターにデプロイした後、デフォルトのスケジューラーではなくそのスケジューラーを使用するように Pod を設定できます。

  1. Pod 設定を作成するか、または編集し、schedulerName パラメーターでスケジューラーの名前を指定します。名前は一意である必要があります。

    スケジューラーを含む Pod 仕様のサンプル

    apiVersion: v1
    kind: Pod
    metadata:
      name: custom-scheduler-example
      labels:
        name: custom-scheduler-example
    spec:
      schedulerName: custom-scheduler 1
      containers:
      - name: pod-with-second-annotation-container
        image: docker.io/ocpqe/hello-pod

    1
    使用するスケジューラーの名前です。スケジューラー名が指定されていない場合、Pod はデフォルトのスケジューラーを使用して自動的にスケジュールされます。
  2. 以下のコマンドを実行して Pod を作成します。

    $ oc create -f <file-name>.yaml

    以下に例を示します。

    $ oc create -f custom-scheduler-example.yaml
  3. 以下のコマンドを実行して、Pod が作成されていることを確認します。

    $ oc get pod <file-name>

    以下に例を示します。

    $ oc get pod custom-scheduler-example
    
    NAME                       READY     STATUS    RESTARTS   AGE
    custom-scheduler-example   1/1       Running   0          4m
  4. 以下のコマンドを実行して、カスタムスケジューラーが Pod をスケジュールしていることを確認します。

    $ oc describe pod <pod-name>

    以下に例を示します。

    $ oc describe pod custom-scheduler-example

    以下の切り捨てられた出力に示されるように、スケジューラーの名前が一覧表示されます。

    ...
    
    Events:
      FirstSeen  LastSeen  Count  From                SubObjectPath  Type       Reason Message
      ---------  --------  -----  ----                -------------  --------   ------ -------
      1m         1m        1      custom-scheduler    Normal         Scheduled  Successfully assigned custom-scheduler to <$node1>
    
    ...