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