9.2. API を使用してロールを選択する

/v2/infra-envs/{infra_env_id}/hosts/{host_id} エンドポイントを使用して、ホストのロールを選択できます。ホストは、次の 2 つのロールのいずれかになります。

  • master: マスター ロールを持つホストは、コントロールプレーンホストとして動作します。
  • worker: worker ロールを持つホストは、ワーカーホストとして動作します。

デフォルトでは、支援付きインストーラーはホストを auto-assign に設定します。これは、ホストが master ロールか worker ロールかをインストーラが自動的に判断することを意味します。この手順を使用して、ホストのロールを設定します。

前提条件

  • ホストをクラスターに追加した。

手順

  1. API トークンを更新します。

    $ source refresh-token
  2. ホスト ID を取得します。

    $ curl -s -X GET "https://api.openshift.com/api/assisted-install/v2/clusters/$CLUSTER_ID" \
    --header "Content-Type: application/json" \
      -H "Authorization: Bearer $API_TOKEN" \
    | jq '.host_networks[].host_ids'

    出力例

    [
      "1062663e-7989-8b2d-7fbb-e6f4d5bb28e5"
    ]

  3. host_role 設定を変更します。

    $ curl https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/hosts/<host_id> \
    -X PATCH \
    -H "Authorization: Bearer ${API_TOKEN}" \
    -H "Content-Type: application/json" \
    -d '
        {
          "host_role":"worker"
        }
    ' | jq

    <host_id> をホストの ID に置き換えます。