如何在kubernetes中公开在Barematel上运行的服务



Kubernetes版本:1.10在Barematel 上运行

没有。主控数量:3

我们在一个Kubernetes集群中运行我们的多个微服务。目前,我们正在使用NodePort在集群之外公开这些服务。每个微服务都有自己的NodePort,所以我们必须维护一个相应微服务的列表。由于我们在Barematel上运行,在公开微服务时,我们没有像LodeBalancer这样的功能。

问题:-由于集群内有多个主机和工作程序,因此我们必须一次为任何主机使用静态IP或DNS。如果我想从集群之外访问任何服务,我必须使用-IP_ADDRESS:NODEPORTDNS:NODEPORT。一次我可以使用任何一位大师的地址。如果那个主机出故障,那么我必须用其他主机的地址更改微服务地址。我不想使用任何主机的静态IP或DNS。

在没有NodePort的情况下,我们有什么更好的方式来公开这些微服务?Baremetal上有类似LoadBalancer的功能吗?INGRESSNginx能帮助我们吗?

Baremetal有一个LoadBalancer,它被称为METALLB。Project在GitHub上可用,不幸的是,这个解决方案处于alpha状态,而且更复杂。

您也可以按照NGINX的说明,为TCP或UDP设置循环方法。

Ingress仅支持端口80443上的http。你当然可以设置自己的入口控制器,但这将是一项大量的额外工作。

NodePort的缺点是可用端口数量有限,从30000到32767,如果机器的IP发生更改,您的服务将无法访问。

相关内容

  • 没有找到相关文章

最新更新