问题描述
我有一个正在运行的Kubernetes群集,该群集由3个节点和一个在VPS服务器上运行的母体组成,每个节点和主节点都有自己的公用IP和浮动IP,并且所有这些IP与其他IP不同
我正在尝试将metallb配置为Kubernetes集群的负载平衡器,但我不知道如何在配置文件中将metalLb IP设置为范围
这是我的服务器的IP示例
- 115.203.150.255
- 94.217.238.58
- 46.12.5.65
- 76.47.79.44
正如您在此处看到的那样,每个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
解决方法
在Metallb文档中提到您可以使用某些IP metallb.universe.tf/address-pool
。参见here
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
必须按照here所示进行配置。
对于configure MetalLB,您应该使用ips创建一个configmap。由于没有范围,因此可以将/32
设置为IP的子网,如下面的示例。
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
它应该适合您的情况。