【问题标题】:How do I configure my DNS to work with Rancher 2.0 ingress?如何配置我的 DNS 以使用 Rancher 2.0 入口?
【发布时间】:2019-02-05 06:14:31
【问题描述】:

我是 Kubernetes 和 Rancher 的新手,但我有一个集群设置和一个工作负载部署。我正在考虑设置入口,但对我的 DNS 应该是什么样子感到困惑。

我会保持简单:我有一个域 (example.com),我希望能够配置 DNS,以便将其路由到我的 3 节点集群中的正确 IP,然后路由到正确的入口和负载均衡器,最终分配给工作负载。

我对 xip.io 的东西不感兴趣,因为我需要真实世界的东西,而不是沙盒,而且 Rancher 网站上没有说明我应该做什么的文档。

我应该通过 Kubernetes 运行我自己的 DNS 吗?我正在使用 DigitalOcean droplets,但还没有找到任何方法让 Rancher 为我设置 DNS 记录(正如它声称为其他云提供商所做的那样)。

这真的很令人沮丧,因为它基本上是您需要做的第一件事,也是唯一要做的事情……“将应用程序暴露给外界”,这在某种程度上并不简单。

希望有任何帮助,或者有人向我解释我从根本上是多么愚蠢以及我缺少什么!

谢谢。

【问题讨论】:

    标签: dns kubernetes rancher kubernetes-ingress nginx-ingress


    【解决方案1】:

    你不傻,伙计。这件事变得复杂。您使用的是 AWS 还是 GKE?大多数部署 kubernetes 的方法将默认部署一个内部 DNS 解析器用于集群内通信。这些 URL 仅在集群内部有用。它们采用<service-name>.<namespace>.svc.cluster.local的形式,对外界没有任何意义。

    但是,将服务暴露给外部世界是另一回事。在 AWS 上,您可以通过将服务的 ServiceType 设置为 LoadBalancer 来执行此操作,其中 kubernetes 将自动启动 AWS LoadBalancer,并附带一个公共域名,并将其配置为指向集群内的服务。然后,您可以在此处配置您拥有的任何域名以指向该负载均衡器。

    【讨论】:

    • 感谢格兰特。碰巧的是,我在 DigitalOcean 上运行所有东西,所以这可能是事情变得棘手的地方。 AWS 和 GKE 之外的基础设施有什么可以做的吗?
    • 对不起,我错过了。看起来 DigitalOcean 的平台在 Kubernetes 支持方面还很不成熟。如果它还没有提供负载均衡器,您可以将服务配置为 NodePort 类型,这有效地公开每个节点上的特定端口以指向该服务。这意味着您可以通过指向该特定端口上的任何节点 IP 地址来公开访问该服务(只要它位于公共网络上)。这在技术上不需要 DNS。
    猜你喜欢
    • 2018-07-11
    • 2021-08-08
    • 2022-10-14
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 2020-12-20
    • 2021-02-04
    • 2021-02-25
    相关资源
    最近更新 更多