繁体   English   中英

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

[英]Exposing a Kubernetes service on a bare-metal cluster over the external network architecture

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

  • 集群是跨多台服务器构建的; 每个服务器包含一组节点。

  • 连接是通过 LAN 上的公共 ip 地址完成的。

  • 我在集群上运行部署并且它正在工作

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

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

故障排除:

  1. 我正在考虑使用入口控制器或 NodePort 服务作为访问 pods-network 的解决方案。
  2. 我试图公开一个 NodePort 服务,但我没有得到一个外部 ip。

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

谢谢你。

我建议使用MetalLB ,它是裸机集群的 LoadBalancer。

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

关于 Nginx,您可以 在此处找到更多详细信息。

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

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

Nodeport 服务在这里提供帮助 在裸机中,您可以将 host1、master 作为集群成员。 如果您在节点端口 ex: 31000 上创建节点端口服务,您可以使用 http://host1IP:31000/ 进行 QA

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM