diff --git a/helm/metallb/ipaddresspool.yaml b/helm/metallb/ipaddresspool.yaml new file mode 100644 index 0000000..1ae3b00 --- /dev/null +++ b/helm/metallb/ipaddresspool.yaml @@ -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 diff --git a/helm/metallb/values.yaml b/helm/metallb/values.yaml index 5625899..27e4037 100644 --- a/helm/metallb/values.yaml +++ b/helm/metallb/values.yaml @@ -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