0

我正在尝试向牧场主集群之外的世界公开服务。

Api1.mydomain.com、api2.mydomain.com 等应该可以访问。

在牧场主内部,我们有几个集群。我尝试专门使用一个集群。它跨越 3 个节点 node1cluster1、node2cluster1 和 node2cluster1。

我在 Rancher 集群中添加了入口,将 api1.mydomain.com 的服务请求转发到特定的工作负载。

在我们的 DNS 上,我输入了要转发的 api1.mydomain.com,但它还没有工作。

我应该使用哪个 IP URL 来输入 DNS?应该是rancher.mydomain.com,rancher的web gui运行的地方吗?它应该是具有入口(Node1cluster1)的集群的单个节点吗?

这两种选择似乎都不理想。这样做的正确方法是什么?

我正在寻找一种向外界公开完整网址的解决方案。(公开端口不是一种选择,因为公司 dns 无法转发给它们。)

4

1 回答 1

1

基于提供的输入的简单答案:使用 Node1cluster1 的 IP 地址创建一个 DNS 条目。

我不确定你是如何安装入口控制器的,但默认情况下,它被部署为“DaemonSet”。因此,您可以使用任何一个集群节点的 IP 地址,也可以使用集群节点的所有 IP 地址。(不要指望 DNS 负载平衡)。

另一种选择是在前面有一个负载均衡器,所有节点 IP 地址都配置为实际分配流量。

我见过的另一种策略是通过使用 taints/tolerations 让少数节点专用于运行 Ingress,而不是使用它们来调度常规工作负载。

于 2019-04-15T03:24:16.393 回答