<p>Does Kubernetes allow multiple versions of same micro service (not Kubernetes service) to be deployed in a Kubernetes cluster at any given point in time?</p>
<p>So, let's say I have a micro-service &quot;MyCalculator&quot;. I create a POD to host this service.
this is v1 of the &quot;MyCalculator&quot;.
I need that as new versions of the services are created, Kubernetes cluster allows these services to be deployed in the cluster, like so.</p>
<pre><code>&quot;MyCalculatorKubeService&quot;/v1

&quot;MyCalculatorKubeService&quot;/v2

...

&quot;MyCalculatorKubeService&quot;/vn
</code></pre>
<p>The idea here is dynamically allow new versions, and allow access to these versions through a convention specified above. In the example above, I am thinking that the &quot;MyCalculatorKubeService&quot; is a kubernetes service.
The unused versions get decommissioned over a period of time through a manual trigger after reviewing which services are not getting any traffic for say x days.</p>
<p>Thanks,</p>

Ayusman
<p>For this scenario you will have to maintain a separate pod for each versions you want to keep alive. Use ingress to create separate virtual paths to each version of your application</p>
<pre><code>  - host: example.com
    http:
      paths:
      - backend:
          serviceName: app-v1
          servicePort: 80
        path: /app/v1/
      - backend:
          serviceName: app-v2
          servicePort: 80
        path: /app/v2/
</code></pre>
