首页 > 其他分享 >限制可以访问AKS负载均衡器服务的IP地址

限制可以访问AKS负载均衡器服务的IP地址

时间:2023-03-17 19:06:47浏览次数:43  
标签:服务 AKS 均衡器 NSG 访问 IP地址

今天主要给大家介绍如何使用NSG来限制可以访问AKS负载均衡器服务的IP地址。

部署过AKS的朋友应该都清楚,当我们部署AKS集群的时候,系统会默认帮我们创建一个Load Balancer资源,以便于我们将服务对外进行暴露。除此之外,随着Load Balancer资源一起创建的还有一个网络安全组(NSG)资源。一般情况下,当我们声明一个LoadBalancer类型的资源时,系统会自动的在NSG中帮助我们创建入站安全规则,以允许从Internet访问所发布的服务。

如下是我们部署一个公开TCP-80的服务后,NSG规则的截图。可以看到,已使用 Internet 源和外部负载平衡器 IP 地址的目标创建入站安全规则:

限制可以访问AKS负载均衡器服务的IP地址_Azure Services

仅允许特定的IP地址范围访问服务

通过上面的图可以看到,默认情况下,我们的服务是面向Internet的。这时候对于对安全要求比较严格的组织可能就会提出,对外发布的服务能够做限源?答案肯定是可以的。

在AKS中,我们可以使用 “spec.loadBalancerSourceRanges” 来进行限源。可以通过向服务的 YAML添加字段来自定义 NSG 入站安全规则的源地址,这允许我们配置只允许特定的 IP 地址范围访问所发布的服务。

如下是 YAML 描述的示例。spec.loadBalancerSourceRanges在下方,以 CIDR 表示法写下您要允许访问的 IP 地址范围。

apiVersion:  v1 
kind: Service
metadata:
name: azure-vote-front
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: azure-vote-front
loadBalancerSourceRanges:
- 192.0.2.10/32 # 单地址允许- 198.51 .100 .0 /24 # 允许的地址范围

将上述YAML文件部署到AKS群集以后,我们在返回Azure门户查看NSG的入站规则可以看到,刚刚设置在loadBalancerSourceRanges的源地址范围都都已经配置在规则中。

限制可以访问AKS负载均衡器服务的IP地址_Azure_02

需要注意的是,这个配置不仅仅可以用在外部负载均衡器,如果当前的AKS群集使用的是哪部负载均衡器也一样适用。

在本文中,我们介绍了如何为在AKS中创建的Service(类型:LoadBalancer)限制NSG可以访问的IP地址范围。

它可用于将可以访问服务的网络限制为本地环境或特定 VNet。还有管理上的好处,因为 NSG 规则可以与您的应用程序的 YAML 清单一起编写。

AKS 通过 Kubernetes 自动配置各种 Azure 资源。不要对节点资源组 (MC_*) 或其他 Azure 资源中自动创建的 NSG 进行任何手动更改,因为这样做可能会导致集群出现故障。



标签:服务,AKS,均衡器,NSG,访问,IP地址
From: https://blog.51cto.com/wuyvzhang/6127822

相关文章