fix(kubernetes): increase kube-apiserver startup probe threshold

Increase startupProbe.failureThreshold from 3 to 30 for kube-apiserver
container. The default 30 seconds (3 failures * 10s period) is often
insufficient for apiserver to complete RBAC bootstrap, especially under
load or with slower etcd connections.

This change gives kube-apiserver up to 300 seconds to initialize,
preventing unnecessary CrashLoopBackOff cycles.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Andrei Kvapil <kvapss@gmail.com>
This commit is contained in:
Andrei KvapilandClaude committed 2026-01-19 13:32:14 +01:00
1 parent d6aef6a9c4
commit 8261ea4fcf
1 file changed
+31
@@ -0,0 +1,31 @@
diff --git a/internal/builders/controlplane/deployment.go b/internal/builders/controlplane/deployment.go
index e7f0b88..d67a851 100644
--- a/internal/builders/controlplane/deployment.go
+++ b/internal/builders/controlplane/deployment.go
@@ -376,7 +376,7 @@ func (d Deployment) buildScheduler(podSpec *corev1.PodSpec, tenantControlPlane k
TimeoutSeconds: 1,
PeriodSeconds: 10,
SuccessThreshold: 1,
- FailureThreshold: 3,
+ FailureThreshold: 30,
}
switch {
@@ -469,7 +469,7 @@ func (d Deployment) buildControllerManager(podSpec *corev1.PodSpec, tenantContro
TimeoutSeconds: 1,
PeriodSeconds: 10,
SuccessThreshold: 1,
- FailureThreshold: 3,
+ FailureThreshold: 30,
}
switch {
case tenantControlPlane.Spec.ControlPlane.Deployment.Resources == nil:
@@ -600,7 +600,7 @@ func (d Deployment) buildKubeAPIServer(podSpec *corev1.PodSpec, tenantControlPla
TimeoutSeconds: 1,
PeriodSeconds: 10,
SuccessThreshold: 1,
- FailureThreshold: 3,
+ FailureThreshold: 30,
}
podSpec.Containers[index].ImagePullPolicy = corev1.PullAlways
// Volume mounts