Kubernetes Linode云提供程序的spec.loadBalancerSourceRanges
我正在尝试锁定我的kubernetes群集,目前正在使用cloudflare,我正在尝试将cloudflare的IP列入白名单 这是为我服务的yaml: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
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尚未提供此支持。谢谢你的帮助!