Azure Kubernetes 负载均衡器不工作

Azure Kubernetes Load Balancer not working

在 Azure 上部署 NGINX 演示容器和设置负载均衡器,页面无法加载。 我认为这是 NSG 上的一些问题,有人能告诉我哪里出了问题吗?

kubectl run hello-app --image=nginxdemos/hello --port=80
kubectl expose pod hello-app --type="LoadBalancer"

验证服务是 运行,并检查外部 IP。

kubectl get svc hello-app
NAME        TYPE           CLUSTER-IP    EXTERNAL-IP    PORT(S)        AGE
hello-app   LoadBalancer   10.0.214.81   20.25.212.62   80:31162/TCP   16m

打开浏览器并访问网站,页面未加载。

curl http://20.25.212.62:31162

服务器和客户端版本

kubectl version
Client Version: v1.24.0
Kustomize Version: v4.5.4
Server Version: v1.22.6

Azure AKS 部署脚本

https://github.com/scout249/k8s-learn/blob/main/azure-k8s.sh

您正在访问错误的端口。

如果您创建 Kubernetes 服务类型 LoadBalancer 默认情况下,它将使用节点端口公开并在 Azure 中创建负载均衡器并将所有 Kubernetes 工作节点添加为目标

如果你向负载均衡器发送任何请求,在后台它会向任何一个具有节点端口的节点发送请求。

例如,如果集群中有两个节点

节点1、节点2

curl loadbalaner-ip:80 -> node1:nodeport 或 node2:nodeport

运行 下面的命令

curl http://20.25.212.62

curl http://20.25.212.62:80