Open ShavaShav opened 1 year ago
Having the probes like this should fix it:
livenessProbe:
httpGet:
path: /accounts/login/
port: https
scheme: HTTPS
readinessProbe:
httpGet:
path: /accounts/login/
port: https
scheme: HTTPS
Even when the TLS certificate is not valid this will work as the probes do not very the certs.
Description of problem
Deploying the helm chart, and the
kiwi-0
never shows in aready
state due to failing readinessProbes. I'm able to see use the kiwi UI inbetween restarts, so it is in fact ready. It's just that the probes are broken.Version or commit hash (if applicable)
dd0ccf1
Steps to Reproduce
serviceName: {{ include "kiwi.fullname" . }}-http
in statefulset spec as the chart seems to be missing this required field on StatefulSet. This is another issue (that might be related specifically to my kubernetes version which is why I didn't open an issue for it) but is easily resolved.kubectl -n kiwi get pods
kubectl -n kiwi logs -f kiwi-0
Actual results
kiwi-0
ready state is always0/1
, and goes intoCrashLoopBackoff
after a while since readinessProbes fails every time.400
http status:10.223.9.1 - - [22/Aug/2023:21:49:12 +0000] "GET /accounts/login/ HTTP/1.1" 400 255 "-" "kube-probe/1.24" "-"
Expected results
kiwi-0
readiness probes should succeedAdditional info (Python traceback, logs, etc.)
I've tried swapping the
port
in the probes forhttps
and I get the same result, which makes me think that the http probe is actually redirecting to https, but I'm pretty sure the kubernetes livenessProbes/readinessProbes won't work with https which is why it's producing a400
code.I've also tried removing the trailing slash (
path: /account/login
), but then the probe reports a301
.Workaround:
Use TCP-based probes instead