28.9. 使用负载均衡器允许的源范围配置集群入口流量


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

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

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

注意

如果您已经在 OpenShift Container Platform 的早期版本中设置了 spec.loadBalancerSourceRanges 字段或负载均衡器服务 anotation service.beta.kubernetes.io/load-balancer-source-ranges,Ingress Controller 会在升级后开始报告 Progressing=True。要解决这个问题,设置覆盖 spec.loadBalancerSourceRanges 字段的 AllowedSourceRanges,并清除 service.beta.kubernetes.io/load-balancer-source-ranges 注解。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 指定允许的源范围。

28.9.2. 迁移到允许的源范围

如果您已经设置了注解 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 字段或负载均衡器服务 anotation service.beta.kubernetes.io/load-balancer-source-ranges,Ingress Controller 会在升级后开始报告 Progressing=True。要解决这个问题,设置覆盖 spec.loadBalancerSourceRanges 字段的 AllowedSourceRanges,并清除 service.beta.kubernetes.io/load-balancer-source-ranges 注解。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.13。
  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 指定允许的源范围。

28.9.3. 其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.