【问题标题】:Kubernetes Ingress Controller without Load Balancer没有负载均衡器的 Kubernetes 入口控制器
【发布时间】:2018-12-28 11:51:06
【问题描述】:

是否可以在没有负载均衡器的情况下在 Kubernetes 中使用 Ingress Controller 功能(在 Digital Ocean 中)。

是否有任何其他机制可以让域名映射到 Kubernetes 服务;例如,如果我在 Kubernetes 集群上托管两个 WordPress 站点:

==> WP 站点 1:节点端口 80 ==> WP 站点 2:节点端口 8080

一个域名如何在不显式输入端口号的情况下映射到容器的8080端口。

感谢任何帮助。

【问题讨论】:

    标签: kubernetes digital-ocean


    【解决方案1】:

    DNS 不支持添加端口号,您需要一个入口控制器(本质上就像一个反向代理)来执行此操作。

    如果您安装 digital ocean cloud controller manager,您将能够使用 LoadBalancer 类型的服务来配置负载均衡器。然后,您可以部署一个标准入口控制器,例如 nginx ingress controller,并指定服务类型=LoadBalancer。

    这将成为您集群的入口,而您只有一个 LoadBalancer,这可以降低成本。

    【讨论】:

    • 是否可以将两个域都指向入口控制器并让入口基于主机名路由到正确的 pod?这可以消除磅以节省成本的需要吗?
    • DO 负载均衡器的成本为 10 美元/月;任何赚钱的东西都很好,但对于一个副项目来说就过分了。应该可以将 NodePort 外部 ip 映射到 80 或 443,而无需通过负载均衡器。
    • @DatTran 我在 Droplet 上设置了一个 NodePort。比 Droplet 重新启动并更改了 IP。我现在将尝试配置一个“浮动 ip”,只要将其分配给一个 droplet,它就不会花费任何额外费用,如果未分配,则每月花费 4,xx 美元。这应该可以解决问题。
    • 请参阅stackoverflow.com/a/55968709/2662,了解使用 Nginx Ingress 而不使用 DO LoadBalancer 的方法
    • 在 DigitalOcean 上使用 Kubernetes 版本 1.14,我不再能够在 30.000 以下执行 NodePort(或者我完全忘记了我在 1.13 中做了什么,但我认为我没有改变什么)。因此我放弃并切换到数字海洋负载均衡器。
    猜你喜欢
    • 2019-06-28
    • 2020-07-29
    • 2019-08-05
    • 2021-05-12
    • 2021-01-14
    • 2021-01-11
    • 2022-01-03
    • 2021-12-18
    • 2019-05-27
    相关资源
    最近更新 更多