Files
kube-single-age/clusters/base/infra/metallb/config.yaml
T
2026-07-31 08:51:16 +03:00

75 lines
1.6 KiB
YAML

# a general pool for everything but mqtt and public IP facing ingress controller
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: default-pool
namespace: metallb-system
spec:
addresses:
# exclude 10.0.64.5, its in nfs-pool
- 10.0.64.6
# exclude 10.0.64.7, its in dmz-pool
# exclude 10.0.64.8, its in mqtt-pool
- 10.0.64.9-10.0.64.19
autoAssign: true
serviceAllocation:
serviceSelectors:
- matchLabels:
loadBalancerPool: default
---
# NFS ip
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: dmz-pool
namespace: metallb-system
spec:
addresses:
- 10.0.64.5/32
autoAssign: true
serviceAllocation:
serviceSelectors:
- matchLabels:
loadBalancerPool: nfs
---
# DMZ (not really, just for clarity) ip, will have ports forwarded from WAN router
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: dmz-pool
namespace: metallb-system
spec:
addresses:
- 10.0.64.7/32
autoAssign: true
serviceAllocation:
serviceSelectors:
- matchLabels:
loadBalancerPool: dmz
---
# reserve 10.0.64.8 (for historical reasons) for mqtt
# ! do not forget to label the mqtt service with "loadBalancerPool: mqtt" !
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: mqtt-pool
namespace: metallb-system
spec:
addresses:
- 10.0.64.8/32
serviceAllocation:
serviceSelectors:
- matchLabels:
loadBalancerPool: mqtt
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: default
namespace: metallb-system
spec:
ipAddressPools:
- default-pool
- dmz-pool
- mqtt-pool