@@ -345,6 +345,9 @@ func createPVCTemplate(volumeName string, stsMeta metav1.ObjectMeta, storageSpec
345345
346346// generateContainerDef generates container definition for Redis
347347func generateContainerDef (name string , containerParams containerParameters , clusterMode , nodeConfVolume , enableMetrics bool , externalConfig , clusterVersion * string , mountpath []corev1.VolumeMount , sidecars []redisv1beta2.Sidecar ) []corev1.Container {
348+ sentinelCntr := containerParams .Role == "sentinel"
349+ enableTLS := containerParams .TLSConfig != nil
350+ enableAuth := containerParams .EnabledPassword != nil && * containerParams .EnabledPassword == true
348351 containerDefinition := []corev1.Container {
349352 {
350353 Name : name ,
@@ -363,8 +366,8 @@ func generateContainerDef(name string, containerParams containerParameters, clus
363366 containerParams .Port ,
364367 clusterVersion ,
365368 ),
366- ReadinessProbe : getProbeInfo (containerParams .ReadinessProbe ),
367- LivenessProbe : getProbeInfo (containerParams .LivenessProbe ),
369+ ReadinessProbe : getProbeInfo (containerParams .ReadinessProbe , sentinelCntr , enableTLS , enableAuth ),
370+ LivenessProbe : getProbeInfo (containerParams .LivenessProbe , sentinelCntr , enableTLS , enableAuth ),
368371 VolumeMounts : getVolumeMount (name , containerParams .PersistenceEnabled , clusterMode , nodeConfVolume , externalConfig , mountpath , containerParams .TLSConfig , containerParams .ACLConfig ),
369372 },
370373 }
@@ -593,7 +596,23 @@ func getVolumeMount(name string, persistenceEnabled *bool, clusterMode bool, nod
593596}
594597
595598// getProbeInfo generate probe for Redis StatefulSet
596- func getProbeInfo (probe * commonapi.Probe ) * corev1.Probe {
599+ func getProbeInfo (probe * commonapi.Probe , sentinel , enableTLS , enableAuth bool ) * corev1.Probe {
600+ healthChecker := []string {
601+ "redis-cli" ,
602+ "ping" ,
603+ "-h" , "$(hostname)" ,
604+ }
605+ if sentinel {
606+ healthChecker = append (healthChecker , "-p" , "${SENTINEL_PORT}" )
607+ } else {
608+ healthChecker = append (healthChecker , "-p" , "${REDIS_PORT}" )
609+ }
610+ if enableAuth {
611+ healthChecker = append (healthChecker , "-a" , "${REDIS_PASSWORD}" )
612+ }
613+ if enableTLS {
614+ healthChecker = append (healthChecker , "--tls" , "--cert" , "${REDIS_TLS_CERT}" , "--key" , "${REDIS_TLS_CERT_KEY}" , "--cacert" , "${REDIS_TLS_CA_KEY}" )
615+ }
597616 return & corev1.Probe {
598617 InitialDelaySeconds : probe .InitialDelaySeconds ,
599618 PeriodSeconds : probe .PeriodSeconds ,
@@ -602,10 +621,7 @@ func getProbeInfo(probe *commonapi.Probe) *corev1.Probe {
602621 SuccessThreshold : probe .SuccessThreshold ,
603622 ProbeHandler : corev1.ProbeHandler {
604623 Exec : & corev1.ExecAction {
605- Command : []string {
606- "bash" ,
607- "/usr/bin/healthcheck.sh" ,
608- },
624+ Command : healthChecker ,
609625 },
610626 },
611627 }
0 commit comments