第 1 章 先决条件
您可以使用安装程序置备的安装在 IBM Cloud® Bare Metal (Classic) 节点上安装 OpenShift Container Platform。本文档描述了在 IBM Cloud® 节点上安装 OpenShift Container Platform 时的先决条件和步骤。
红帽仅在置备网络上支持 IPMI 和 PXE。红帽尚未测试 Red Hat Fish、虚拟介质或其他补充技术,如 IBM Cloud® 部署的安全引导。需要 provisioning 网络。
OpenShift Container Platform 安装程序置备的安装需要:
- 安装了 Red Hat Enterprise Linux CoreOS (RHCOS) 8.x 的一个节点,用于运行置备程序
- 三个 control plane 节点
- 一个可路由的网络
- 一个 provisioning 网络
在 IBM Cloud® Bare Metal (Classic) 上启动 OpenShift Container Platform 安装程序置备的安装前,需要满足以下先决条件和要求。
1.1. 设置 IBM Cloud Bare Metal (Classic) 基础架构
要在 IBM Cloud® Bare Metal (Classic) 基础架构上部署 OpenShift Container Platform 集群,您必须首先置备 IBM Cloud® 节点。
红帽支持 provisioning
网络上的 IPMI 和 PXE。红帽尚未测试 Red Hat Fish、虚拟介质或其他补充技术,如 IBM Cloud® 部署的安全引导。provisioning
网络是必需的。
您可以使用 IBM Cloud® API 自定义 IBM Cloud® 节点。在创建 IBM Cloud® 节点时,您必须考虑以下要求:
每个集群使用一个数据中心
OpenShift Container Platform 集群中的所有节点都必须在同一 IBM Cloud® 数据中心中运行。
创建公共和私有 VLAN
创建具有单个公共 VLAN 和单个私有 VLAN 的所有节点。
确定子网有足够的 IP 地址
IBM Cloud® 公共 VLAN 子网默认使用一个 /28
前缀,该前缀提供 16 个 IP 地址。这足以一个包含三个 control plane 节点、四个 worker 节点以及两个用于 baremetal
网络上的 API VIP 和 Ingress VIP 的集群。对于较大的集群,可能需要一个较小的前缀。
IBM Cloud® 私有 VLAN 子网默认使用 /26
前缀,该前缀提供 64 个 IP 地址。IBM Cloud® Bare Metal (Classic) 使用专用网络 IP 地址访问每个节点的 Baseboard Management Controller (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® Bare Metal (Classic) 不会在公共或私有 VLAN 上运行 DHCP。在置备 IBM Cloud® 节点后,您必须为公共 VLAN 设置 DHCP 服务器,这与 OpenShift Container Platform 的 baremetal
网络对应。
分配给每个节点的 IP 地址不需要与 IBM Cloud® Bare Metal (Classic) 置备系统分配的 IP 地址匹配。
详情请参阅"配置公共子网"部分。
确保 BMC 访问权限
仪表板上每个节点的"远程管理"页面包含节点的智能平台管理接口(IPMI)凭证。默认 IPMI 特权阻止用户进行某些引导目标更改。您必须将特权级别更改为 OPERATOR
,以便 Ironic 能够进行这些更改。
在 install-config.yaml
文件中,将 privilegelevel
参数添加到用于配置每个 BMC 的 URL 中。如需了解更多详细信息,请参阅"配置 install-config.yaml 文件"部分。例如:
ipmi://<IP>:<port>?privilegelevel=OPERATOR
或者,联系 IBM Cloud® 支持并请求它们将 IPMI 权限增加到 ADMINISTRATOR
。
创建裸机服务器
在 IBM Cloud® dashboard 中,进入到 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 Cloud® 服务器可能需要 3-5 小时才能使用。