如何获取Azure Kubernetes集群出站IP地址

8tntrjer  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(2)|浏览(135)

我们有一个基本的AKS集群设置,我们需要在我们的一个服务中将此AKS出站ipadress列入白名单,我扫描了Azure门户中的AKS集群设置,我无法找到任何出站IpAddress。
我们如何获得outboud IP?
谢谢-嫩

ndh0cuux

ndh0cuux1#

如果您使用的是带有标准负载均衡器的AKS集群,

$ az aks show -g $RG -n akstest --query networkProfile.loadBalancerSku -o tsv
Standard

并且outboundType被设置为loadBalancer,即,

$ az aks show -g $RG -n akstest --query networkProfile.outboundType -o tsv
loadBalancer

那么你应该能够获取AKS集群的出站IP地址,比如(注意大写的IP):

$ az aks show -g $RG -n akstest --query networkProfile.loadBalancerProfile.effectiveOutboundIPs[].id
[
    "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/MC_xxxxxx_xxxxxx_xxxxx/providers/Microsoft.Network/publicIPAddresses/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
]
# Using $PUBLIC_IP_RESOURCE_ID obtained from the last step
$  az network public-ip show --ids $PUBLIC_IP_RESOURCE_ID --query ipAddress -o tsv
xxx.xxx.xxx.xxx

更多信息请查看Use a public Standard Load Balancer in Azure Kubernetes Service (AKS)
如果您使用的是带有基本负载均衡器的AKS集群,

$ az aks show -g $RG -n akstest --query networkProfile.loadBalancerSku -o tsv
Basic

并且outboundType被设置为loadBalancer,即,

$ az aks show -g $RG -n akstest --query networkProfile.outboundType -o tsv
loadBalancer

当多个(公共)IP前端是出站流的候选者时,Load Balancer Basic选择单个前端用于出站流。此选择不可配置,您应该将选择算法视为 * 随机。此公共IP地址仅在该资源的生命周期内有效。如果删除Kubernetes LoadBalancer服务,关联的负载均衡器和IP地址也会被删除。如果你想为重新部署的Kubernetes服务分配一个特定的IP地址或保留一个IP地址,你可以create and use a static public IP address,正如@nico-meisenzahl提到的。
静态IP地址只有在AKS集群上有一个服务时才有效(使用基本负载均衡器)。在Azure负载均衡器上配置多个地址时,这些公共IP地址中的任何一个都是出站流的候选地址,并且随机选择一个。因此,每次添加一个服务时,您都必须将相应的IP地址添加到白名单中,这不是非常可扩展的。[参考文献]
在后一种情况下,我们建议在创建AKS集群时将outBoundType设置为userDefinedRouting。如果设置了userDefinedRouting,AKS不会自动配置出口路径。出口设置必须由您完成。
AKS群集必须部署到具有先前配置的子网的现有虚拟网络中,因为在不使用标准负载均衡器(SLB)体系结构时,必须建立显式出口。因此,这种架构需要明确地将出口流量发送到防火墙、网关、代理等设备,或者允许网络地址转换(NAT)由分配给标准负载均衡器或设备的公共IP完成。

userDefinedRouting创建负载均衡

出站类型为UDR的AKS集群仅在部署第一个“loadBalancer”类型的Kubernetes服务时才会接收标准负载均衡器(SLB)。负载均衡器配置有用于入站请求的公共IP地址和用于 * 入站 * 请求的后端池。Azure规则由Azure云提供商配置,但由于出站类型为UDR,因此不会配置任何出站公共IP地址或出站规则。您的UDR仍然是出口流量的唯一来源。
Azure负载均衡器don't incur a charge until a rule is placed
【**!!重要提示:**使用出站类型是高级组网场景,需要正确配置网络。】
以下是部署具有出站类型UDR和Azure防火墙的群集的说明

ds97pgxw

ds97pgxw2#

您可以定义AKS通过负载均衡器路由出站流量(这也是默认行为)。这也可以帮助您在多个节点上“使用”相同的传出IP。
更多详情请访问here

相关问题