【问题标题】:Load balancer PublicIPReferencedByMultipleIPConfigs error on restart负载均衡器 PublicIPReferencedByMultipleIPConfigs 重启时出错
【发布时间】:2018-04-24 05:33:00
【问题描述】:

根据Use a static IP address with the Azure Container Service (AKS) load balancer 文档,我创建了一个静态 IP 并将其分配给负载均衡器。这在初始运行时运行良好,但现在我收到以下错误,并且我的负载均衡器的外部 ip 被卡住 <pending>(省略个人信息):

无法确保服务默认/[...] 的负载平衡器:network.LoadBalancersClient#CreateOrUpdate:响应请求失败:StatusCode=400 -- 原始错误:autorest/azure:服务返回错误。 Status=400 Code="PublicIPReferencedByMultipleIPConfigs" Message="公共 ip 地址 /subscriptions/[...]/providers/Microsoft.Network/publicIPAddresses/[PublicIPName] 被资源中的多个 ipconfigs 引用

据我所知,这并没有被多个配置引用——只是我试图运行的负载均衡器服务。从我的 yaml 文件中删除 loadBalancerIP 选项允许它工作,但我认为服务器地址不是静态的 - 这对于尝试与此容器通信的应用程序来说并不理想

这应该发生吗?有没有办法配置这个,以便在容器重启后可以重复使用相同的 IP?

【问题讨论】:

  • 在 Azure 负载均衡器中检查“出站规则”或其他规则,并确保您没有将 IP 用于其他用途。我碰巧因为不知道“--load-balancer-outbound-ips”的确切用途,我试图设置此参数,然后在 loadBalancerIP 中再次设置相同的公共 IP。实际上我不需要使用“--load-balancer-outbound-ips”。也许这会对将来的某人有所帮助。

标签: azure-container-service


【解决方案1】:

鉴于此问题似乎仍然存在,对于遇到此问题的任何其他人来说,似乎 Azure 负载均衡器资源本身可能正在使用第一个配置的静态 IP 地址。

GitHub issue response:

创建的第一个公共 IP 地址用于出口流量

Microsoft Docs:

创建 LoadBalancer 类型的 Kubernetes 服务后,代理节点将添加到 Azure 负载均衡器池。对于出站流,Azure 将其转换为负载均衡器上配置的第一个公共 IP 地址。

据我所知,一旦您预配了 IP 地址并配置 AKS 负载均衡器以使用它,该 IP 就会被 Azure 中预配的负载均衡器资源获取。我最好的猜测是,当 Kubernetes 尝试使用相同的 IP 地址配置新的负载均衡器时,如果之前的 Azure 负载均衡器仍然存在,那么 IP 配置将失败,因为它仍在使用中。

解决方法是预配一个额外的静态 IP(一个专门用于 Azure 负载平衡器资源,一个用于实际的 AKS 负载平衡器服务)以避免冲突。这显然不理想,但它解决了问题......

【讨论】:

    猜你喜欢
    • 2021-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-28
    • 1970-01-01
    • 2016-12-05
    • 2017-01-13
    • 2013-08-26
    相关资源
    最近更新 更多