<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>I just added these two curls at the end of the script of the job to kill istio and the pilot:</p>

<pre><code>curl --request POST localhost:15000/quitquitquit || echo 'No istio it is then'
curl --request POST localhost:15020/quitquitquit || echo 'No istio at all, not even pilot'
</code></pre>
