我是Kubernetes的新手,想了解如何将Kubernetes中运行的服务暴露给外界 . 我在群集上使用NodePort公开了它 . 因此,例如:服务公开主机上的端口31234,我可以通过https://kubeserverIP:31234从另一台服务器获取服务 .
我想要实现的是通过nginx(在不同的服务器上,在Kube控件之外)通过URL提供此服务,比如说http://service.example.com . 我已经尝试使用指向服务的上游部署nginx,但这不起作用并且出现错误的网关错误 .
这里有什么我想念的吗?或者是否有更简洁的方法来实现这一目标 .
我有一个裸机安装的Kubernetes集群,无法访问gce负载均衡器或其他供应商的LB.
谢谢
2 回答
你快到了!您的下一步将是设置ingress controller . 有一个NGINX Ingress控制器插件,你可以检查here .
编辑:这是一个示例配置:https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/complete-example
谢谢你指出了正确的方向 .
基本步骤广泛:
创建应用及其服务定义 .
为ingress创建命名空间 .
创建默认后端部署和服务,以重定向未在Ingress规则中定义的所有请求 . 在入口空间中创建这些
创建nginx入口控制器部署 .
创建RBAC规则 .
最后为具有路径和端口的应用程序创建入口规则 .
找到了一个非常有用的指南,详细解释了一些事情:https://akomljen.com/kubernetes-nginx-ingress-controller/