【问题标题】:Multiple egress public IP created, but only one used创建了多个出口公共 IP,但只使用了一个
【发布时间】:2021-03-01 13:23:19
【问题描述】:

我正在使用 AKS 针对外部应用程序并行执行多个负载测试代理。代理是没有与之关联的服务的 pod。集群没有 Ingress 控制器。

我希望从多个 IP 访问目标应用程序,因此我使用 Terraform 以这种方式创建了 AKS 集群:

resource "azurerm_kubernetes_cluster" "cluster" {
  ...
  ...
  ...
  network_plugin = "azure"
  network_profile {
    load_balancer_profile {
      managed_outbound_ip_count = 3
    }
  }
}

通过该配置,我确实有 3 个公共 IP 与集群出站负载均衡器相关联,但目标应用程序访问日志中只出现了一个公共 IP。

有没有办法强制使用所有可用的出口公共 IP?

【问题讨论】:

    标签: kubernetes terraform azure-aks azure-public-ip


    【解决方案1】:

    如果您没有部署服务,那么您不是将 LB 用作 Kubernetes 负载平衡器,而只是用作 SNAT 代理。
    可能在这种情况下,LB 默认使用其主 ip 进行 SNAT 规则。

    AKS 文档在谈到出站池功能时明确提到了服务。

    部署公共服务<...>。 Azure 负载均衡器 将配置一个新的公共 IP,该 IP 将位于这个新的前面 服务。由于 Azure 负载均衡器可以有多个前端 IP, 每个部署的新服务都将获得一个新的专用前端 IP 唯一访问。
    https://docs.microsoft.com/en-us/azure/aks/load-balancer-standard#use-the-public-standard-load-balancer

    尝试按照文档中的建议创建服务(每个外部 ip 一个)。

    【讨论】:

    • 你是对的。似乎设置 managed_outbound_ip_count 对我的用例没有帮助。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-01
    • 2022-10-05
    • 1970-01-01
    • 2015-12-01
    • 1970-01-01
    相关资源
    最近更新 更多