6.16. 使用静态 IP 地址进行机器扩展
在将集群部署到使用静态 IP 地址运行节点后,您可以扩展机器实例或机器集以使用这些静态 IP 地址之一。
6.16.1. 扩展机器以使用静态 IP 地址
您可以扩展额外的机器集,以使用集群中的预定义静态 IP 地址。对于此配置,您需要创建机器资源 YAML 文件,然后在此文件中定义静态 IP 地址。
先决条件
- 您已部署了至少一个具有配置静态 IP 地址的节点运行的集群。
流程
- 创建机器资源 YAML 文件,并在 - network参数中定义静态 IP 地址网络信息。- 使用 - network参数中定义的静态 IP 地址信息的机器资源 YAML 文件示例。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- 网络接口默认网关的 IP 地址。
- 2
- 列出安装程序传递给网络接口的 IPv4、IPv6 或两个 IP 地址。两个 IP 系列都必须为默认网络使用相同的网络接口。
- 3
- 列出 DNS 名称服务器。您可以定义最多 3 个 DNS 名称服务器。如果一个 DNS 名称服务器变得不可访问,请考虑定义多个 DNS 名称服务器以利用 DNS 解析。- 在终端中输入以下命令来创建 - machine自定义资源(CR):- oc create -f <file_name>.yaml - $ oc create -f <file_name>.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
 
6.16.2. 使用配置的静态 IP 地址的机器设置扩展
您可以使用机器集来扩展带有配置的静态 IP 地址的机器。
					在将机器集配置为为机器请求静态 IP 地址后,机器控制器会在 openshift-machine-api 命名空间中创建 IPAddressClaim 资源。然后,外部控制器会创建一个 IPAddress 资源,并将任何静态 IP 地址绑定到 IPAddressClaim 资源。
				
						您的组织可能会使用许多类型的 IP 地址管理(IPAM)服务。如果要在 OpenShift Container Platform 上启用特定的 IPAM 服务,您可能需要在 YAML 定义中手动创建 IPAddressClaim 资源,然后在 oc CLI 中输入以下命令来将静态 IP 地址绑定到这个资源:
					
oc create -f <ipaddressclaim_filename>
$ oc create -f <ipaddressclaim_filename>
					以下示例演示了 IPAddressClaim 资源的示例:
				
					机器控制器更新状态为 IPAddressClaimed 的机器,以指示静态 IP 地址被成功绑定到 IPAddressClaim 资源。机器控制器将相同的状态应用到具有多个 IPAddressClaim 资源的机器,每个都包含一个绑定静态 IP 地址。机器控制器会创建一个虚拟机,并将静态 IP 地址应用到机器配置的 providerSpec 中列出的任何节点。
				
6.16.3. 使用机器集扩展带有配置的静态 IP 地址的机器
您可以使用机器集来扩展带有配置的静态 IP 地址的机器。
该流程中的示例演示了使用控制器在机器集中扩展机器。
先决条件
- 您已部署了至少一个具有配置静态 IP 地址的节点运行的集群。
流程
- 通过在机器集的 YAML 文件的 - network.devices.addressesFromPoolsschema 中指定 IP 池信息来配置机器集:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在 - ocCLI 中输入以下命令来扩展机器集:- oc scale --replicas=2 machineset <machineset> -n openshift-machine-api - $ oc scale --replicas=2 machineset <machineset> -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 或者: - oc edit machineset <machineset> -n openshift-machine-api - $ oc edit machineset <machineset> -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 扩展每台机器后,机器控制器会创建一个 - IPAddressClaim资源。
- 可选:输入以下命令检查 - openshift-machine-api命名空间中是否存在- IPAddressClaim资源:- oc get ipaddressclaims.ipam.cluster.x-k8s.io -n openshift-machine-api - $ oc get ipaddressclaims.ipam.cluster.x-k8s.io -n openshift-machine-api- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 列出 - openshift-machine-api命名空间中列出两个 IP 池的- ocCLI 输出示例- NAME POOL NAME POOL KIND cluster-dev-9n5wg-worker-0-m7529-claim-0-0 static-ci-pool IPPool cluster-dev-9n5wg-worker-0-wdqkt-claim-0-0 static-ci-pool IPPool - NAME POOL NAME POOL KIND cluster-dev-9n5wg-worker-0-m7529-claim-0-0 static-ci-pool IPPool cluster-dev-9n5wg-worker-0-wdqkt-claim-0-0 static-ci-pool IPPool- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 输入以下命令来创建 - IPAddress资源:- oc create -f ipaddress.yaml - $ oc create -f ipaddress.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下示例显示了带有定义网络配置信息的 - IPAddress资源,以及一个定义的静态 IP 地址:- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 默认情况下,外部控制器会自动扫描机器集中的任何资源,以了解可识别的地址池类型。当外部控制器找到 - IPAddress资源中定义的- kind: IPPool时,控制器会将任何静态 IP 地址绑定到- IPAddressClaim资源。
- 使用对 - IPAddress资源的引用更新- IPAddressClaim状态:- oc --type=merge patch IPAddressClaim cluster-dev-9n5wg-worker-0-m7529-claim-0-0 -p='{"status":{"addressRef": {"name": "cluster-dev-9n5wg-worker-0-m7529-ipaddress-0-0"}}}' -n openshift-machine-api --subresource=status- $ oc --type=merge patch IPAddressClaim cluster-dev-9n5wg-worker-0-m7529-claim-0-0 -p='{"status":{"addressRef": {"name": "cluster-dev-9n5wg-worker-0-m7529-ipaddress-0-0"}}}' -n openshift-machine-api --subresource=status- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow