我有一个正在运行的Kubernetes集群,该集群由3个节点和一个在VPS服务器上运行的节点组成,每个节点和主节点都有自己的公用IP和 float IP,并且所有这些IP与其他IP不同
我正在尝试将metallb配置为Kubernetes集群的负载均衡器,但我不知道如何在配置文件中将metalLb IP设置为范围
这是我的服务器的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
最佳答案
在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
必须按照显示的here配置production-public-ips
。对于configure 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
它应该适合您的方案。
关于kubernetes - 使用在不同vps服务器上运行的kubernetes配置Metallb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64000338/