This commit is contained in:
2025-10-02 10:53:56 +02:00
parent 916a6cc141
commit 8e0582206c
2 changed files with 17 additions and 39 deletions

View File

@@ -0,0 +1,17 @@
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: default-pool
namespace: metallb-system # Or wherever you install MetalLB
spec:
addresses:
- 192.168.178.200-192.168.178.250
---
apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: default-advertisement
namespace: metallb-system # Or wherever you install MetalLB
spec:
ipAddressPools:
- default-pool

View File

@@ -1,40 +1 @@
# This top-level key MUST match the dependency name in your Chart.yaml
metallb:
# Your address pool configuration
config:
config: |
address-pools:
- name: default
protocol: layer2
addresses:
- 192.168.178.200-192.168.178.250
# Configuration for the speaker DaemonSet
speaker:
# Tolerations to allow scheduling on control-plane nodes
tolerations:
- key: "node-role.kubernetes.io/control-plane"
operator: "Exists"
effect: "NoSchedule"
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule"
# --- THIS IS THE NEW AND CRITICAL PART ---
# Override the default nodeAffinity to ignore the 'exclude-from-external-load-balancers' label
# This simpler affinity just requires the node to be a linux amd64 machine.
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/os
operator: In
values:
- linux
- key: kubernetes.io/arch
operator: In
values:
- amd64