如何在使用kubeadm
创建的Kubernetes集群上公开运行在Docker容器中的Web应用程序?我希望能够使用常规端口(80或443)在IP地址上访问应用程序。我尝试过:
kubectl expose deployments/mywebsite --type=NodePort --port=80
但是我只能通过高端口号访问它。
使用--type=LoadBalancer
,但外部IP停留在Pending
上。
是否可以通过自定义群集上的IP和低端口访问我的Web应用?
答案 0 :(得分:1)
您是否在AWS或云提供商上运行Kubernetes集群?如果不是,则不能使用服务类型的负载均衡器。
在nodeport上公开应该没问题,它将在集群节点上的30k-32k范围内分配一个高随机端口。
要使用低端端口(例如80),请将外部负载均衡器指向Kubernetes nodePort服务。
外部负载均衡器上的用户端口80,例如nginx或apache
您还可以使用入口控制器。