首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用运行在不同vps服务器上的kubernetes配置metallb

使用运行在不同vps服务器上的kubernetes配置metallb
EN

Stack Overflow用户
提问于 2020-09-21 21:42:50
回答 2查看 1.4K关注 0票数 2

我有一个运行中的Kubernetes集群,它由运行在VPS服务器上的3个节点和一个节点组成,每个节点和主节点都有自己的公共IP和浮动IP,并且所有这些IP都不同于其他IP。

我正在尝试将metallb配置为我的Kubernetes集群的负载均衡器,但我不知道如何将metalLb in设置为配置文件中的范围

以下是我的服务器的IP示例

  • 115.203.150.255
  • 94.217.238.58
  • 46.12.5.65
  • 76.47.79.44

正如您在这里看到的,每个IP是不同的,所以我如何在metallb配置映射中设置Ip范围?

这里是一个配置映射的示例

代码语言:javascript
复制
apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: default
      protocol: layer2
      addresses:
      - PUBLIC_IP-PUBLIC_IP    
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-22 08:35:54

在Metallb文档中提到,您可以使用某些In metallb.universe.tf/address-pool。请参阅这里

代码语言:javascript
复制
apiVersion: v1
kind: Service
metadata:
  name: nginx
  annotations:
    metallb.universe.tf/address-pool: production-public-ips
spec:
  ports:
  - port: 80
    targetPort: 80
  selector:
    app: nginx
  type: LoadBalancer

production-public-ips必须按照显示的这里配置。

对于配置MetalLB,您应该使用ips创建一个configmap。由于您没有这个范围,所以可以将/32设置为您的ips的子网,如下所示。

代码语言:javascript
复制
apiVersion: v1
kind: ConfigMap
metadata:
  namespace: metallb-system
  name: config
data:
  config: |
    address-pools:
    - name: production-public-ips
      protocol: layer2
      addresses:
      - 115.203.150.255/32
      - 94.217.238.58/32
      - 46.12.5.65/32
      - 76.47.79.44/32

它应该适用于你的场景。

票数 3
EN

Stack Overflow用户

发布于 2021-11-18 07:49:23

我在不同国家的VPS中也有同样的问题,但是NGINX入口控制器不允许IP节点作为IP/32的“地址”范围。

https://kubernetes.github.io/ingress-nginx/deploy/baremetal/

MetalLB需要一个IP地址池才能获得入口-nginx服务的所有权。这个池可以在一个名为config的ConfigMap中定义,该配置位于与MetalLB控制器相同的名称空间中。这个IP池必须专用于MetalLB的使用,您不能重用DHCP服务器发出的Kubernetes节点IP或IP。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64000338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档