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

时间:2020-05-04 00:21:50

标签: networking kubernetes kubernetes-ingress

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

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

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

  • 我在集群上运行部署,并且正在运行

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

如果我使用的是Minikube,我将使用LoadBalancer在外部公开该服务。

故障排除:

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

我在问是否有人可以帮助我建立一个运行良好的世界,但为此裸机集群选择合适的体系结构。

谢谢。

2 个答案:

答案 0 :(得分:1)

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

您还可以将其与Nginx之类的裸机Ingress控制器结合使用。

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

我已经成功地使用了这种组合以及指向一个集群IP的通配符域(例如* .mydomain)。这样可以定义任意数量的组合,以指向群集上部署的不同服务(例如,service1.mydomain,service2.mydomain等)。

我还建议安装Helm,因为这将大大帮助您进行部署。您可以为大多数广泛使用的服务找到很多图表,它使您能够轻松配置它们。同样,为将来的服务创建图表以及进行良好的维护和自定义也是一种很好的做法。

答案 1 :(得分:0)

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