【问题标题】:Exposing service to the internet from a bare metal kubernetes cluster从裸机 kubernetes 集群向 Internet 公开服务
【发布时间】:2020-07-13 16:54:12
【问题描述】:

我正在运行一个具有 1 个主节点和 2 个从节点的 Kuberenets。我有一个使用 NodePort 类型指向它的部署和服务。我可以从工作人员自己访问服务,但我想以一种在工作人员之间进行负载平衡且不指定端口的方式公开服务。我在裸机上运行,​​所以我不能将服务公开为 LoadBalancer 并使用 google/amazon 负载平衡。 我该怎么做?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    您可以使用metalLB 连接到您的 Kubernetes 集群,并提供网络负载平衡器实现。简而言之,它允许您在不在云提供商上运行的集群中创建 LoadBalancer 类型的 Kubernetes 服务,因此不能简单地连接到付费产品以提供负载均衡器。

    它有两个功能共同提供此服务:地址分配和外部公告

    MetalLB 需要以下条件才能运行:

    1. 运行 Kubernetes 1.13.0 或更高版本的 Kubernetes 集群,它还没有网络负载平衡功能。
    2. 可以与 MetalLB 共存的集群网络配置。
    3. 一些 IPv4 地址供 MetalLB 分发。
    4. 根据操作模式,您可能需要一台或多台能够使用 BGP 的路由器。

    【讨论】:

    • nginx 也会这样做吗?
    • 你的意思是 nginx 作为入口控制器?
    • 是的,我可以只使用 nginx 吗?
    • Nginx 不能作为LoadBalancer 类型服务的实现工作。它作为ingress 的实现工作
    • 是否可以仅使用 nginx 将我的服务公开到互联网?
    猜你喜欢
    • 2021-12-25
    • 1970-01-01
    • 2020-08-18
    • 2019-01-05
    • 2020-10-14
    • 2021-12-21
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多