我有一个运行中的Kubernetes集群,它由运行在VPS服务器上的3个节点和一个节点组成,每个节点和主节点都有自己的公共IP和浮动IP,并且所有这些IP都不同于其他IP。
我正在尝试将metallb配置为我的Kubernetes集群的负载均衡器,但我不知道如何将metalLb in设置为配置文件中的范围
以下是我的服务器的IP示例
正如您在这里看到的,每个IP是不同的,所以我如何在metallb配置映射中设置Ip范围?
这里是一个配置映射的示例
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- PUBLIC_IP-PUBLIC_IP 发布于 2020-09-22 08:35:54
在Metallb文档中提到,您可以使用某些In metallb.universe.tf/address-pool。请参阅这里
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: LoadBalancerproduction-public-ips必须按照显示的这里配置。
对于配置MetalLB,您应该使用ips创建一个configmap。由于您没有这个范围,所以可以将/32设置为您的ips的子网,如下所示。
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它应该适用于你的场景。
发布于 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。
https://stackoverflow.com/questions/64000338
复制相似问题