12.2. 安装多架构集群
具有 x86_64 control plane 的集群可以支持有两个不同 CPU 架构的 worker 节点。混合架构集群结合了每个架构的优势,并支持各种工作负载。
例如,您可以使用 x86_64 将 arm64、IBM Power® 或 IBM Z® worker 节点添加到现有 OpenShift Container Platform 集群中。
安装的主要步骤如下:
- 创建并注册多架构集群。
- 创建 x86_64 基础架构环境,下载 x86_64 的 ISO 发现镜像,并添加 control plane。control plane 必须有 x86_64 架构。
- 创建 arm64、IBM Power® 或 IBM Z® 基础架构环境,下载 arm64、IBM Power® 或 IBM Z® 的 ISO 发现镜像,并添加 worker 节点。
支持的平台
下表列出了支持每个 OpenShift Container Platform 版本混合架构集群的平台。对您安装的版本使用合适的平台。
OpenShift Container Platform 版本 | 支持的平台 | 第 1 天控制平面架构 | 第 2 天节点架构 |
---|---|---|---|
4.12.0 |
|
|
|
4.13.0 |
|
|
|
4.14.0 |
|
|
|
红帽产品服务等级协议(SLA)不支持技术预览(TP)功能,可能无法正常工作。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
主要步骤
- 启动使用 API 安装 OpenShift Container Platform 的流程。详情请参阅 其它资源 部分中的 使用辅助安装程序 API 安装。
当您到达安装的"注册新集群"步骤时,将集群注册为多架构集群:
$ curl -s -X POST https://api.openshift.com/api/assisted-install/v2/clusters \ -H "Authorization: Bearer ${API_TOKEN}" \ -H "Content-Type: application/json" \ -d "$(jq --null-input \ --slurpfile pull_secret ~/Downloads/pull-secret.txt ' { "name": "testcluster", "openshift_version": "<version-number>-multi", 1 "cpu_architecture" : "multi" 2 "high_availability_mode": "full" 3 "base_dns_domain": "example.com", "pull_secret": $pull_secret[0] | tojson } ')" | jq '.id'
注意当您到达安装的"注册一个新的基础架构环境"步骤时,将
cpu_architecture
设置为 x86_64:$ curl https://api.openshift.com/api/assisted-install/v2/infra-envs \ -H "Authorization: Bearer ${API_TOKEN}" \ -H "Content-Type: application/json" \ -d "$(jq --null-input \ --slurpfile pull_secret ~/Downloads/pull-secret.txt \ --arg cluster_id ${CLUSTER_ID} ' { "name": "testcluster-infra-env", "image_type":"full-iso", "cluster_id": $cluster_id, "cpu_architecture" : "x86_64" "pull_secret": $pull_secret[0] | tojson } ')" | jq '.id'
当您到达安装的"Adding hosts"步骤时,将
host_role
设置为master
:注意如需更多信息,请参阅 其它资源 中的 将角色分配给主机。
$ 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":"master" } ' | jq
- 下载 x86_64 架构的发现镜像。
- 使用生成的发现镜像引导 x86_64 架构主机。
- 开始安装,并等待集群完全安装好。
重复安装的"Registering a new infrastructure environment"步骤。这一次,将
cpu_architecture
设置为以下之一:ppc64le
(用于 IBM Power7)、s390x
(用于 IBM Z®)或arm64
。例如:$ curl -s -X POST https://api.openshift.com/api/assisted-install/v2/clusters \ -H "Authorization: Bearer ${API_TOKEN}" \ -H "Content-Type: application/json" \ -d "$(jq --null-input \ --slurpfile pull_secret ~/Downloads/pull-secret.txt ' { "name": "testcluster", "openshift_version": "4.12", "cpu_architecture" : "arm64" "high_availability_mode": "full" "base_dns_domain": "example.com", "pull_secret": $pull_secret[0] | tojson } ')" | jq '.id'
重复安装的"Adding hosts"步骤。这次,将
host_role
设置为worker
:注意如需了解更多详细信息,请参阅 其它资源 中的 将角色分配给主机。
$ 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
- 下载 arm64、ppc64le 或 s390x 架构的发现镜像。
- 使用生成的发现镜像引导架构主机。
- 开始安装,并等待集群完全安装好。
验证
运行以下命令,查看集群中的 arm64、ppc64le 或 s390x worker 节点:
$ oc get nodes -o wide