<p>How can you run an akka streams application in argo and kubernetes, I found documentation about kubernetes and akka cluster, but I don't need an akka cluster, do I just need to run an ephemeral akka application with many actors; or is an akka cluster necessary?</p>

javier_orta
<p>You can run an Akka Stream app on Kubernetes in a <a href="https://kubernetes.io/docs/concepts/workloads/controllers/deployment/" rel="nofollow noreferrer">Deployment</a> just like you can run it locally when testing.</p>
<p>If you need your application to scale to many Pods and handle a lot of input, it may be helpful to use an Akka Cluster to better distribute the work.</p>
<p>Argo Workflows and Akka Streams serve similar purposes: both connect a series of steps to transform data. Argo Workflows connects containers, and Akka Streams connects actors.</p>
<p>Depending on your use case, it might make sense to have an Argo Workflows step that runs an Akka Streams app (which runs a while and then exits). But it might be simpler to write the whole series of steps as either just an Akka Streams app (which is then run on a Deployment) or just an Argo Workflow (made up of non-Akka Streams containers).</p>
<p>tl;dr - There are a variety of &quot;right&quot; ways to run an Akka Streams app in Argo and/or Kubernetes. The &quot;best&quot; choice depends on your use case. At the end of the day, you either drop your Akka Streams container in the <code>image</code> field of either a Kubernetes Deployment or an Argo Workflow.</p>
