<p>K8S Version: 1.23</p>
<p>I have an hourly CronJob with 5 inner pods. After some time, part of these pods goes to shutdown and moved to the <code>Completed</code> state (it's expected), but the rest - still works, so have a <code>Running</code> state.</p>
<p>At the next hour, this CronJob will not be triggered due to the <code>Running</code> pods (it's also expected). But I need to force recreate pods with the <code>Completed</code> state if a <code>Running</code> still exists. Is it possible?</p>

<p>It appears that the reason you're letting the <code>Running</code> pods exist is that you expect those pods to take a long time before finishing. This means that the scheduling of those pods <em>should</em> be different from others, since they can take a longer time to finish.</p>
<p>You can split your <code>CronJob</code> into two <code>CronJobs</code>. One of these will run every hour and will only have the pods that get <code>Completed</code>. The other will run less frequently (maybe every 2 hours?) allowing the <code>Running</code> pods to finish.</p>
<p>This way, you will be able to manage your <code>cron</code> tasks separately.</p>
<blockquote>
<p>Note: For k8s version, we usually mention the API version which is of the form <code>v1.xx</code>. It appears you are reporting the version of a public cloud offering of k8s like <code>AKS</code>, <code>EKS</code> or <code>GKE</code>. Just FYI.</p>
</blockquote>
