【问题标题】:Azure AKS Load Balancer issue with Azure Network CNI plugin not accessible无法访问 Azure 网络 CNI 插件的 Azure AKS 负载均衡器问题
【发布时间】:2020-08-04 10:12:38
【问题描述】:

我正在使用 Azure CNI plugin 的现有应用程序 AKS 群集上部署 API 应用程序。部署清单是带有 kustomize 的原生 k8s。部署的资源是使用 NGINX 入口控制器的 API 部署,以及 API 本身和 grafana 和 prometheus(通过 prom 运算符)的耦合入口路由。到目前为止,我添加了 1 个入口路由,仅用于访问 API。

当我部署资源时,所有资源都会成功部署,并且公共 IP 会分配给控制器。但是,当我尝试点击公共 IP 来获取端点的响应时。我正在寻求解决问题的帮助。

在看了一些设置之后,我意识到了一些事情:

  1. 负载均衡器的资源组和代理池中的节点有不同的资源组。
  2. NSG 入站和出站规则不在同一个资源组中。

我不确定缺少什么。我尝试更改负载均衡器的资源组,但它没有这样做,但由于验证错误而失败。我还使用默认的 kubenet 网络插件运行了相同的设置,并且成功运行。对此的任何帮助将不胜感激。

【问题讨论】:

  • 还有问题吗?它解决了你的问题吗?如果它适合你,请接受它作为答案。
  • 不接受的理由是什么?也不给任何回应?
  • 您关于添加具有网络角色的服务主体的建议是有道理的,这就是 NSG 没有被入站规则修改的原因。我已经准备好了。感谢您的回复。谢谢
  • 那么你可以接受它作为答案。 :-)
  • 我看你不接受。那么你遇到的问题或者不接受的原因是什么?

标签: azure kubernetes-ingress azure-aks azure-load-balancer


【解决方案1】:

Q1:负载均衡器的资源组和代理池中的节点有不同的资源组。

Azure AKS 是一个单独的资源,但它的组件不是。您需要在资源组中创建 AKS 群集。创建 AKS 群集时,Azure 将创建另一个资源组来放置 AKS 的组件。因此,创建 AKS 时将有两个资源组。这里是details,可以帮助你更好的理解。

我猜你想为 Ingress 控制器分配一个静态公共 IP 地址,并在 AKS 资源所在的资源组中创建静态公共 IP,而不是组件。如果我是对的,那么您需要为 AKS 的服务主体分配网络角色。以下是how to create a static public IP in another resource group的步骤。

Q2:NSG 入站和出站规则不在同一个资源组中。

您不需要关心 AKS 的 NSG 入站和出站规则,Azure 会自行管理它们。您只需关注如何在 AKS 集群中部署应用程序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 2020-05-08
    • 2018-04-02
    • 1970-01-01
    相关资源
    最近更新 更多