【问题标题】:Integrate a Load Balancer IP given by OVH with a Nginx Ingress Controller on a k8s cluster将 OVH 提供的负载均衡器 IP 与 k8s 集群上的 Nginx 入口控制器集成
【发布时间】:2019-08-07 15:26:51
【问题描述】:

我有一个 OVH 提供的负载均衡器 IP,我想在本地集群上与 Nginx Ingress Controller 一起使用。使用 OVH Managed Kubernetes 有几个指南可以做到这一点,但对我来说这是不可能的,因为我已经是一个集群了。

我尝试在使用 Helm 和不使用 Helm 的情况下使用 LoadBalancerIP 选项...

【问题讨论】:

  • Kubernetes LoadBalancer Services 仅适用于可以自动配置 lb 的服务(AWS、GKE、Azure、Docker for X、Minikube)

标签: nginx kubernetes lxc ovh


【解决方案1】:

您应该将 Nginx 入口控制器公开为 NodePort,并将您的 OVH 负载均衡器作为端点指向您的工作人员。

User ---> OVH LB ----> Nginx Ingress on workers

【讨论】:

  • 值得注意的是,NodePort 是一个独立于 Nginx Ingress 本身的实体。 NodePort 将 tcp 连接转发到 Nginx Ingress 控制器。
【解决方案2】:

谢谢两位的回答。我尝试了您推荐的方法,但我认为我遗漏了一点。为了更清楚:

1/用户部分->我有一个OVH LB连接到3节点的服务器,这个LB选择一个用户使用的节点(循环)

2/ 一旦选择了一个节点,用户应该能够使用 LoadBalancer IP 访问 Kubernetes 内的任何服务,即使该服务不在该节点上。

对于第二点,我尝试为 Nginx Ingress Controller 公开/创建一个端点,我在其中提供了 LB 的 IP,但我不知道是否必须为每个服务创建一个 Ingress 对象(仅 2-3像格拉法纳,普罗米修斯..)。我试过了,但没有用。我还尝试为我提供 LB IP 的服务创建一个 Ingress,但它不起作用。请注意,我的 k8s 集群位于 LXD 容器上,这些容器位于 3 个连接的服务器内(每个服务器节点一个 LXD 容器)。另外,关于 OVH LoadBalancer,我对出站 IP(这是一个 CIDR 范围)的用途不是很有信心..

我知道我的 OVH LB 无法自动配置,但由于它的工作是在 k8s 之外完成的(只是将一个节点归于用户),问题是:节点如何基于 URL 访问服务,例如grafana.example.com?我使用 MetalLB 作为内部 LB,它工作得很好,但现在我正在努力使用 OVH LB..

【讨论】:

    猜你喜欢
    • 2019-08-05
    • 2022-01-03
    • 1970-01-01
    • 2019-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多