mirror of
https://github.com/zalando/postgres-operator.git
synced 2026-10-04 08:42:01 +02:00
Init add liveness probe
Signed-off-by: DavidSpek <vanderspek.david@gmail.com>
This commit is contained in:
committed by
David van der Spek
parent
af084a5a65
commit
db96273ab3
@@ -102,6 +102,7 @@ type KubernetesMetaConfiguration struct {
|
||||
PodManagementPolicy string `json:"pod_management_policy,omitempty"`
|
||||
EnableReadinessProbe bool `json:"enable_readiness_probe,omitempty"`
|
||||
EnableCrossNamespaceSecret bool `json:"enable_cross_namespace_secret,omitempty"`
|
||||
LivenessProbe *v1.Probe `json:"liveness_probe,omitempty"`
|
||||
}
|
||||
|
||||
// PostgresPodResourcesDefaults defines the spec of default resources
|
||||
|
||||
@@ -87,6 +87,7 @@ type PostgresSpec struct {
|
||||
AdditionalVolumes []AdditionalVolume `json:"additionalVolumes,omitempty"`
|
||||
Streams []Stream `json:"streams,omitempty"`
|
||||
Env []v1.EnvVar `json:"env,omitempty"`
|
||||
LivenessProbe *v1.Probe `json:"livenessProbe,omitempty"`
|
||||
|
||||
// deprecated json tags
|
||||
InitContainersOld []v1.Container `json:"init_containers,omitempty"`
|
||||
|
||||
@@ -1207,6 +1207,19 @@ func generateSpiloReadinessProbe() *v1.Probe {
|
||||
}
|
||||
}
|
||||
|
||||
func generateSpiloLivenessProbe(probe, defaultProbe *v1.Probe) *v1.Probe {
|
||||
|
||||
if probe != nil {
|
||||
return probe
|
||||
}
|
||||
|
||||
if defaultProbe != nil {
|
||||
return defaultProbe
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Cluster) generateStatefulSet(spec *acidv1.PostgresSpec) (*appsv1.StatefulSet, error) {
|
||||
|
||||
var (
|
||||
@@ -1326,6 +1339,8 @@ func (c *Cluster) generateStatefulSet(spec *acidv1.PostgresSpec) (*appsv1.Statef
|
||||
spiloContainer.ReadinessProbe = generateSpiloReadinessProbe()
|
||||
}
|
||||
|
||||
spiloContainer.LivenessProbe = generateSpiloLivenessProbe(spec.LivenessProbe, c.OpConfig.LivenessProbe)
|
||||
|
||||
// generate container specs for sidecars specified in the cluster manifest
|
||||
clusterSpecificSidecars := []v1.Container{}
|
||||
if spec.Sidecars != nil && len(spec.Sidecars) > 0 {
|
||||
|
||||
@@ -125,6 +125,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur
|
||||
result.PodAntiAffinityTopologyKey = util.Coalesce(fromCRD.Kubernetes.PodAntiAffinityTopologyKey, "kubernetes.io/hostname")
|
||||
result.PodAntiAffinityPreferredDuringScheduling = fromCRD.Kubernetes.PodAntiAffinityPreferredDuringScheduling
|
||||
result.PodToleration = fromCRD.Kubernetes.PodToleration
|
||||
result.LivenessProbe = fromCRD.Kubernetes.LivenessProbe
|
||||
|
||||
// Postgres Pod resources
|
||||
result.DefaultCPURequest = util.Coalesce(fromCRD.PostgresPodResources.DefaultCPURequest, "100m")
|
||||
|
||||
@@ -245,6 +245,7 @@ type Config struct {
|
||||
TargetMajorVersion string `name:"target_major_version" default:"15"`
|
||||
PatroniAPICheckInterval time.Duration `name:"patroni_api_check_interval" default:"1s"`
|
||||
PatroniAPICheckTimeout time.Duration `name:"patroni_api_check_timeout" default:"5s"`
|
||||
LivenessProbe *v1.Probe `json:"liveness_probe,omitempty"`
|
||||
EnablePatroniFailsafeMode *bool `name:"enable_patroni_failsafe_mode" default:"false"`
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user