networking - 通过外部网络架构在裸机集群上公开 Kubernetes 服务

标签 networking kubernetes kubernetes-ingress

我已经构建了一个裸机多节点、多服务器 Kubernetes 集群,这是我的第一次体验。

  • 集群是跨多台服务器构建的;每个服务器包含一组节点。
  • 连接是通过 LAN 上的公共(public) IP 地址完成的。
  • 我在集群和 上运行部署它正在工作 .

  • 但我想通过外部网络公开服务。

    如果我使用 Minikube,我会使用 LoadBalancer 将服务公开到外部。

    疑难解答:
  • 我正在考虑使用入口 Controller 或 NodePort 服务作为访问 pod 网络的解决方案。
  • 我试图公开一个 NodePort 服务,但我没有获得外部 ip。

  • 我在问是否有人可以帮助我设置一个正在运行的 hello-world,但是为这个裸机集群选择正确的架构。

    谢谢你。

    最佳答案

    我建议使用 MetalLB这是裸机集群的负载平衡器。

    您也可以将其与裸机 Ingress Controller 结合使用,例如 Nginx .

    关于 Nginx,您可以找到更多详细信息 here .

    我已经成功地使用了这种组合以及指向集群 IP 之一的通配符域(例如 *.mydomain)。这允许定义尽可能多的组合,以指向部署在集群上的不同服务(例如 service1.mydomain、service2.mydomain 等)。

    我还建议安装 Helm因为这将极大地帮助您进行部署。您可以为大多数广泛传播的服务找到很多图表,并且它使您能够轻松配置它们。此外,为您的 future 服务以及良好的维护和定制创建图表也是一个很好的做法。

    关于networking - 通过外部网络架构在裸机集群上公开 Kubernetes 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61583350/

    相关文章:

    kubernetes - 我可以在给定图表的所有版本上运行 Helm 命令吗?

    spring-boot - kubernetes中的Spring Boot服务始终以HTTP状态400响应

    networking - 如何知道 net.Listener 何时正确关闭?

    linux - 如何在内核中拦截TCP层的数据包来分析数据?

    networking - tun/tap 接口(interface)与物理设备通信

    java - 如何在不使用调制解调器或接入点的情况下在 WIFI 下在 java(PC) 和 android 之间进行通信?

    kubernetes - Kubernetes服务运行正常,但无法从外部访问

    kubernetes - RocketChat android应用SSL连接问题

    kubernetes - Istio路由端口规范

    amazon-web-services - Kubernetes - Ingress-nginx 路由错误(无法将前端连接到后端)