4.9. 修改主机

添加主机后,根据需要修改主机。最常见的修改是 host_namehost_role 参数。

您可以使用 /v2/infra-envs/{infra_env_id}/hosts/{host_id} 端点修改主机。如需了解在修改主机时您可以设置的字段的详情,请参阅 API viewer 中的 host-update-params 模型。

主机可能是两个角色之一:

  • master: 带有 master 角色的一个主机,作为控制平面(control plane)主机。
  • worker: 带有 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'
  3. 对于使用 z/VM 的 IBM Z (s390x)安装,需要额外的内核参数。

    1. 要检索匹配节点的 hostID,请运行以下命令:

      curl https://api.openshift.com/api/assisted-install/v2/infra-envs/$INFRA_ENV_ID/hosts -H "Authorization: Bearer ${API_TOKEN}" | jq '.[]|[.id,.requested_hostname] | join("|")'
    2. 要指定所需的内核参数,请运行以下命令:

      curl https://api.stage.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/hosts/$1/installer-args \
      -X PATCH \
      -H "Authorization: Bearer ${API_TOKEN}" \
      -H "Content-Type: application/json" \
      -d '
      {
      "args": [
      "--append-karg", "rd.neednet=1",
      "--append-karg", "ip=10.14.6.3::10.14.6.1:255.255.255.0:master-0.boea3e06.lnxero1.boe:encbdd0:none",
      "--append-karg", "nameserver=10.14.6.1",
      "--append-karg", "ip=[fd00::3]::[fd00::1]:64::encbdd0:none",
      "--append-karg", "nameserver=[fd00::1]",
      "--append-karg", "zfcp.allow_lun_scan=0",
      "--append-karg", "rd.znet=qeth,0.0.bdd0,0.0.bdd1,0.0.bdd2,layer2=1",
      "--append-karg", "rd.dasd=0.0.5235"
      ]
      }
      ' | jq
      注意

      每个主机可能具有特定的内核参数。

      输出示例

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

  4. 修改主机:

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