1.9. 在代理环境中创建集群

当 hub 集群通过代理服务器连接时,您可以创建 Red Hat OpenShift Container Platform 集群。

要成功创建集群,则必须满足以下情况之一:

  • Red Hat Advanced Cluster Management for Kubernetes 与您要创建的受管集群具有私有网络连接,但 Red Hat Advanced Cluster Management 和受管集群使用代理访问互联网。
  • 受管集群位于基础架构供应商上,但防火墙端口启用了从受管集群到 hub 集群的通信。

要创建使用代理配置的集群,请完成以下步骤:

  1. 通过在 install-config.yaml 文件中添加以下信息,在 hub 集群上配置集群范围的代理设置:

    apiVersion: v1
    kind: Proxy
    baseDomain: <domain>
    proxy:
      httpProxy: http://<username>:<password>@<proxy.example.com>:<port>
      httpsProxy: https://<username>:<password>@<proxy.example.com>:<port>
      noProxy: <wildcard-of-domain>,<provisioning-network/CIDR>,<BMC-address-range/CIDR>

    使用代理服务器的用户名替换 username

    使用密码替换 password 以访问您的代理服务器。

    proxy.example.com 替换为代理服务器的路径。

    使用与代理服务器的通信端口替换 port

    wildcard-of-domain 替换为应当绕过代理的域的条目。

    使用置备网络的 IP 地址和分配的 IP 地址(以 CIDR 表示)替换 provisioning-network/CIDR

    BMC-address-range/CIDR 替换为 BMC 地址和地址数(以 CIDR 表示)。

    添加前面的值后,设置将应用到集群。

  2. 通过完成创建集群的步骤来置备集群。请参阅创建集群以选择您的供应商。

1.9.1. 在现有集群附加组件上启用集群范围代理

您可以配置集群命名空间中的 KlusterletAddonConfig,将代理环境变量添加到由 hub 集群管理的 Red Hat OpenShift Container Platform 集群的所有 klusterlet 附加组件 pod 中。

完成以下步骤,配置 KlusterletAddonConfig,将 3 个环境变量添加到 klusterlet add-ons 的 pod 中:

  1. 打开位于需要添加代理的集群命名空间中的 KlusterletAddonConfig 文件。
  2. 编辑文件的 .spec.proxyConfig 部分,使其类似以下示例:

    spec
      proxyConfig:
        httpProxy: "<proxy_not_secure>"
        httpsProxy: "<proxy_secure>"
        noProxy: "<no_proxy>"

    proxy_not_secure 替换为 http 请求的代理服务器的地址。例如: http://192.168.123.145:3128

    使用 https 请求的代理服务器的地址替换 proxy_secure。例如: https://192.168.123.145:3128

    使用以逗号分隔的 IP 地址、主机名和域名列表替换 no_proxy,其中不会通过代理路由流量。例如: .cluster.local,.svc,10.128.0.0/14,example.com

    spec.proxyConfig 是一个可选部分。如果使用在 Red Hat Advanced Cluster Management hub 集群上配置的集群范围内的代理创建 OpenShift Container Platform 集群,则集群范围的代理配置值会在满足以下条件时添加到 klusterlet add-ons 的 pod 中:

    • addon 部分中的 .spec.policyController.proxyPolicy 被启用并设置为 OCPGlobalProxy
    • .spec.applicationManager.proxyPolocy 被启用并设置为 CustomProxy

      注: addon 部分中的 proxyPolicy 默认值是 Disabled

      请参见以下示例:

      apiVersion: agent.open-cluster-management.io/v1
          kind: KlusterletAddonConfig
          metadata:
            name: clusterName
            namespace: clusterName
          spec:
            proxyConfig:
              httpProxy: http://pxuser:12345@10.0.81.15:3128
              httpsProxy: http://pxuser:12345@10.0.81.15:3128
              noProxy: .cluster.local,.svc,10.128.0.0/14, example.com
            applicationManager:
              enabled: true
              proxyPolicy: CustomProxy
            policyController:
              enabled: true
              proxyPolicy: OCPGlobalProxy
            searchCollector:
              enabled: true
              proxyPolicy: Disabled
            certPolicyController:
              enabled: true
              proxyPolicy: Disabled
            iamPolicyController:
              enabled: true
              proxyPolicy: Disabled

代理在集群附加组件上配置。

重要: 全局代理设置不会影响警报转发。要为使用集群范围代理的 Red Hat Advanced Cluster Management hub 集群设置警报转发,请参阅 转发警报 以了解更多详细信息。