4.10. 修改主机
添加主机后,根据需要修改主机。最常见的修改是 host_name
和 host_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
角色。使用以下流程设置主机的角色:
先决条件
- 您已将主机添加到集群中。
流程
刷新 API 令牌:
$ source refresh-token
获取主机 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'
修改主机:
$ 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。
4.10.1. 修改存储磁盘配置
主机发现期间检索到的每个主机都可能有多个存储磁盘。您可以选择修改每个磁盘的默认配置。
从 OpenShift Container Platform 4.16 开始,您可以使用 Assisted Installer 在单一 iSCSI 引导设备上安装集群。虽然 OpenShift Container Platform 还支持 iSCSI 的多路径,但此功能目前不适用于辅助安装程序部署。
先决条件
- 配置集群并发现主机。详情请查看 其它资源。
查看存储磁盘
您可以查看集群中的主机,以及每个主机上的磁盘。这可让您对特定磁盘执行操作。
流程
刷新 API 令牌:
$ source refresh-token
获取集群的主机 ID:
$ curl -s "https://api.openshift.com/api/assisted-install/v2/clusters/$CLUSTER_ID" \ -H "Authorization: Bearer $API_TOKEN" \ | jq '.host_networks[].host_ids'
输出示例
$ "1022623e-7689-8b2d-7fbd-e6f4d5bb28e5"
注意这是单个主机的 ID。多个主机 ID 用逗号分开。
获取特定主机的磁盘:
$ curl https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/hosts/<host_id> \ 1 -H "Authorization: Bearer ${API_TOKEN}" \ | jq '.inventory | fromjson | .disks'
- 1
- 将
<host_id>
替换为相关主机的 ID。
输出示例
$ [ { "by_id": "/dev/disk/by-id/wwn-0x6c81f660f98afb002d3adc1a1460a506", "by_path": "/dev/disk/by-path/pci-0000:03:00.0-scsi-0:2:0:0", "drive_type": "HDD", "has_uuid": true, "hctl": "1:2:0:0", "id": "/dev/disk/by-id/wwn-0x6c81f660f98afb002d3adc1a1460a506", "installation_eligibility": { "eligible": true, "not_eligible_reasons": null }, "model": "PERC_H710P", "name": "sda", "path": "/dev/sda", "serial": "0006a560141adc3a2d00fb8af960f681", "size_bytes": 6595056500736, "vendor": "DELL", "wwn": "0x6c81f660f98afb002d3adc1a1460a506" } ]
注意这是一个磁盘的输出。它包含磁盘的
disk_id
和installation_eligibility
属性。
更改安装磁盘
辅助安装程序默认随机分配一个安装磁盘。如果主机有多个存储磁盘,您可以选择一个不同的磁盘作为安装磁盘。这会自动取消之前磁盘的分配。
您可以选择任何其 installation_eligibility
属性为 eligible: true
的磁盘为安装磁盘。
Red Hat Enterprise Linux CoreOS (RHCOS)支持主磁盘上的光纤通道进行多路径,允许对硬件故障进行更强大的弹性,以实现更高的主机可用性。在代理 ISO 镜像中默认启用多路径,带有 /etc/multipath.conf
配置。详情请查看 DM 多路径配置文件。
流程
- 获取主机和存储磁盘 ID。详情请参阅 查看存储磁盘。
可选:识别当前安装磁盘:
$ curl https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/hosts/<host_id> \ 1 -H "Authorization: Bearer ${API_TOKEN}" \ | jq '.installation_disk_id'
- 1
- 将
<host_id>
替换为相关主机的 ID。
分配一个新的安装磁盘:
注意多路径设备会自动发现并列在主机的清单中。要将多路径光纤通道磁盘指定为安装磁盘,请选择
"drive_type"
设置为"Multipath"
的磁盘,而不是"FC"
,表示单个路径。$ curl https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/hosts/<host_id> \ 1 -X PATCH \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ { "disks_selected_config": [ { "id": "<disk_id>", 2 "role": "install" } ] }
禁用磁盘格式化
辅助安装程序在安装过程中默认将所有可引导磁盘标记为进行格式化,无论它们是否已被定义为安装磁盘。格式化会导致数据丢失。
您可以选择禁用特定磁盘的格式化。这应该谨慎执行,因为可引导磁盘可能会干扰安装过程,主要在引导顺序方面。
您无法禁用对安装磁盘的格式化。
流程
- 获取主机和存储磁盘 ID。详情请参阅 查看存储磁盘。
运行以下命令:
$ curl https://api.openshift.com/api/assisted-install/v2/infra-envs/${INFRA_ENV_ID}/hosts/<host_id> \ 1 -X PATCH \ -H "Content-Type: application/json" \ -H "Authorization: Bearer ${API_TOKEN}" \ { "disks_skip_formatting": [ { "disk_id": "<disk_id>", 2 "skip_formatting": true 3 } ] }
注意