×

您可以为IngressController指定一个 IP 地址范围列表。当endpointPublishingStrategyLoadBalancerService时,这会限制对负载均衡器服务的访问。

配置负载均衡器允许的源范围

您可以启用和配置spec.endpointPublishingStrategy.loadBalancer.allowedSourceRanges字段。通过配置负载均衡器允许的源范围,您可以将 Ingress Controller 对负载均衡器的访问限制为指定的 IP 地址范围列表。Ingress Operator 会协调负载均衡器服务并根据AllowedSourceRanges设置spec.loadBalancerSourceRanges字段。

如果您在以前版本的 OpenShift Container Platform 中已经设置了spec.loadBalancerSourceRanges字段或负载均衡器服务注释service.beta.kubernetes.io/load-balancer-source-ranges,则升级后 Ingress Controller 将开始报告Progressing=True。要解决此问题,请设置覆盖spec.loadBalancerSourceRanges字段并清除service.beta.kubernetes.io/load-balancer-source-ranges注释的AllowedSourceRanges。Ingress Controller 将再次开始报告Progressing=False

先决条件
  • 您在正在运行的集群上部署了 Ingress Controller。

步骤
  • 通过运行以下命令来设置 Ingress Controller 的允许源范围 API:

    $ oc -n openshift-ingress-operator patch ingresscontroller/default \
        --type=merge --patch='{"spec":{"endpointPublishingStrategy": \
        {"type":"LoadBalancerService", "loadbalancer": \
        {"scope":"External", "allowedSourceRanges":["0.0.0.0/0"]}}}}' (1)
    1 示例值0.0.0.0/0指定允许的源范围。

迁移到负载均衡器允许的源范围

如果您已经设置了注释service.beta.kubernetes.io/load-balancer-source-ranges,则可以迁移到负载均衡器允许的源范围。当您设置AllowedSourceRanges时,Ingress Controller 会根据AllowedSourceRanges的值设置spec.loadBalancerSourceRanges字段,并取消设置service.beta.kubernetes.io/load-balancer-source-ranges注释。

如果您在以前版本的 OpenShift Container Platform 中已经设置了spec.loadBalancerSourceRanges字段或负载均衡器服务注释service.beta.kubernetes.io/load-balancer-source-ranges,则升级后 Ingress Controller 将开始报告Progressing=True。要解决此问题,请设置覆盖spec.loadBalancerSourceRanges字段并清除service.beta.kubernetes.io/load-balancer-source-ranges注释的AllowedSourceRanges。Ingress Controller 将再次开始报告Progressing=False

先决条件
  • 您已设置service.beta.kubernetes.io/load-balancer-source-ranges注释。

步骤
  1. 确保已设置service.beta.kubernetes.io/load-balancer-source-ranges

    $ oc get svc router-default -n openshift-ingress -o yaml
    示例输出
    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        service.beta.kubernetes.io/load-balancer-source-ranges: 192.168.0.1/32
  2. 确保已取消设置spec.loadBalancerSourceRanges字段

    $ oc get svc router-default -n openshift-ingress -o yaml
    示例输出
    ...
    spec:
      loadBalancerSourceRanges:
      - 0.0.0.0/0
    ...
  3. 将您的集群更新到 OpenShift Container Platform 4.17。

  4. 通过运行以下命令来设置ingresscontroller的允许源范围 API:

    $ oc -n openshift-ingress-operator patch ingresscontroller/default \
        --type=merge --patch='{"spec":{"endpointPublishingStrategy": \
        {"loadBalancer":{"allowedSourceRanges":["0.0.0.0/0"]}}}}' (1)
    1 示例值0.0.0.0/0指定允许的源范围。

其他资源