19.6. 安装 OpenStack 后配置网络设置
在安装后,您可以在 Red Hat OpenStack Platform (RHOSP) 集群中为 OpenShift Container Platform 配置网络设置。
19.6.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-port
Copy 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>
19.6.2. 启用 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
19.6.3. 附加 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-operator
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
在命令行中输入以下命令使用该文件来修补集群:
oc apply -f network.yaml
$ oc apply -f network.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
19.6.4. 启用与 RHOSP 上的 pod 的 IPv6 连接 复制链接链接已复制到粘贴板!
要在具有不同节点上的额外网络的 pod 之间启用 IPv6 连接,请禁用服务器的 IPv6 端口的端口安全性。禁用端口安全性,从而需要为每个分配给 pod 的 IPv6 地址创建允许的地址对,并启用安全组上的流量。
仅支持以下 IPv6 额外网络配置:
- SLAAC 和 host-device
- SLAAC 和 MACVLAN
- DHCP stateless 和 host-device
- DHCP stateless 和 MACVLAN
流程
在命令行中输入以下命令:
openstack port set --no-security-group --disable-port-security <compute_ipv6_port>
$ openstack port set --no-security-group --disable-port-security <compute_ipv6_port>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要这个命令从端口中删除安全组,并禁用端口安全性。流量限制完全从端口中删除。
19.6.5. 在 RHOSP 上创建具有 IPv6 连接的 pod 复制链接链接已复制到粘贴板!
为 pod 启用 IPv6 连接后,将其添加到其中,创建具有辅助 IPv6 连接的 pod。
流程
定义使用 IPv6 命名空间和注解
k8s.v1.cni.cncf.io/networks: <additional_network_name> 的
pod,其中<additional_network_name
是额外网络的名称。例如,作为Deployment
对象的一部分:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 pod。例如,在命令行中输入以下命令:
oc create -f <ipv6_enabled_resource>
$ oc create -f <ipv6_enabled_resource>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定包含资源定义的文件。
19.6.6. 为 RHOSP 上的 pod 添加 IPv6 连接 复制链接链接已复制到粘贴板!
在 pod 中启用 IPv6 连接后,使用 Container Network Interface (CNI) 配置添加与它们的连接。
流程
要编辑 Cluster Network Operator (CNO),请输入以下命令:
oc edit networks.operator.openshift.io cluster
$ oc edit networks.operator.openshift.io cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在
spec
字段中指定您的 CNI 配置。例如,以下配置使用带有 MACVLAN 的 192.168.1.0/24 地址模式:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您使用有状态地址模式,请在 CNI 配置中包含 IP 地址管理 (IPAM)。
Multus 不支持 DHCPv6。
- 保存您的更改,再退出文本编辑器以提交更改。
验证
在命令行中输入以下命令:
oc get network-attachment-definitions -A
$ oc get network-attachment-definitions -A
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAMESPACE NAME AGE ipv6 ipv6 21h
NAMESPACE NAME AGE ipv6 ipv6 21h
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
现在,您可以创建具有辅助 IPv6 连接的 pod。