Kubunetes(非云)外部访问群集(公共IP)

时间:2019-02-03 09:02:56

标签: networking server kubernetes kubectl

我想建立自己的集群,所以我打算购买3个树莓pi(作为服务器),其中1个用于主节点,另外2个用于工作节点。我有一个公共IP(路由器)。我将使用kubeadm创建一个主节点。并使用令牌从其他2个剩余的ras-pi加入主节点。所有树莓派都在同一局域网(路由器)中。通常,如果我在端口80的笔记本电脑上运行网络服务器。我的笔记本电脑具有192.168.1.3专用IP。而且我将端口从路由器转发到笔记本电脑。我可以通过Public Ip访问网站。如果我在容器上运行Web服务器,并在2个工作节点(树莓派)上使用k8进行负载均衡,那么我该如何处理呢?我应该在哪里从路由器转发端口。因此,如何将客户端从公共ip带到我自己的群集中的任何服务。我对此进行了研究,可以使用节点端口进行访问,但是我认为这样做不好,因为它不通过群集直接访问主机,因此另一种方法是制作自己的负载均衡器,但我不知道该怎么做< / p>

所以我想获得一些建议,例如如何做或达到我的目标的任何方法。我不在乎这是艰难还是艰难。我只是想成功获得它的知识并发布它,请有人可以澄清我

2 个答案:

答案 0 :(得分:0)

使用nginx入口控制器将呼叫路由到集群中的k8s服务。这样,您不必使用节点端口类型的服务对象。

答案 1 :(得分:0)

请考虑将MetalLB(用于裸机Kubernetes集群的负载均衡器实现)与NGINX Ingress控制器一起使用。

这将需要在家庭路由器中的端口(80/443)上设置端口转发到您的工作节点之一。

这是您的情况下的设置:

enter image description here