Azure AKS网络分析-Kubernetes集群将这些请求发送到哪里?

时间:2018-12-06 20:26:01

标签: azure kubernetes azure-virtual-network azure-aks azure-nsg

我很少,但是对Azure网络分析感到困惑!有人可以帮助解决这个谜吗?

我在Azure中的Kubernetes群集是私有的。它已加入vNET,并且任何地方都没有公开的IP。使用内部负载平衡器配置服务。应用程序网关调用内部负载平衡器。 NSG阻止从Internet到应用程序网关的所有入站流量。 NSG仅允许使用受信任的NAT IP。

问题是-我看到vNET上有很多互联网流量。他们当然被拒绝了!我在订阅的任何地方都没有这个公共IP 40.117.133.149。那么,这些请求是如何发出的?

AzureNetworkAnalytics

This is not the exact architecture but it's very close to what's implemented.

您可以尝试从Internet调用应用程序网关,但不会收到任何响应! http://23.100.30.223/api/customer/FindAllCountryProvinceCities?country=United%20States&state=Washington

如果调用Azure函数-https://afa-aspnet4you.azurewebsites.net/api/aks/api/customer/FindAllCountryProvinceCities?country=United%20States&state=Washington

,您将获得成功的响应

这可能是因为遵循nsg规则!

感谢您抽出宝贵时间回答我的查询。

作为对@CharlesXu的回应,我在aks网络上分享了更多信息。 Aks网络由很少的地址空间组成-

此外,没有将公共IP分配给集群中的两个节点中的任何一个。仅将私有IP分配给vm节点。这是节点0-的示例

我不明白为什么我在集群中看到对40.117.133.149的入站请求!

1 个答案:

答案 0 :(得分:0)

搜索所有设置和活动日志后,我终于找到了神秘IP的答案!重新启动VM时,会自动创建带有外部ip的负载均衡器,作为nginx入口服务的一部分。 NSG已自动更新,以允许互联网访问端口80/443。我手动删除了公共负载平衡器以及IP,但是不良行为者仍在使用其他端口调用IP,默认情况下,入站nsg规则拒绝了该端口。

为了重现,我再次删除了公共负载平衡器以及公共ip。重新启动群集中的VM后,将重新创建Azure Aks!就像猫和老鼠的游戏!

我认为我们可以更新入口服务注释以指定service.beta.kubernetes.io/azure-load-balancer-internal:“true”。不知道为什么Microsoft决定在群集中自动配置公共负载平衡器。这是一种风险,Microsoft应该通过创建内部负载均衡器来纠正此行为。