无法访问 Azure 网络 CNI 插件的 Azure AKS 负载均衡器问题
Azure AKS Load Balancer issue with Azure Network CNI plugin not accessible
我正在使用 Azure CNI plugin
的现有应用程序 AKS 集群上部署 API 应用程序。部署清单是带有 kustomize 的原生 k8s。部署的资源是 API 使用 NGINX Ingress 控制器部署,并为 API 本身和 grafana 和 prometheus(通过 prom 操作员)耦合入口路由。到目前为止,我已经添加了 1 条入口路由,仅用于访问 API.
当我部署资源时,所有资源都已成功部署,并且 Public IP 已分配给控制器。但是,当我尝试点击 public IP 来获取端点的响应时。我正在寻求一些帮助来解决问题。
稍微查看设置后,我意识到了一些事情:
- 负载均衡器的资源组和代理池中的节点具有不同的资源组。
- NSG 入站和出站规则不在同一个资源组中。
我不确定缺少哪一块。我尝试更改负载均衡器的资源组,但它并没有这样做,并因验证错误而失败。我还 运行 使用默认的 kubenet 网络插件进行了相同的设置,并且它成功运行。对此的任何帮助将不胜感激。
Q1:Load Balancer的资源组和代理池中的节点有不同的资源组。
Azure AKS 是一个单独的资源,但它的组件不是。你需要在资源组中创建 AKS 群集。在创建 AKS 集群时,Azure 会创建另一个资源组来放置 AKS 的组件。所以创建AKS的时候会有两个资源组。这里有details帮助你更好地理解它。
而且我猜您想为 Ingress 控制器分配一个静态 public IP 地址,并在 AKS 资源所在的资源组中创建静态 public IP,而不是组件。如果我是对的,那么您需要为 AKS 的服务主体分配网络角色。以下是 how to create a static public IP in another resource group.
的步骤
Q2:NSG入站和出站规则不在同一个资源组中。
您无需关心AKS 的NSG 入站和出站规则,Azure 会自行管理。您只需要关注如何在 AKS 群集中部署应用程序。
我正在使用 Azure CNI plugin
的现有应用程序 AKS 集群上部署 API 应用程序。部署清单是带有 kustomize 的原生 k8s。部署的资源是 API 使用 NGINX Ingress 控制器部署,并为 API 本身和 grafana 和 prometheus(通过 prom 操作员)耦合入口路由。到目前为止,我已经添加了 1 条入口路由,仅用于访问 API.
当我部署资源时,所有资源都已成功部署,并且 Public IP 已分配给控制器。但是,当我尝试点击 public IP 来获取端点的响应时。我正在寻求一些帮助来解决问题。
稍微查看设置后,我意识到了一些事情:
- 负载均衡器的资源组和代理池中的节点具有不同的资源组。
- NSG 入站和出站规则不在同一个资源组中。
我不确定缺少哪一块。我尝试更改负载均衡器的资源组,但它并没有这样做,并因验证错误而失败。我还 运行 使用默认的 kubenet 网络插件进行了相同的设置,并且它成功运行。对此的任何帮助将不胜感激。
Q1:Load Balancer的资源组和代理池中的节点有不同的资源组。
Azure AKS 是一个单独的资源,但它的组件不是。你需要在资源组中创建 AKS 群集。在创建 AKS 集群时,Azure 会创建另一个资源组来放置 AKS 的组件。所以创建AKS的时候会有两个资源组。这里有details帮助你更好地理解它。
而且我猜您想为 Ingress 控制器分配一个静态 public IP 地址,并在 AKS 资源所在的资源组中创建静态 public IP,而不是组件。如果我是对的,那么您需要为 AKS 的服务主体分配网络角色。以下是 how to create a static public IP in another resource group.
的步骤Q2:NSG入站和出站规则不在同一个资源组中。
您无需关心AKS 的NSG 入站和出站规则,Azure 会自行管理。您只需要关注如何在 AKS 群集中部署应用程序。