Was wondering if someone has seen the same issue,
We’re trying to use the native sidecar to help with some graceful shutdown scenarios hoping that the proxy would terminate after the main container, this seems to work well with things like jobs but not with long running workloads that need to wait to finish a batch operation before shutting down.
The main issue is that in native sidecar mode when a term signal is sent to the pod the proxy immediately kills traffic to the pod and as a result the readiness and liveness probes fail and kubernetes ultimately kills the entire pod despite the application container still running.
With the traditional proxy we can get around this by setting the config.alpha.linkerd.io/proxy-wait-before-exit-seconds annotation to a very long period but we also have to enable and add a call to the shutdown endpoint to the proxy to make sure it terminates after the main application container to avoid the proxy running forever.
It’s documented that the config.alpha.linkerd.io/proxy-wait-before-exit-seconds annotation can not be used in native mode.
So I’m wondering if there’s some other workaround or configuration I’m missing to keep the proxy running and accepting traffic for the health probes while the main application container is shutting down.