12.2.10.9. 在安装过程中调整 Kuryr 端口池

在安装过程中,您可以配置 Kuryr 如何管理 Red Hat OpenStack Platform (RHOSP) Neutron 端口,以控制 pod 创建的速度和效率。

先决条件

  • 创建并修改 install-config.yaml 文件。

流程

  1. 在命令行中创建清单文件:

    $ ./openshift-install create manifests --dir <installation_directory> 1
    1
    对于 <installation_directory>,请指定含有集群的 install-config.yaml 文件的目录的名称。
  2. <installation_directory>/manifests/ 目录下,创建一个名为 cluster-network-03-config.yml 的文件:

    $ touch <installation_directory>/manifests/cluster-network-03-config.yml 1
    1
    对于 <installation_directory>,请指定包含集群的 manifests/ 目录的目录名称。

    创建该文件后,manifests/ 目录中会包含多个网络配置文件,如下所示:

    $ ls <installation_directory>/manifests/cluster-network-*

    输出示例

    cluster-network-01-crd.yml
    cluster-network-02-config.yml
    cluster-network-03-config.yml

  3. 在编辑器中打开 cluster-network-03-config.yml 文件,并输入描述您想要的 Cluster Network Operator 配置的自定义资源(CR):

    $ oc edit networks.operator.openshift.io cluster
  4. 编辑设置以满足您的要求。以下示例提供了以下文件:

    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
          openstackServiceNetwork: 172.30.0.0/15 5
    1
    enablePortPoolsPrepopulation 的值设置为 true 以使 Kuryr 在创建命名空间或在集群中添加新节点后创建新 Neutron 端口。此设置引发 Neutron 端口配额,但可以缩短生成容器集所需的时间。默认值为 false
    2
    如果池中的可用端口数量低于 poolMinPorts 的值,Kuryr 会为池创建新端口。默认值为 1
    3
    poolBatchPorts 控制在可用端口数量低于 poolMinPorts 值时创建的新端口数量。默认值为 3
    4
    如果池中的可用端口数量大于 poolMaxPorts 的值,Kuryr 会删除它们,直到数量与这个值匹配为止。将此值设置为 0 可禁用此上限,防止池缩小。默认值为 0
    5
    openStackServiceNetwork 参数定义将 IP 地址分配到 RHOSP Octavia 的 LoadBalancer 的网络的 CIDR 范围。

    如果此参数与 Amphora 驱动程序一起使用,则 Octavia 会为每个负载均衡器从这个网络获取两个 IP 地址:一个用于 OpenShift,另一个用于 VRRP 连接。由于这些 IP 地址分别由 OpenShift Container Platform 和 Neutron 管理,因此它们必须来自不同的池。因此,openStackServiceNetwork 的值必须至少是 serviceNetwork 值的两倍,serviceNetwork 的值必须与 openStackServiceNetwork 定义的范围完全重叠。

    CNO 验证从此参数定义的范围获取的 VRRP IP 地址是否与 serviceNetwork 参数定义的范围不重叠。

    如果没有设置此参数,CNO 将使用 serviceNetwork 的扩展值,它是前缀大小值减 1。

  5. 保存 cluster-network-03-config.yml 文件,再退出文本编辑器。
  6. 可选:备份 manifests/cluster-network-03-config.yml 文件。安装程序在创建集群时删除 manifests/ 目录。