6.4. 将 worker 节点添加到内部集群中
您可以使用 OpenShift CLI (oc)将 worker 节点添加到内部集群,以生成 ISO 镜像,然后可用于引导目标集群中的一个或多个节点。无论如何安装集群,都可以使用此过程。
您可以在使用更复杂的配置(如静态网络配置)自定义每个节点时添加一个或多个节点,或者只能指定每个节点的 MAC 地址。任何在 ISO 生成期间未指定的配置都会从目标集群检索并应用到新节点。
在节点成功添加到集群中后,Machine 或 BareMetalHost 资源不会被自动创建。
在引导 ISO 镜像时也会执行 preflight 验证检查,以便在尝试引导每个节点前通知会导致失败的问题。
- 支持的平台
以下平台支持使用此方法添加节点:
-
baremetal -
vsphere -
nutanix -
none
-
- 支持的构架
在使用此过程添加 worker 节点时,以下架构组合已被验证为可以正常工作:
-
amd64或arm64集群中的amd64worker 节点 -
amd64或arm64集群上的arm64worker 节点 -
s390x集群中的s390xworker 节点 -
ppc64le集群上的ppc64leworker 节点
-
- 在集群中添加节点
您可以使用以下两种方式添加节点:
使用配置文件添加一个或多个节点。
在运行
oc adm node-image create命令前,您可以在nodes-config.yaml文件中指定一个或多个节点的配置。如果您要一次添加多个节点,或者指定了复杂的配置,这非常有用。仅使用命令标志添加单一节点。
您可以通过运行
oc adm node-image create命令添加节点,并使用标志来指定您的配置。如果您只想一次添加单个节点,且只有一个简单的配置来为该节点指定,这非常有用。
6.4.1. 使用配置文件添加一个或多个节点 复制链接链接已复制到粘贴板!
您可以使用 nodes-config.yaml 文件在集群中添加一个或多个节点,以指定新节点的配置。
先决条件
-
已安装 OpenShift CLI (
oc) - 已安装 Rsync 工具
- 您有一个与目标集群的活动连接
- 您有一个 kubeconfig 文件可用
流程
创建一个新的 YAML 文件,其中包含您要添加的节点的配置,并命名为
nodes-config.yaml。您必须为每个新节点提供 MAC 地址。在以下示例中,使用初始静态网络配置描述了两个新 worker:
nodes-config.yaml文件示例hosts: - hostname: extra-worker-1 rootDeviceHints: deviceName: /dev/sda interfaces: - macAddress: 00:00:00:00:00:00 name: eth0 networkConfig: interfaces: - name: eth0 type: ethernet state: up mac-address: 00:00:00:00:00:00 ipv4: enabled: true address: - ip: 192.168.122.2 prefix-length: 23 dhcp: false - hostname: extra-worker-2 rootDeviceHints: deviceName: /dev/sda interfaces: - macAddress: 00:00:00:00:00:02 name: eth0 networkConfig: interfaces: - name: eth0 type: ethernet state: up mac-address: 00:00:00:00:00:02 ipv4: enabled: true address: - ip: 192.168.122.3 prefix-length: 23 dhcp: false运行以下命令来生成 ISO 镜像:
$ oc adm node-image create重要要让
create命令获取与目标集群版本匹配的发行镜像,您必须指定一个有效的 pull secret。您可以使用-registry-config标志或预先设置REGISTRY_AUTH_FILE环境变量来指定 pull secret。注意如果没有使用
--dir标志指定nodes-config.yaml文件的目录,该工具会在当前目录中查找该文件。-
验证 asset 目录中是否存在一个新的
node.<arch>.iso文件。资产目录是您的当前目录,除非您在创建 ISO 镜像时指定了不同的目录。 - 使用生成的 ISO 镜像引导所选节点。
运行以下命令跟踪节点创建的进度:
$ oc adm node-image monitor --ip-addresses <ip_addresses>其中:
<ip_addresses>指定要添加的节点的 IP 地址列表。
注意如果您的节点没有反向 DNS 条目,
oc adm node-image monitor命令会跳过检查待处理的证书签名请求 (CSR)。如果跳过这些检查,则必须通过运行oc get csr命令手动检查 CSR。
为每个 CSR 运行以下命令批准 CSR:
$ oc adm certificate approve <csr_name>