azure - 如何在 Azure 中为 Kubernetes Ingress Controller 创建负载均衡器 (IAAS)

标签 azure kubernetes azure-load-balancer

我在 Azure 中使用 ACS-engine 创建了 Kubernetes 集群并安装了 Ingress Controller 。

我部署了一个服务:

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

我使用 NGinx 创建了一个虚拟机,以便获得外部访问,并使用虚拟机的外部 IP,这样对服务的外部访问是存在的。

我的目标:

  • 将虚拟机替换为 Azure IAAS 负载均衡器。

我使用 UI 执行的步骤:

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

  2. 点击创建资源 -> 网络 -> 负载均衡器 -> 选择在第 1 步中创建的公共(public) IP -> 使用相同的资源组。

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

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

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

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

问题:

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

谢谢。

最佳答案

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

How to get the traffic logs ?

您可以像这样使用命令 kubectl logs azure-vote-front-7976b7dcd9-m7445 来获取 Pod 日志。您可以通过kubectl logs podName获取更多详情。以及这里的测试截图。 enter image description here

Can i run TCPDUMP ?

如果您想在 Kubernets 节点中运行 TCPDUMP,您可以 ssh 进入该节点并使用 root 权限运行 TCPDUMP。以及这里的测试截图。 enter image description here

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

关于azure - 如何在 Azure 中为 Kubernetes Ingress Controller 创建负载均衡器 (IAAS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51477687/

相关文章:

c# - 想要使用新的 sdk - Azure.Storage.Blobs 包从 blob 内的文件夹下载和上传文件

Azure 自定义策略,仅允许在 ASE 上创建 Azure Functions

Azure 数据工厂映射数据流 VS SSIS

具有粘性 session 的 Azure 负载平衡

azure-iot-sdk-c 子模块/库版本

spring-boot - Spring Boot +谷歌kubernetes +谷歌SQL云无法正常工作

azure - 使用 CSI 驱动程序获取 secret 后,未在 AKS 中创建 secret

kubernetes - GKE Loadbalancer 如何添加 SSL 证书

azure - Azure 中可用区的限制

Azure 标准内部负载均衡器后端计算机部分 Internet 访问