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

时间:2018-07-23 11:26:47

标签: azure kubernetes azure-load-balancer

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

我部署了一项服务:

  • 在群集中运行命令curl:/ myservice的服务器将给出预期的响应。

我使用NGinx创建了一个VM,以便获得外部访问,并使用VM的外部IP来实现对该服务的外部访问。

我的目标:

  • 使用Azure IAAS负载平衡器替换虚拟机。

我使用用户界面所做的步骤:

  1. 单击创建资源->创建公共IP地址-> IP的名称->静态分配->定义资源组。

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

  3. 创建的健康状况探针->协议HTTP,端口32597(入口端口)和路径/ myservice

  4. 将后端池定义为Kubernetes节点(代理)的Availabilityset。

  5. 创建的入站NAT规则: 服务:定制。 端口:32597。 Availabilityset:Kubernetes节点(代理)

与VM不同,我无法访问网站,并且我在Loadbalncer中看不到任何信息。

问题:

  1. 如何获取交通日志?
  2. 我可以运行TCPDUMP吗?
  3. 如何解决此问题?

谢谢。

1 个答案:

答案 0 :(得分:0)

据我所知,如果要通过负载均衡器访问Azure Kubernets群集中的网站,则应设置负载均衡器规则,而不是NAT规则。以及规则截图。 enter image description here

  

如何获取交通日志?

您可以像这样使用命令kubectl logs azure-vote-front-7976b7dcd9-m7445获取pod日志。您可以从kubectl logs podName获取更多详细信息。还有测试屏幕截图。 enter image description here

  

我可以运行TCPDUMP吗?

如果要在Kubernets节点中运行TCPDUMP,则可以SSH到该节点并以root权限运行TCPDUMP。还有测试屏幕截图。 enter image description here

对于第三个问题,您可以按照我在开始时所说的建议进行操作。