28.9. 使用负载均衡器允许的源范围配置集群入口流量
您可以为 IngressController
指定 IP 地址范围列表。这在 endpointPublishingStrategy
为 LoadBalancerService
时,限制访问负载均衡器服务。
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
注解。
流程
确保设置了
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
确保
spec.loadBalancerSourceRanges
字段已取消设置:$ oc get svc router-default -n openshift-ingress -o yaml
输出示例
... spec: loadBalancerSourceRanges: - 0.0.0.0/0 ...
- 将集群更新至 OpenShift Container Platform 4.13。
运行以下命令,为
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
指定允许的源范围。