Azure Kubernetes Service未生成LoadBalancer,网站发布端口配置存疑
AKS部署网站:Service选择与端口配置指南
一、LoadBalancer Service 还是 Ingress?
- 单网站部署优先选LoadBalancer类型的Service,操作简单,不需要额外部署控制器。Azure会自动为它分配公网IP,直接就能对外访问。
- 如果你需要多网站共享公网IP、路径路由(比如
/blog指向博客服务,/admin指向后台服务)或者统一管理SSL证书,再考虑用预览版Ingress——但要注意Ingress需要先部署对应的控制器(比如NGINX Ingress Controller),步骤更繁琐。
二、Port Number与Target Port怎么填?
- Target Port:必须和你的Pod内应用实际监听的端口一致。比如你的网站用Nginx/Apache,默认是80;如果是Spring Boot、Node.js应用,常见是8080。
- Port Number:是Service对外暴露的端口,可与Target Port相同,也可不同。比如Service用80,Target Port用8080,集群内部访问时用Service的80端口,会自动转发到Pod的8080。
- 你在DevOps流水线里选的8080作为Service Port,完全可以同时设为Port Number和Target Port——前提是你的应用容器内部确实在监听8080端口。如果应用监听的是80,那Target Port要改成80,Port Number可保留8080或改成80。
三、快速配置示例
如果你的应用监听8080,LoadBalancer Service的核心配置片段大概是这样:
apiVersion: v1 kind: Service metadata: name: my-web-service spec: type: LoadBalancer ports: - port: 8080 targetPort: 8080 selector: app: my-web-app
创建后,通过kubectl get services就能看到分配的公网IP,访问http://<公网IP>:8080就能打开网站。
内容的提问来源于stack exchange,提问作者Aleksander Chelpski
相关产品推荐
相关产品推荐

