spring-cloud / spring-cloud-deployer-kubernetes

The Spring Cloud Deployer implementation for Kubernetes
Apache License 2.0
157 stars 97 forks source link

spring.cloud.deployer.kubernetes.[liveness | readiness]-command-probe-command is not working #535

Open DebajitKumarPhukan opened 1 year ago

DebajitKumarPhukan commented 1 year ago

Issue: I have implemented a Spring Batch application which applies remote partitioning and launches jobs in Kubernetes. The issue I identified was that when I attempted for a command based readiness and liveness probe, it doesn't seem to be working at all. I verified the same in pod yaml and can't see any readiness/liveness probe generated at all. I can only see them passed under spec.containers.args in pod yaml.

Below are the configs I specified in the application.properties

spring.cloud.deployer.kubernetes.liveness-command-probe-command=echo live
spring.cloud.deployer.kubernetes.readiness-command-probe-command=echo live

I even tried setting below config with the hope that it would resolve the issue, but unfortunately it didn't.

spring.cloud.deployer.kubernetes.probe-type=command

corneil commented 1 year ago

The probe command has to an application not just shell command.

spring.cloud.deployer.kubernetes.liveness-command-probe-command='/bin/sh -c "echo live"'
spring.cloud.deployer.kubernetes.probe-type=COMMAND
DebajitKumarPhukan commented 1 year ago

@corneil Hi, thanks for attending to this issue. I already tried all the possible combinations (including the ones you mentioned). The main issue here is that the pod yaml specifications generated don't have readiness or liveness specifications when probe-type = COMMAND and even if you specify liveness-command-probe-command or readiness-command-probe-command (in any ways).

DebajitKumarPhukan commented 1 year ago

@corneil Any updates ?