Kubernetes Linode云提供程序的spec.loadBalancerSourceRanges

Kubernetes Linode云提供程序的spec.loadBalancerSourceRanges,kubernetes,linode,Kubernetes,Linode,我正在尝试锁定我的kubernetes群集,目前正在使用cloudflare,我正在尝试将cloudflare的IP列入白名单 这是为我服务的yaml: spec: type: LoadBalancer loadBalancerSourceRanges: - 130.211.204.1/32 - 173.245.48.0/20 - 103.21.244.0/22 - 103.22.200.0/22 - 103.31.4.0/22 - 141.101.64.0/18

我正在尝试锁定我的kubernetes群集,目前正在使用cloudflare,我正在尝试将cloudflare的IP列入白名单

这是为我服务的yaml:

spec:
  type: LoadBalancer
  loadBalancerSourceRanges:
  - 130.211.204.1/32
  - 173.245.48.0/20
  - 103.21.244.0/22
  - 103.22.200.0/22
  - 103.31.4.0/22
  - 141.101.64.0/18
  - 108.162.192.0/18
  - 190.93.240.0/20
  - 188.114.96.0/20
  - 197.234.240.0/22
  - 198.41.128.0/17
  - 162.158.0.0/15
  - 104.16.0.0/12
  - 172.64.0.0/13
  - 131.0.72.0/22
应用此清单后,我仍然可以从任何浏览器访问loadbalancer URL!此功能是否不起作用,或者可能是我配置不正确

谢谢。

发件人:

使用spec.type:LoadBalancer的服务时,可以指定 允许使用访问负载平衡器的IP范围 规范loadBalancerSourceRanges。此字段获取IP CIDR的列表 范围,Kubernetes将使用该范围配置防火墙例外。 谷歌计算引擎Google目前支持此功能 Kubernetes引擎,AWS弹性Kubernetes服务,Azure Kubernetes 服务和IBM云Kubernetes服务。此字段将被忽略 如果云提供商不支持该功能

可能你的云根本不支持它

您可以使用其他允许源IP阻塞的东西,比如nginx或入口nginx。在ingress nginx中,您只需在注释
ingress.kubernetes.io/whitelist source range
中指定允许的IP列表


如果您想使用Nginx或其他代理路由,请不要忘记将负载平衡器服务
externalTrafficPolicy
更改为
Local
。否则您将看不到真正的客户端IP。

谢谢,我将尝试。。。但是您提到我仍然将服务保留为“负载平衡器”类型?我应该向cloudflare暴露什么?听起来客户端仍然会点击创建的负载平衡器,但使用每个节点上的入口控制器来确定sourceIp是否在要阻止的列表中?客户端会点击负载平衡器,然后被代理到Nginx或您选择的任何代理。更新我的主机提供商www.linode.com尚未提供此支持。谢谢你的帮助!