8.10. 安装后 RHOSP 网络配置
您可在安装后在 Red Hat OpenStack Platform(RHOSP)集群中配置 OpenShift Container Platform 的一些方面。
8.10.1. 使用浮动 IP 地址配置应用程序访问 复制链接链接已复制到粘贴板!
安装 OpenShift Container Platform 后,请配置 Red Hat OpenStack Platform (RHOSP) 以允许应用程序网络流量。
如果您在 install-config.yaml 文件中为 platform.openstack.apiFloatingIP 和 platform.openstack.ingressFloatingIP 提供了值,或为 inventory.yaml playbook 中的 os_api_fip 和 os_ingress_fip 提供了值,在安装过程中不需要执行此步骤。已设置浮动 IP 地址。
先决条件
- 必须已安装 OpenShift Container Platform 集群
- 启用浮动 IP 地址,如 RHOSP 安装文档中的 OpenShift Container Platform 所述。
流程
在安装 OpenShift Container Platform 集群后,将浮动 IP 地址附加到入口端口:
显示端口:
openstack port show <cluster_name>-<cluster_ID>-ingress-port
$ openstack port show <cluster_name>-<cluster_ID>-ingress-portCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将端口附加到 IP 地址:
openstack floating ip set --port <ingress_port_ID> <apps_FIP>
$ openstack floating ip set --port <ingress_port_ID> <apps_FIP>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在您的 DNS 文件中,为
*apps.添加一条通配符A记录。*.apps.<cluster_name>.<base_domain> IN A <apps_FIP>
*.apps.<cluster_name>.<base_domain> IN A <apps_FIP>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
如果您不控制 DNS 服务器,但希望为非生产用途启用应用程序访问,您可以将这些主机名添加到 /etc/hosts:
<apps_FIP> console-openshift-console.apps.<cluster name>.<base domain> <apps_FIP> integrated-oauth-server-openshift-authentication.apps.<cluster name>.<base domain> <apps_FIP> oauth-openshift.apps.<cluster name>.<base domain> <apps_FIP> prometheus-k8s-openshift-monitoring.apps.<cluster name>.<base domain> <apps_FIP> <app name>.apps.<cluster name>.<base domain>
<apps_FIP> console-openshift-console.apps.<cluster name>.<base domain>
<apps_FIP> integrated-oauth-server-openshift-authentication.apps.<cluster name>.<base domain>
<apps_FIP> oauth-openshift.apps.<cluster name>.<base domain>
<apps_FIP> prometheus-k8s-openshift-monitoring.apps.<cluster name>.<base domain>
<apps_FIP> <app name>.apps.<cluster name>.<base domain>
8.10.2. Kuryr 端口池 复制链接链接已复制到粘贴板!
Kuryr 端口池在待机时维护多个端口,用于创建 pod。
将端口保留在待机上可最大程度缩短 pod 创建时间。如果没有端口池,Kuryr 必须明确请求在创建或删除 pod 时创建或删除端口。
Kuryr 使用的 Neutron 端口是在绑定到命名空间的子网中创建的。这些 pod 端口也作为子端口添加到 OpenShift Container Platform 集群节点的主端口。
因为 Kuryr 将每个命名空间保留在单独的子网中,所以为每个命名空间 worker 对维护一个单独的端口池。
在安装集群前,您可以在 cluster-network-03-config.yml 清单文件中设置以下参数来配置端口池行为:
-
enablePortPoolsPrepopulation参数控制池准备工作,它会强制 Kuryr 在命名空间中创建第一个 pod 使用专用网络时将 Neutron 端口添加到池中。默认值为false。 -
poolMinPorts参数是池中保留的最少可用端口的数量。默认值为1。 poolMaxPorts参数是池中保留的最大可用端口数。值0 可禁用此上限。这是默认设置。如果您的 OpenStack 端口配额较低,或者 pod 网络上的 IP 地址有限,请考虑设置此选项以确保删除不需要的端口。
-
poolBatchPorts参数定义一次可以创建的 Neutron 端口的最大数量。默认值为3。
8.10.3. 在 RHOSP 上的活跃部署中调整 Kuryr 端口池设置 复制链接链接已复制到粘贴板!
您可以使用自定义资源 (CR) 配置 Kuryr 如何管理 Red Hat OpenStack Platform (RHOSP) Neutron 端口,以控制在部署的集群上创建 pod 的速度和效率。
流程
在命令行中,打开 Cluster Network Operator (CNO) CR 进行编辑:
oc edit networks.operator.openshift.io cluster
$ oc edit networks.operator.openshift.io clusterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑设置以满足您的要求。以下示例提供了以下文件:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
enablePortPoolsPrepopulation设置为true,以便在命名空间中创建一个命名空间为 pod 使用专用网络的 pod 时创建 Kuryr 创建 Neutron 端口。此设置引发 Neutron 端口配额,但可以缩短生成容器集所需的时间。默认值为false。 - 2
- 如果池中的可用端口数量低于
poolMinPorts的值,Kuryr 会为池创建新端口。默认值为1。 - 3
poolBatchPorts控制在可用端口数量低于poolMinPorts值时创建的新端口数量。默认值为3。- 4
- 如果池中的可用端口数量大于
poolMaxPorts的值,Kuryr 会删除它们,直到数量与这个值匹配为止。将值设为0可禁用此上限,防止池被缩小。默认值为0。
- 保存您的更改,再退出文本编辑器以提交更改。
在正在运行的集群中修改这些选项会强制 kuryr-controller 和 kuryr-cni pod 重启。因此,创建新 pod 和服务会延迟。
8.10.4. 启用 OVS 硬件卸载 复制链接链接已复制到粘贴板!
对于在 Red Hat OpenStack Platform(RHOSP)上运行的集群,您可以启用 Open vSwitch(OVS) 硬件卸载。
OVS 是一种多层虚拟交换机,能够启用大规模多服务器网络虚拟化。
先决条件
- 您在为单根输入/输出虚拟化(SR-IOV)配置的 RHOSP 上安装集群。
- 在集群中安装了 SR-IOV Network Operator。
-
您在集群中创建了两个
hw-offload类型虚拟功能(VF)接口。
应用程序层网关流在 OpenShift Container Platform 版本 4.10、4.11 和 4.12 中无法正常工作。另外,您无法卸载 OpenShift Container Platform 版本 4.13 的应用程序层网关流。
流程
为集群中的两个
hw-offload类型 VF 接口创建一个SriovNetworkNodePolicy策略:第一个虚拟功能接口
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 第二个虚拟功能接口
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为两个接口创建
NetworkAttachmentDefinition资源:第一接口的
NetworkAttachmentDefinition资源Copy to Clipboard Copied! Toggle word wrap Toggle overflow 第二个接口的
NetworkAttachmentDefinition资源Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用通过 pod 创建的接口。例如:
使用两个 OVS 卸载接口的 Pod
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.10.5. 附加 OVS 硬件卸载网络 复制链接链接已复制到粘贴板!
您可以将 Open vSwitch (OVS) 硬件卸载网络添加到集群中。
先决条件
- 集群已安装并运行。
- 您已在 Red Hat OpenStack Platform (RHOSP) 上置备了 OVS 硬件卸载网络,用于您的集群。
流程
从以下模板创建一个名为
network.yaml的文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中:
pciBusId指定连接到卸载网络的设备。如果没有它,您可以运行以下命令来查找这个值:
oc describe SriovNetworkNodeState -n openshift-sriov-network-operator
$ oc describe SriovNetworkNodeState -n openshift-sriov-network-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow
在命令行中输入以下命令使用该文件来修补集群:
oc apply -f network.yaml
$ oc apply -f network.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow