In case of applications running as jobs, cronjobs etc with istio-sidecar injected in the pods, as the application’s outgoing communication is routed through the istio envoy proxy, the proxy has to be fully ready before the app starts(/healthz/ready endpoint). Similarly, as the jobs are short-lived, the sidecar has to be terminated(/quitquitquit endpoint) at the end of the application process, so that the pods can get terminated (completed state).
For Istio 1.5.x , we were using 15020 port for both termination and health check endpoints and it was working as expected.
For istio 1.6, as per https://istio.io/latest/news/releases/1.6.x/announcing-1.6/change-notes/, the proxy readiness probe is changed to port 15021. Using 15021 for healthcheck works fine, however, using same for quitquitquit does not terminate the sidecar. Even though curl to the endpoint(quitquitquit) succeeds, it does not terminate the sidecar. Pod remains in 1/2 NotReady state with the message “readiness 15021/health/ready failed”.
For termination, we have tried both 15000 and 15020 ports and they work as expected. But 15000 is Envoy admin port and15020 is istio agent Prometheus telemetry.
Can you please let us know what is the correct ports to be used for quitquitquit endpoint for termination of sidecar in Istio 1.6.x?
Thanks & Regards,
Mahesh