<p>I am evaluating a migration of an application working with docker-compose to Kubernates and came across two solutions: Kompose and compose-on-kubernetes.</p>

<p>I'd like to know their differences in terms of functionality/ease of use to make decision of which one is more suited.</p>

<p>Both product provide a migration path from docker-compose to Kubernetes, but they do it in a slightly different way.</p>

<ul>
<li>Compose on Kubernetes runs within your Kubernetes cluster and allows you to deploy your compose setup unchanged on the Kubernetes cluster.</li>
<li>Kompose translates your docker-compose files to a bunch of Kubernetes resources.</li>
</ul>

<p>Compose is a good solution if you want to continue running using docker-compose in parallel to deploying on Kubernetes and so plan to keep the docker-compose format maintained.</p>

<p>If you're migrating completely to Kubernetes and don't plan to continue working with docker-compose, it's probably better to complete the migration using Kompose and use that as the starting point for maintaining the configuration directly as Kubernetes resources.</p>
