kubernetes 对于nginx-ingress控制器,设置控制器loadblancer白名单IP范围(非ingress白名单范围)时,是否在GCP控制台上可见?

rslzwgfq  于 2023-05-16  发布在  Kubernetes
关注(0)|答案(1)|浏览(253)

我们在集群中有一个nginx ingress控制器,在ingress资源上有白名单注解。这一切都如预期的那样工作。流量进入控制器,如果它与入口的范围不匹配,则得到403ed。没问题
我们现在已经将其移动到负载均衡器(例如:在负载均衡器级别而不是在入口资源级别阻塞流量)。这将在服务中创建.spec.loadBalancerSourceRanges

apiVersion: v1
kind: Service
metadata:
  labels:
    ...
  name: nginx-ingress-controller
  namespace: nginx-ingress
spec:
  clusterIP: x.x.x.x
  clusterIPs:
  - x.x.x.x
  externalTrafficPolicy: Local
  healthCheckNodePort: 31564
  loadBalancerSourceRanges:
  - 10.0.0.0/8
  - 192.168.0.0/16
  - 172.17.0.0/16
  - ...
  - ...
  ports:
  ....
  selector:
    ...
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer:
    ingress:
    - ip: x.x.x.x

这里的一切也都如预期的那样。任何不在白名单中的流量都不会成功连接到控制器pod,因为云提供商的负载均衡器没有通过它。
然而,我的问题是:有没有一种方法可以在控制台内的负载均衡器上看到这些范围(在我的情况下是GCP)?
换句话说,如果我选择了一个入口控制器正在使用的Google LB,我如何查看该负载均衡器上允许的CIDR范围(如果有的话)?

xxls0lw8

xxls0lw81#

当GKE在服务清单中遇到spec:loadBalancerSourceRanges时,它会做两件事:
1.在GKE节点上配置防火墙规则
1.为VPC配置防火墙规则。
VPC防火墙规则名称应以k8s开头。

相关问题