This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6.9. 安装后 RHOSP 网络配置
您可在安装后在 Red Hat OpenStack Platform(RHOSP)集群中配置 OpenShift Container Platform 的一些方面。
6.9.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! 将端口附加到 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! 在您的 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!
如果您不控制 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> grafana-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> grafana-openshift-monitoring.apps.<cluster name>.<base domain>
<apps_FIP> <app name>.apps.<cluster name>.<base domain>
6.9.2. Kuryr 端口池
Kuryr 端口池在待机时维护多个端口,用于创建 pod。
将端口保留在待机上可最大程度缩短 pod 创建时间。如果没有端口池,Kuryr 必须明确请求在创建或删除 pod 时创建或删除端口。
Kuryr 使用的 Neutron 端口是在绑定到命名空间的子网中创建的。这些 pod 端口也作为子端口添加到 OpenShift Container Platform 集群节点的主端口。
因为 Kuryr 将每个命名空间保留在单独的子网中,所以为每个命名空间 worker 对维护一个单独的端口池。
在安装集群前,您可以在 cluster-network-03-config.yml
清单文件中设置以下参数来配置端口池行为:
-
enablePortPoolsPrepopulation 参数
控制池预填充,它会强制 Kuryr 在创建时(如添加新主机或创建新命名空间时)将端口添加到池中。默认值为false
。 -
poolMinPorts
参数是池中保留的最少可用端口的数量。默认值为1
。 poolMaxPorts
参数是池中保留的最大可用端口数。值0 可
禁用此上限。这是默认设置。如果您的 OpenStack 端口配额较低,或者 pod 网络上的 IP 地址有限,请考虑设置此选项以确保删除不需要的端口。
-
poolBatchPorts
参数定义一次可以创建的 Neutron 端口的最大数量。默认值为3
。
6.9.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 cluster
Copy to Clipboard Copied! 编辑设置以满足您的要求。以下示例提供了以下文件:
apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: - 172.30.0.0/16 defaultNetwork: type: Kuryr kuryrConfig: enablePortPoolsPrepopulation: false poolMinPorts: 1 poolBatchPorts: 3 poolMaxPorts: 5
apiVersion: operator.openshift.io/v1 kind: Network metadata: name: cluster spec: clusterNetwork: - cidr: 10.128.0.0/14 hostPrefix: 23 serviceNetwork: - 172.30.0.0/16 defaultNetwork: type: Kuryr kuryrConfig: enablePortPoolsPrepopulation: false
1 poolMinPorts: 1
2 poolBatchPorts: 3
3 poolMaxPorts: 5
4 Copy to Clipboard Copied! - 1
- 将
enablePortPoolsPrepopulation
设置为true
以使 Kuryr 在创建命名空间或在集群中添加新节点后创建新 Neutron 端口。此设置引发 Neutron 端口配额,但可以缩短生成容器集所需的时间。默认值为false
。 - 2
- 如果池中的可用端口数量低于
poolMinPorts
的值,Kuryr 会为池创建新端口。默认值为1
。 - 3
poolBatchPorts
控制在可用端口数量低于poolMinPorts
值时创建的新端口数量。默认值为3
。- 4
- 如果池中的可用端口数量大于
poolMaxPorts
的值,Kuryr 会删除它们,直到数量与这个值匹配为止。将值设为0
可禁用此上限,防止池被缩小。默认值为0
。
- 保存您的更改,再退出文本编辑器以提交更改。
在正在运行的集群中修改这些选项会强制 kuryr-controller 和 kuryr-cni pod 重启。因此,创建新 pod 和服务会延迟。
6.9.4. 为负载均衡器服务启用 RHOSP Octavia
您可以通过在 Red Hat OpenStack Platform (RHOSP)上使用 Octavia 创建负载均衡器服务类型和入口控制器。
依赖 Octavia 的服务和控制器有以下限制:
- 仅支持 TCP 流量。
- 在集群删除操作过程中不会删除活跃的 Octavia 负载均衡器以及附加到它们的浮动 IP 地址。您必须先删除这些项目,然后才能执行操作。
-
云供应商配置中的
manage-security-groups
属性只适用于具有管理特权的 RHOSP 租户。 -
不支持负载均衡器服务的
loadBalancerSourceRanges
属性。 -
不支持负载均衡器服务的
loadBalancerIP
属性。
先决条件
- 您有一个活跃的集群。
-
已安装 OpenShift CLI(
oc
)。
流程
在命令行中,打开云供应商配置进行编辑:
oc edit configmap -n openshift-config cloud-provider-config
$ oc edit configmap -n openshift-config cloud-provider-config
Copy to Clipboard Copied! 编辑驱动程序类型的配置:
如果您使用 Amphora 驱动程序,请在云供应商配置中添加以下部分:
[LoadBalancer] use-octavia = true lb-provider = amphora
[LoadBalancer] use-octavia = true lb-provider = amphora
Copy to Clipboard Copied! 如果使用 OVN 驱动程序,请在云供应商配置中添加以下部分:
[LoadBalancer] use-octavia = true lb-provider = ovn lb-method = SOURCE_IP_PORT
[LoadBalancer] use-octavia = true lb-provider = ovn lb-method = SOURCE_IP_PORT
Copy to Clipboard Copied! 注意如果您对 Octavia 使用 OVN 驱动程序,还必须修改主和 worker 安全组的 TCP ingress 安全组规则,以允许来自 0.0.0.0/0 的 IPv4 流量发送到端口 30000 到 32767。
如果您有多个外部网络,请将云供应商配置中的
floating-network-id
参数的值设置为在其中创建浮动 IP 地址的外部网络 UUID。例如:[LoadBalancer] use-octavia = true lb-provider = amphora floating-network-id = <network_UUID>
[LoadBalancer] use-octavia = true lb-provider = amphora floating-network-id = <network_UUID>
Copy to Clipboard Copied! - 保存对配置的更改。