7.16. 使用静态 IP 地址进行机器扩展
在将集群部署到使用静态 IP 地址运行节点后,您可以扩展机器实例或机器集以使用这些静态 IP 地址之一。
7.16.1. 扩展机器以使用静态 IP 地址 复制链接链接已复制到粘贴板!
您可以扩展额外的机器集,以使用集群中的预定义静态 IP 地址。对于此配置,您需要创建机器资源 YAML 文件,然后在此文件中定义静态 IP 地址。
vSphere 节点的静态 IP 地址只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
先决条件
-
您在
install-config.yaml
文件中包括featureSet:TechPreviewNoUpgrade
作为初始条目。 - 您已部署了至少一个具有配置静态 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
7.16.2. 使用配置的静态 IP 地址的机器设置扩展 复制链接链接已复制到粘贴板!
您可以使用机器集来扩展带有配置的静态 IP 地址的机器。
vSphere 节点的静态 IP 地址只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
在将机器集配置为为机器请求静态 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
中列出的任何节点。
7.16.3. 使用机器集扩展带有配置的静态 IP 地址的机器 复制链接链接已复制到粘贴板!
您可以使用机器集来扩展带有配置的静态 IP 地址的机器。
vSphere 节点的静态 IP 地址只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
该流程中的示例演示了使用控制器在机器集中扩展机器。
先决条件
-
您在
install-config.yaml
文件中包括featureSet:TechPreviewNoUpgrade
作为初始条目。 - 您已部署了至少一个具有配置静态 IP 地址的节点运行的集群。
流程
通过在机器集的 YAML 文件的
network.devices.addressesFromPools
schema 中指定 IP 池信息来配置机器集:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
oc
CLI 中输入以下命令来扩展机器集: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 扩展每台机器后,机器控制器会创建一个
IPAddresssClaim
资源。可选:输入以下命令检查
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 池的oc
CLI 输出示例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