第 11 章 在 IBM Cloud 上部署安装程序置备的集群
11.1. 先决条件
您可以使用安装程序置备的安装在 IBM Cloud® 节点上安装 OpenShift Container Platform。本文档描述了在 IBM Cloud 节点上安装 OpenShift Container Platform 时的先决条件和步骤。
红帽支持 provisioning
网络上的 IPMI 和 PXE。红帽尚未测试 Red Hat Fish、虚拟介质或其他补充技术,如 IBM 云部署的安全引导。provisioning
网络是必需的。
OpenShift Container Platform 安装程序置备的安装需要:
- 安装了 Red Hat Enterprise Linux CoreOS (RHCOS) 8.x 的一个置备程序节点
- 三个 control plane 节点
- 一个可路由的网络
- 一个用于置备节点的网络
在 IBM Cloud 上启动 OpenShift Container Platform 安装程序置备安装前,请满足以下前提条件和要求。
11.1.1. 设置 IBM Cloud Infrastructure
要在 IBM Cloud® 上部署 OpenShift Container Platform 集群,您必须首先置备 IBM Cloud 节点。
红帽支持 provisioning
网络上的 IPMI 和 PXE。红帽尚未测试 Red Hat Fish、虚拟介质或其他补充技术,如 IBM 云部署的安全引导。provisioning
网络是必需的。
您可以使用 IBM Cloud API 自定义 IBM Cloud 节点。在创建 IBM Cloud 节点时,您必须考虑以下要求:
每个集群使用一个数据中心
OpenShift Container Platform 集群中的所有节点必须在同一 IBM Cloud 数据中心中运行。
创建公共和私有 VLAN
创建具有单个公共 VLAN 和单个私有 VLAN 的所有节点。
确定子网有足够的 IP 地址
IBM Cloud public VLAN 子网默认使用一个 /28
前缀,该前缀提供 16 个 IP 地址。这足以一个包含三个 control plane 节点、四个 worker 节点以及两个用于 baremetal
网络上的 API VIP 和 Ingress VIP 的集群。对于较大的集群,可能需要一个较小的前缀。
IBM Cloud 私有 VLAN 子网默认使用一个 /26
前缀,该前缀提供 64 个 IP 地址。IBM Cloud 将使用专用网络 IP 地址来访问每个节点的基板管理控制器(BMC)。OpenShift Container Platform 为 provisioning
网络创建一个额外的子网。用于 provisioning
网络子网路由的网络流量,通过专用 VLAN 进行路由。对于较大的集群,可能需要一个较小的前缀。
IP 地址 | prefix |
---|---|
32 |
|
64 |
|
128 |
|
256 |
|
配置 NIC
OpenShift Container Platform 使用两个网络部署:
-
provisioning
:provisioning
网络是一个不可路由的网络,用于在作为 OpenShift Container Platform 集群一部分的每个节点上置备底层操作系统。 -
baremetal
:baremetal
网络是一个可路由的网络。您可以使用任何 NIC 顺序与baremetal
网络进行接口,只要它不是provisioningNetworkInterface
配置设置中指定的 NIC,或者 NIC 关联到用于provisioning
网络的节点的bootMACAddress
配置设置。
虽然集群节点可以包含多于 2 个 NIC,但安装过程只关注于前两个 NIC:例如:
NIC | 网络 | VLAN |
---|---|---|
NIC1 |
| <provisioning_vlan> |
NIC2 |
| <baremetal_vlan> |
在上例中,所有 control plane 和 worker 节点上的 NIC1 连接到仅用于安装 OpenShift Container Platform 集群的不可路由网络(provisioning
)。所有 control plane 和 worker 节点上的 NIC2 连接到 routable baremetal
网络。
PXE | 引导顺序 |
---|---|
NIC1 PXE-enabled | 1 |
NIC2 | 2 |
确保用于 provisioning
网络的 NIC 上启用了 PXE,并在所有其他 NIC 上禁用。
配置规范名称
客户端通过 baremetal
网络访问 OpenShift Container Platform 集群节点。配置 IBM Cloud 子域或子区,其中规范名称扩展是集群名称。
<cluster_name>.<domain>
例如:
test-cluster.example.com
创建 DNS 条目
您必须为以下内容创建 DNS A
记录条目,解析为公共子网中未使用的 IP 地址:
用法 | 主机名 | IP |
---|---|---|
API | api.<cluster_name>.<domain> | <ip> |
Ingress LB(apps) | *.apps.<cluster_name>.<domain> | <ip> |
在置备后,control plane 和 worker 节点已经有 DNS 条目。
下表提供了完全限定域名的示例。API 和 Nameserver 地址以规范名称扩展开头。control plane 和 worker 节点的主机名是示例,您可以使用您喜欢的任何主机命名约定。
用法 | 主机名 | IP |
---|---|---|
API | api.<cluster_name>.<domain> | <ip> |
Ingress LB(apps) | *.apps.<cluster_name>.<domain> | <ip> |
provisioner 节点 | provisioner.<cluster_name>.<domain> | <ip> |
Master-0 | openshift-master-0.<cluster_name>.<domain> | <ip> |
Master-1 | openshift-master-1.<cluster_name>.<domain> | <ip> |
Master-2 | openshift-master-2.<cluster_name>.<domain> | <ip> |
Worker-0 | openshift-worker-0.<cluster_name>.<domain> | <ip> |
Worker-1 | openshift-worker-1.<cluster_name>.<domain> | <ip> |
Worker-n | openshift-worker-n.<cluster_name>.<domain> | <ip> |
OpenShift Container Platform 包含使用集群成员资格信息来生成 A
记录的功能。这会将节点名称解析为其 IP 地址。使用 API 注册节点后,集群可以在不使用 CoreDNS-mDNS 的情况下分散节点信息。这可消除与多播 DNS 关联的网络流量。
置备 IBM Cloud 节点后,您必须为外部 DNS 上的 api.<cluster_name>.<domain>
域名创建一个 DNS 条目,因为删除 CoreDNS 会导致本地条目消失。未能在外部 DNS 服务器中为 api.<cluster_name>.<domain>
域名创建 DNS 记录会阻止 worker 节点加入集群。
网络时间协议(NTP)
集群中的每个 OpenShift Container Platform 节点都必须有权访问 NTP 服务器。OpenShift Container Platform 节点使用 NTP 来同步其时钟。例如,集群节点使用需要验证的 SSL 证书,如果节点之间的日期和时间未同步,则可能会失败。
在每个群集节点的 BIOS 设置中定义一致的时钟日期和时间格式,或者安装可能会失败。
配置 DHCP 服务器
IBM Cloud 不在公共或私有 VLAN 上运行 DHCP。在置备 IBM Cloud 节点后,您必须为公共 VLAN 设置 DHCP 服务器,这与 OpenShift Container Platform 的 baremetal
网络对应。
分配给每个节点的 IP 地址不需要与 IBM Cloud provisioning 系统分配的 IP 地址匹配。
详情请参阅"配置公共子网"部分。
确保 BMC 访问权限
仪表板上每个节点的"远程管理"页面包含节点的智能平台管理接口(IPMI)凭证。默认 IPMI 特权阻止用户进行某些引导目标更改。您必须将特权级别更改为 OPERATOR
,以便 Ironic 能够进行这些更改。
在 install-config.yaml
文件中,将 privilegelevel
参数添加到用于配置每个 BMC 的 URL 中。如需了解更多详细信息,请参阅"配置 install-config.yaml 文件"部分。例如:
ipmi://<IP>:<port>?privilegelevel=OPERATOR
或者,联系 IBM 云支持并请求它们将 IPMI 权限增加到 ADMINISTRATOR
。
创建裸机服务器
进入 Create resource
或者,您可以使用 ibmcloud
CLI 实用程序创建裸机服务器。例如:
$ ibmcloud sl hardware create --hostname <SERVERNAME> \ --domain <DOMAIN> \ --size <SIZE> \ --os <OS-TYPE> \ --datacenter <DC-NAME> \ --port-speed <SPEED> \ --billing <BILLING>
有关装 IBM Cloud CLI 的详情,请参阅安装独立 IBM Cloud CLI。
IBM 云服务器可能需要 3-5 个小时才能使用。