具有专用服务器的 Kubernetes 负载均衡器

Kubernetes loadbalancer with dedicated servers

我在设置 kubernetes loadbalancer/ingress(例如在端口 80 下)时遇到问题。

我不将它与任何云一起使用,只是 VPS 服务器,每台服务器只有一个 IP。 我正在尝试安装 traefik 但我没有安装 external-ip - 它停留在待处理状态。

我读到在模拟负载均衡器时我需要一些东西,所以我安装了 MetalLB,但它更专用于本地网络而不是 VPS 服务器并且对我不起作用或者我无法配置它。

我的 MetalLB 配置图:

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: default
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - node1_ip
      - node2_ip
      - node3_ip

我应该在该集群上做什么才能在正常端口类型 80 下公开网站,或者可以使用像 traefik 这样的反向代理。

不应该node_ip地址放入MetalLB配置文件。您需要修改它以匹配您连接到的网络的 IP 方案与子网。 LoadBalancer IP 地址将从该范围分配。

如下所示:

apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: metallb-system
      protocol: layer2
      addresses:
      - 192.168.1.240/28