我是Kubernetes的新手,想了解如何将Kubernetes中运行的服务向外界公开。我已经使用集群上的NodePort公开了它。 因此,例如:服务公开了主机上的端口31234,我可以通过https://kubeserverIP:31234从另一台服务器访问该服务。
我要实现的是通过url,例如http://service.example.com通过nginx(在另一台服务器上,在Kube控件之外)提供此服务。我尝试使用上游指向该服务的方式部署nginx,但这种方法无法正常工作,并且收到错误的网关错误。
这里是否缺少我想要的东西?还是有一种更简洁的方法来实现这一目标。
我安装了Kubernetes集群的裸机,无法访问gce负载平衡器或其他供应商LB。
谢谢
答案 0 :(得分:5)
您快到了!下一步将设置ingress controller。有一个NGINX Ingress控制器插件,您可以检出here。
编辑:这是一个示例配置:https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example
答案 1 :(得分:3)
感谢您指出正确的方向。
基本步骤大致是:
创建一个应用及其服务定义。
为入口创建名称空间。
找到了一个非常有用的指南,其中详细解释了一些事情: https://akomljen.com/kubernetes-nginx-ingress-controller/