<p>I have a data pipeline in Go with steps A, B and C. Currently those are three binaries. They share the same database but write to different tables. When developing locally, I have been just running <code>./a &amp;&amp; ./b &amp;&amp; ./c</code>. I'm looking to deploy this pipeline to our Kubernetes cluster.</p>

<p>I want A -> B -> C to run once a day, but sometimes (for debugging etc.) I may just want to manually run A or B or C in isolation. </p>

<p>Is there a simple way of achieving this in Kubernetes? </p>

<p>I haven't found many resources on this, so maybe that demonstrates an issue with my application's design?</p>

Jamie Patel
<p>Create a docker image that holds all three binaries and a wrapper script to run all three.</p>

<p>Then deploy a Kubernetes <code>CronJob</code> that runs all three sequentially (using the wrapper script as entrypoint/command), with the appropriate schedule.</p>

<p>For debugging you can then just run the the same image manually:</p>

<pre><code>kubectl -n XXX run debug -it --rm --image=&lt;image&gt; -- /bin/sh
$ ./b
...
</code></pre>
