mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 21:47:07 +00:00
Merge pull request #90970 from johscheuer/add-readiness-to-controlplane
kubeadm: use two separate checks on /livez and /readyz for the kube-apiserver
This commit is contained in:
commit
694a9c242e
@ -56,7 +56,8 @@ func GetStaticPodSpecs(cfg *kubeadmapi.ClusterConfiguration, endpoint *kubeadmap
|
|||||||
ImagePullPolicy: v1.PullIfNotPresent,
|
ImagePullPolicy: v1.PullIfNotPresent,
|
||||||
Command: getAPIServerCommand(cfg, endpoint),
|
Command: getAPIServerCommand(cfg, endpoint),
|
||||||
VolumeMounts: staticpodutil.VolumeMountMapToSlice(mounts.GetVolumeMounts(kubeadmconstants.KubeAPIServer)),
|
VolumeMounts: staticpodutil.VolumeMountMapToSlice(mounts.GetVolumeMounts(kubeadmconstants.KubeAPIServer)),
|
||||||
LivenessProbe: staticpodutil.LivenessProbe(staticpodutil.GetAPIServerProbeAddress(endpoint), "/healthz", int(endpoint.BindPort), v1.URISchemeHTTPS),
|
LivenessProbe: staticpodutil.LivenessProbe(staticpodutil.GetAPIServerProbeAddress(endpoint), "/livez", int(endpoint.BindPort), v1.URISchemeHTTPS),
|
||||||
|
ReadinessProbe: staticpodutil.ReadinessProbe(staticpodutil.GetAPIServerProbeAddress(endpoint), "/readyz", int(endpoint.BindPort), v1.URISchemeHTTPS),
|
||||||
Resources: staticpodutil.ComponentResources("250m"),
|
Resources: staticpodutil.ComponentResources("250m"),
|
||||||
Env: kubeadmutil.GetProxyEnvVars(),
|
Env: kubeadmutil.GetProxyEnvVars(),
|
||||||
}, mounts.GetVolumes(kubeadmconstants.KubeAPIServer),
|
}, mounts.GetVolumes(kubeadmconstants.KubeAPIServer),
|
||||||
|
@ -220,6 +220,15 @@ func ReadStaticPodFromDisk(manifestPath string) (*v1.Pod, error) {
|
|||||||
|
|
||||||
// LivenessProbe creates a Probe object with a HTTPGet handler
|
// LivenessProbe creates a Probe object with a HTTPGet handler
|
||||||
func LivenessProbe(host, path string, port int, scheme v1.URIScheme) *v1.Probe {
|
func LivenessProbe(host, path string, port int, scheme v1.URIScheme) *v1.Probe {
|
||||||
|
return createHTTPProbe(host, path, port, scheme, 15, 15, 8, 10)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ReadinessProbe creates a Probe object with a HTTPGet handler
|
||||||
|
func ReadinessProbe(host, path string, port int, scheme v1.URIScheme) *v1.Probe {
|
||||||
|
return createHTTPProbe(host, path, port, scheme, 0, 15, 3, 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
func createHTTPProbe(host, path string, port int, scheme v1.URIScheme, initialDelaySeconds, timeoutSeconds, failureThreshold, periodSeconds int32) *v1.Probe {
|
||||||
return &v1.Probe{
|
return &v1.Probe{
|
||||||
Handler: v1.Handler{
|
Handler: v1.Handler{
|
||||||
HTTPGet: &v1.HTTPGetAction{
|
HTTPGet: &v1.HTTPGetAction{
|
||||||
@ -229,9 +238,10 @@ func LivenessProbe(host, path string, port int, scheme v1.URIScheme) *v1.Probe {
|
|||||||
Scheme: scheme,
|
Scheme: scheme,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
InitialDelaySeconds: 15,
|
InitialDelaySeconds: initialDelaySeconds,
|
||||||
TimeoutSeconds: 15,
|
TimeoutSeconds: timeoutSeconds,
|
||||||
FailureThreshold: 8,
|
FailureThreshold: failureThreshold,
|
||||||
|
PeriodSeconds: periodSeconds,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user