-
Notifications
You must be signed in to change notification settings - Fork 8.2k
Description
Hey all,
I have an issue with Istio when used in conjunction with CronJobs or Jobs, in that when the primary pod completes, the "Job" never completes because istio-proxy is still running:
NAME READY STATUS RESTARTS AGE
backup-at-uk-1549872000-7hrx7 1/2 Running 0 34m
I tried adding the following to the end of the primary pod script as suggested by @costinm in #6324, but that doesn't work (envoy exits, proxy doesn't):
curl --max-time 2 -s -f -XPOST http://127.0.0.1:15000/quitquitquit
OK
Which seems to cause envoy to exit correctly, however the istio-proxy process is still running:
istio-proxy@backup-at-uk-1549872000-7hrx7:/$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
istio-p+ 1 0.0 0.0 32640 18820 ? Ssl 08:00 0:00 /usr/local/bin/pilot-agent proxy sidecar --concurrency 1 --configPath /etc/istio/proxy --binaryPath /usr/local/bin/envoy --serviceCluster helm-solr-backup --drainDuration
Despite it no longer listening:
istio-proxy@backup-at-uk-1549872000-7hrx7:/$ netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
The main pod can't send a SIGTERM to istio-proxy because it doesn't have permission to do so (quite rightly) so I'm a little stuck.
The only hacky thing I can think of doing is adding a readinessProbe to istio-proxy which checks to see if it's listening and if it isn't, sends the SIGTERM.
Thoughts?
Metadata
Metadata
Assignees
Labels
Type
Projects
Status