<p>I have a very simple docker-compose app with nginx and php-fpm services.</p>
<p>I would like to create a Helm chart that would deploy this exact same thing as a unit (a POD I guess?) but I would like to be able to scale the php-fpm service.</p>
<p>How can I achieve that?</p>
<p>My idea is to have these containers in a single deployment so I don't have a lot of deployments scattered.</p>
<p>i.e</p>
<pre><code>App1:
   - Container 1 (php-fpm autoscaled or manually scaled)
   - Container 2 (nginx)
   - Container 3 (Redis)
   - Container 4 (something else that this app needs)

App2
   - Container 1
   - Container 2
   - Container 3 etc...
</code></pre>
<p>I could do different deployments but then it would be like</p>
<pre><code>app1_php-fpm
app1_nginx
app1_redis
app2_container1
app2_container2
app2_container3
</code></pre>
<p>Instead of a single pod.</p>

<blockquote>
<p>The &quot;one-container-per-Pod&quot; model is the most common Kubernetes use
case; in this case, you can think of a Pod as a wrapper around a
single container; Kubernetes manages Pods rather than managing the
containers directly.</p>
</blockquote>
<p>Nginx, Redis should run as separate services, so that they can scale independent of your application in a decoupled manner.</p>
<p>Nginx can reverse proxy multiple applications so you don't need to have a separate Nginx instance for every app.</p>
<p><a href="https://kubernetes.io/docs/concepts/workloads/pods/#using-pods" rel="nofollow noreferrer">https://kubernetes.io/docs/concepts/workloads/pods/#using-pods</a></p>
