使用nginx反向代理在Kubernetes中公开服务

使用nginx反向代理在Kubernetes中公开服务,kubernetes,kubernetes-ingress,kubernetes-service,Kubernetes,Kubernetes Ingress,Kubernetes Service,我是Kubernetes的新手,希望了解如何向外界公开在Kubernetes中运行的服务。我已经使用集群上的节点端口公开了它。 例如,一个服务在主机上公开端口31234,我可以通过另一台服务器访问该服务 我想要实现的是通过nginx(在另一台服务器上,不受Kube控制)通过一个url(比如,)来提供这项服务。我已经尝试过部署nginx,上游指向服务,但这不起作用,并且出现了一个错误的网关 这里有我遗漏的东西吗?或者有没有更简洁的方法来实现这一点 我有Kubernetes群集的裸金属安装,无法访问

我是Kubernetes的新手,希望了解如何向外界公开在Kubernetes中运行的服务。我已经使用集群上的节点端口公开了它。 例如,一个服务在主机上公开端口31234,我可以通过另一台服务器访问该服务

我想要实现的是通过nginx(在另一台服务器上,不受Kube控制)通过一个url(比如,)来提供这项服务。我已经尝试过部署nginx,上游指向服务,但这不起作用,并且出现了一个错误的网关

这里有我遗漏的东西吗?或者有没有更简洁的方法来实现这一点

我有Kubernetes群集的裸金属安装,无法访问gce负载平衡器或其他供应商LBs


谢谢

你就快到了!您的下一步将是设置。有一个NGINX入口控制器插件,您可以签出


编辑:下面是一个配置示例:

感谢您指向正确的方向

基本步骤包括:

  • 创建应用及其服务定义

  • 为入口创建名称空间

  • 创建默认后端部署和服务,用于重定向入口规则中未定义的所有请求。在入口空间中创建这些
  • 创建nginx入口控制器部署
  • 创建RBAC规则
  • 最后,使用路径和端口为应用程序创建入口规则
  • 找到了一个非常有用的指南,详细解释了事情:

    在完整的示例链接中,我看不到ngnix的配置位置。