From 916a6cc141230d100cea879a018d2dccadeed6fe Mon Sep 17 00:00:00 2001 From: homejacob Date: Thu, 2 Oct 2025 10:43:55 +0200 Subject: [PATCH] metallb --- helm/metallb/values.yaml | 31 ++++++++++++++++++++----------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/helm/metallb/values.yaml b/helm/metallb/values.yaml index 181216b..5625899 100644 --- a/helm/metallb/values.yaml +++ b/helm/metallb/values.yaml @@ -1,7 +1,7 @@ # This top-level key MUST match the dependency name in your Chart.yaml metallb: - # Your original address pool configuration, now nested + # Your address pool configuration config: config: | address-pools: @@ -10,8 +10,10 @@ metallb: addresses: - 192.168.178.200-192.168.178.250 - # The speaker tolerations, also nested + # Configuration for the speaker DaemonSet speaker: + + # Tolerations to allow scheduling on control-plane nodes tolerations: - key: "node-role.kubernetes.io/control-plane" operator: "Exists" @@ -20,12 +22,19 @@ metallb: operator: "Exists" effect: "NoSchedule" - # The controller tolerations, also nested - controller: - 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