如何在 Azure 中为 Kubernetes Ingress 控制器创建负载均衡器 (IAAS)

How to create loadbalancer (IAAS) in Azure for Kubernetes Ingress controller

我在 Azure 中使用 ACS 引擎创建了 Kubernetes 集群并安装了 Ingress 控制器。

我部署了一个服务:

我使用 NGinx 创建了一个 VM 以获得外部访问并使用 VM 的外部 IP 存在对服务的这种外部访问。

我的目标:

我使用 UI 完成的步骤:

  1. 点击创建资源->创建publicIP地址->设置IP名称->设置静态分配->定义资源组。

  2. 单击创建资源 -> 网络 -> 负载均衡器 -> select 在步骤 #1 中创建的 publicip -> 使用相同的资源组。

  3. 已创建健康探测 -> 协议 HTTP、端口 32597(入口端口)和路径 /myservice

  4. 将后端池定义为 Kubernetes 节点(代理)的可用性集。

  5. 已创建入站 NAT 规则: 服务:定制。 端口:32597。 可用性集:Kubernetes 节点(代理)

与 VM 不同,我无法访问该网站,而且我在 Loadbalncer 日志中没有看到任何信息。

问题:

  1. 如何获取流量日志?
  2. 我可以 运行 TCPDUMP 吗?
  3. 如何解决这个问题?

谢谢。

据我所知,如果你想通过Load Balancer访问Azure Kubernets Cluster中的网站,你应该设置Load Balancer规则,而不是NAT规则。规则截图在这里。

How to get the traffic logs ?

您可以像这样使用命令 kubectl logs azure-vote-front-7976b7dcd9-m7445 来获取 pods 日志。您可以从 kubectl logs podName 获取更多详细信息。测试截图在这里。

Can i run TCPDUMP ?

如果你想运行 Kubernets 节点中的TCPDUMP,你可以ssh 进入该节点并运行 具有root 权限的TCPDUMP。测试截图在这里。

你的第三个问题,你可以按照我一开始说的建议去做。