如何在 Azure 中为 Kubernetes Ingress 控制器创建负载均衡器 (IAAS)
How to create loadbalancer (IAAS) in Azure for Kubernetes Ingress controller
我在 Azure 中使用 ACS 引擎创建了 Kubernetes 集群并安装了 Ingress 控制器。
我部署了一个服务:
- 在集群内部运行使用命令 curl :/myservice 给出预期的响应。
我使用 NGinx 创建了一个 VM 以获得外部访问并使用 VM 的外部 IP 存在对服务的这种外部访问。
我的目标:
- 用 Azure IAAS 负载均衡器替换 VM。
我使用 UI 完成的步骤:
点击创建资源->创建publicIP地址->设置IP名称->设置静态分配->定义资源组。
单击创建资源 -> 网络 -> 负载均衡器 -> select 在步骤 #1 中创建的 publicip -> 使用相同的资源组。
已创建健康探测 -> 协议 HTTP、端口 32597(入口端口)和路径 /myservice
将后端池定义为 Kubernetes 节点(代理)的可用性集。
已创建入站 NAT 规则:
服务:定制。
端口:32597。
可用性集:Kubernetes 节点(代理)
与 VM 不同,我无法访问该网站,而且我在 Loadbalncer 日志中没有看到任何信息。
问题:
- 如何获取流量日志?
- 我可以 运行 TCPDUMP 吗?
- 如何解决这个问题?
谢谢。
据我所知,如果你想通过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。测试截图在这里。
你的第三个问题,你可以按照我一开始说的建议去做。
我在 Azure 中使用 ACS 引擎创建了 Kubernetes 集群并安装了 Ingress 控制器。
我部署了一个服务:
- 在集群内部运行使用命令 curl :/myservice 给出预期的响应。
我使用 NGinx 创建了一个 VM 以获得外部访问并使用 VM 的外部 IP 存在对服务的这种外部访问。
我的目标:
- 用 Azure IAAS 负载均衡器替换 VM。
我使用 UI 完成的步骤:
点击创建资源->创建publicIP地址->设置IP名称->设置静态分配->定义资源组。
单击创建资源 -> 网络 -> 负载均衡器 -> select 在步骤 #1 中创建的 publicip -> 使用相同的资源组。
已创建健康探测 -> 协议 HTTP、端口 32597(入口端口)和路径 /myservice
将后端池定义为 Kubernetes 节点(代理)的可用性集。
已创建入站 NAT 规则: 服务:定制。 端口:32597。 可用性集:Kubernetes 节点(代理)
与 VM 不同,我无法访问该网站,而且我在 Loadbalncer 日志中没有看到任何信息。
问题:
- 如何获取流量日志?
- 我可以 运行 TCPDUMP 吗?
- 如何解决这个问题?
谢谢。
据我所知,如果你想通过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。测试截图在这里。
你的第三个问题,你可以按照我一开始说的建议去做。