我在Azure中使用ACS引擎创建了Kubernetes集群并安装了Ingress控制器 .
我部署了一项服务:
- 在运行命令curl:/ myservice的集群内部给出预期的响应 .
我使用NGinx创建了一个VM,以便获得外部访问权限并使用VM的外部IP,因此存在对服务的外部访问 .
我的目标:
- 用Azure IAAS Loadbalancer替换VM .
我使用UI做的步骤:
-
单击创建资源 - >创建公共IP地址 - >设置IP名称 - >设置分配静态 - >定义资源组 .
-
单击创建资源 - >网络 - >负载均衡器 - >选择在步骤#1中创建的公共用户 - >使用相同的资源组 .
-
创建了运行状况探测 - >协议HTTP,端口32597(入口端口)和路径/ myservice
-
将后端池定义为Kubernetes节点(代理)的可用性集 .
-
创建的入站NAT规则:服务:自定义 . 端口:32597.可用性集:Kubernetes节点(代理)
与VM不同,我无法访问该网站,我没有在Loadbalncer日志中看到任何信息 .
问题:
-
如何获取流量日志?
-
我可以运行TCPDUMP吗?
-
如何解决问题?
谢谢 .
1 回答
据我所知,如果您想通过Load Balancer访问Azure Kubernets群集中的网站,则应设置Load Balancer规则,而不是NAT规则 . 这里的规则截图 .
您可以使用命令
kubectl logs azure-vote-front-7976b7dcd9-m7445
来获取pods日志 . 您可以从kubectl logs podName获取更多详细信息 . 这里的测试截图 .如果要在Kubernets节点中运行TCPDUMP,可以使用root权限ssh进入节点并运行TCPDUMP . 这里的测试截图 .
对于你的第三个问题,你可以按照我在开头说的建议 .