<p>Follwing the documentation and provided example here:
<a href="https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#running-an-example-job" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#running-an-example-job</a></p>

<p>I run <code>kubectl apply -f job.yaml</code></p>

<pre><code>kubectl apply -f job.yaml                                    
job.batch/pi created

</code></pre>

<p>Monitoring the job with get pods <code>pi-fts6q                   1/2     Running   0          52s</code></p>

<p>I always see 1/2 Running even after the job is complete and checking the logs shows it is completed.</p>

<p>How can I get the job to show a completed status?  The job will stay in a running state showing no completions forever.</p>

<pre><code>Parallelism:    1
Completions:    1
Start Time:     Thu, 06 Jun 2019 16:21:36 -0500
Pods Statuses:  1 Running / 0 Succeeded / 0 Failed
</code></pre>

<p>It seems the underlying pod that did the work completed, but the actual job-controller stays alive forever.</p>

<p>Problem is in incomplete implementation of proxy-agent.</p>

<p>Simply add a <strong>'/quitquitquit'</strong> handler to proxy-agent. </p>

<p>Users can manually add a curl or http request to localhost to stop sidecar when the job is done. P0 is a workaround.</p>

<p>More information you can find here: <a href="https://github.com/istio/istio/issues/6324" rel="nofollow noreferrer"><code>istio-issue</code></a></p>
