diff --git a/clusters/base/infra/metallb/helmrelease.yaml b/clusters/base/infra/metallb/helmrelease.yaml index 1f8a309..5244ca9 100644 --- a/clusters/base/infra/metallb/helmrelease.yaml +++ b/clusters/base/infra/metallb/helmrelease.yaml @@ -15,3 +15,29 @@ spec: namespace: metallb-system driftDetection: mode: enabled + postRenderers: + - kustomize: + patches: + # frr's liveness/startup probes default to timeoutSeconds: 1, + # which is too tight when the node is under CPU pressure (an + # HTTPS healthz call can't always complete in 1s) - kubelet then + # kills+restarts the container, which itself adds more CPU load, + # compounding the problem. Give the probes more slack instead. + - target: + kind: DaemonSet + name: metallb-frr-k8s + patch: | + apiVersion: apps/v1 + kind: DaemonSet + metadata: + name: metallb-frr-k8s + spec: + template: + spec: + containers: + - name: frr + livenessProbe: + timeoutSeconds: 5 + failureThreshold: 6 + startupProbe: + timeoutSeconds: 5