1

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

我部署了一个服务:

  • 在集群内部运行命令 curl :/myservice 给出预期的响应。

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

我的目标:

  • 将 VM 替换为 Azure IAAS 负载均衡器。

我使用 UI 执行的步骤:

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

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

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

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

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

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

问题:

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

谢谢你。

4

1 回答 1

0

As I know, if you want to reach the website in Azure Kubernets Cluster through Load Balancer, you should set Load Balancer rules, not NAT rules. And the rules screenshot here. enter image description here

How to get the traffic logs ?

You can use the command kubectl logs azure-vote-front-7976b7dcd9-m7445 like this to get the pods logs. You can get more details from kubectl logs podName. And the test screenshot here. enter image description here

Can i run TCPDUMP ?

If you want to run TCPDUMP in the Kubernets node, you can ssh into the node and run TCPDUMP with the root permission. And the test screenshot here. enter image description here

For your third question, you can follow the suggestion which I say at the beginning.

于 2018-07-24T09:39:50.603 回答