Go from Docker Compose to Kubernetes (by kubernetes)

Kompose Alternatives

Similar projects and alternatives to kompose

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better kompose alternative or higher similarity.

kompose reviews and mentions

Posts with mentions or reviews of kompose. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-12.
  • Best way to install and use kubernetes for learning
    19 projects | reddit.com/r/kubernetes | 12 Nov 2022
    Lastly if you're already using Docker Compose, then use Kompose to help transition to the Kubernetes way of doing things. I would also recommend investigating some of the emerging dev support tools like Devspace, Skaffold or Tilt.
  • How do tools like Skaffold, Tilt, and DevSpace compare to Docker?
    2 projects | reddit.com/r/kubernetes | 31 Oct 2022
    When converting a project, I generally recommend using the kompose project. It's good as a starter, but it doesn't cover 100% of my usecases.
  • Kubernetes for SaaS with multi-instance
    3 projects | reddit.com/r/kubernetes | 22 Oct 2022
    Your next step is to get it running on Kubernetes. To assist the process I suggest a tool called kompose which can generate a starting helm chart. Your objective is to be able to deploy multiple instances of your code into separate namespaces as follows
  • Acorn: A lightweight PaaS for Kubernertes, from Rancher founders
    11 projects | news.ycombinator.com | 27 Aug 2022
    > Swarm is deprecated.

    I am yet to see this warning when running any workload on Swarm. Feature complete is not necessarily deprecated, Swarm simply won't get any fancy cloud platform integrations due to hype lying elsewhere instead, yet there has been no official word of an EOL, like: https://www.centos.org/centos-linux-eol/

    Of course, one can also argue that with the Mirantis acquisition the writing is on the wall and if you care about maximum hireability, then you should grok Kubernetes as well.

    None of that prevents me from also running Swarm in setups where it makes sense (e.g. a step up from Docker Compose, limited resources, not lots of time for DevOps related stuff etc.).

    > I bet Nomad has no future and will surrender in the coming years.

    I'm not so sure about this, Nomad integrates nicely in the rest of the HashiStack and it seems that there are plenty of large orgs investing in it, even when they don't need something like Consul or other offerings, due to its simplicity and more active development.

    Currently this claim could use more of a factual basis, otherwise it ends up sounding like ".NET will kill Java" or "Linux on the desktop will kill Windows" or something of that variety.

    > Using anything but k8s in 2022 is not wise.

    If you live exclusively in the cloud and use only managed offerings, that may as well be true.

    Otherwise it seems like a clear clash between the arguments of "pick the right tool for the job" and "pick whatever is popular and widely supported". In the deployments I've worked with, Docker Swarm is better for the first claim (limited complexity, low resource usage, easy to use) which matters more than the latter (on-prem). Someone else who runs stuff primarily in the cloud might have the opposite takeaway, due to how widely Kubernetes is supported, even despite the technical complexity or resource usage.

    That said, personally I think that the K3s Kubernetes distribution is one of the better options for many of the deployments out there: https://k3s.io/

    In addition, tools like Kompose can make moving from Swarm to Kubernetes something that would take less than a day: https://kompose.io/ (or you can just use Helm), but until the day where Swarm will get a clear deprecation notice or I'll have a good reason to put a particular project on Kubernetes (as some already are), I'll just stick with Swarm/Nomad.

    Of course, if a team/employer tells you to just use technology X, do that. Or better yet, make running your OCI compatible containers someone else's problem.

  • Kubernetes Reinvented Virtual Machines (in a good sense)
    7 projects | news.ycombinator.com | 31 Jul 2022
    > Kubernetes makes it as simple as it can be without oversimplifying it.

    What about something like Hashicorp Nomad and Docker Swarm? The popularity of the former and the maintenance status of the latter aside, I think they achieve much of the same as Kubernetes in ways that are simpler, which is enough for the majority of deployments out there.

    For example, most pieces of software that run in containers have a docker-compose.yml file which can then be fed into Docker Compose to launch an environment on a single node, say for local testing and development, or to just explore a piece of software in a throwaway environment. What Docker Swarm does, is take basically the same specification and add the ability to run containers across multiple loads, do networking across them in a reasonably secure way, whilst being able to set up resource limitations etc. as needed, as well as scale the containers across the available nodes and manage storage with volumes, bind mounts or even plugins for something like GlusterFS or just NFS.

    Docker Swarm doesn't concern itself with the concept of Pods because you don't always need those - regular containers can be enough without the additional abstraction in the middle. Docker Swarm doesn't concern itself with the concept of a Service, since you can just access containers based on their names through the built in DNS abstraction, especially if you don't need complicated network isolation (which you can also achieve at server level). Docker Swarm doesn't really care about an Ingress abstraction either, since you can just make your own Nginx/Caddy/Apache container and bind it to ports 80 and 443 on all of the nodes where you want to have your own ingress. No PersistentVolume and PersistentVolumeClaim abstractions either, since the aforementioned bind mounts and volumes, or network storage are usually enough. And the resource usage and API are exceedingly simple, you don't even need to worry about service labels or anything like that, since in most cases you'll only care about the service name to access the container through.

    If I built my own container orchestrator, I'd strive for that simplicity. Seems like projects like CapRover also recognized that: https://caprover.com/ Same with Dokku: https://dokku.com/

    If you're in a company that has never really run advanced A/B tests or doesn't really need to do complex 2-stage DB migrations or blue-green deployments, circuit breaking and other fancy stuff, there's not that much use in going with Kubernetes, unless you really just want to hire for it and also pay someone else to manage it for you.

    Personally, with tools like Kompose https://kompose.io/ I'd advise that you start with Docker and Docker Compose at first (locally, or for dev environments) and then branch out to Docker Swarm or Nomad, before eventually migrating over to Kubernetes, if you need to, maybe with something like K3s or K0s clusters at first. Or maybe even Portainer/Rancher, since those make the learning curve of Kubernetes far more tolerable. Or, at the risk of increasing the complexity of your deployments, go with Helm as well because the templates for Deployments and other objects that Helm creates by default are surprisingly useful in avoiding YAML hell.

    Of course, some say that Docker Swarm is dead and you shouldn't ever touch it, which is why I mention Nomad (even though HCL is a little bit odd at times), which is also great, with the added quality of supporting non-container deployments.

    Either way, ideally look for a way to run apps in containers because they feel like the "right" abstraction, whilst finding the best fit for the features that you actually need vs the complexity introduced.

  • Transition to Kubernetes
    3 projects | reddit.com/r/docker | 31 Jul 2022
    Coming back to docker-compose, you can initially use the kompose tool to generate the kubernetes yaml. This will get you up and started. I used this approach to learn how k8s works. A fact you will have to accept is that using Compose is ultimately a dead end, by limiting you to deploying containers to a single machine. Docker Swarm is the only alternative option.
  • Many of the same container, with different env configs across distributed hardware/network topology - is this a problem Kubernetes can solve?
    2 projects | reddit.com/r/kubernetes | 21 Jul 2022
  • Converting docker-compose files
    3 projects | reddit.com/r/akashnetwork | 10 Jul 2022
    Kind of like how Kompose works.
  • Ask HN: What is your Kubernetes nightmare?
    8 projects | news.ycombinator.com | 27 Jun 2022
    Yes it’s a bit much. When I was beginning with kubernetes I was writing Docker compose files first and then converting them to kubernetes using https://kompose.io/
  • Docker Compose to Kubernetes: Step-by-Step Migration
    7 projects | dev.to | 16 Jun 2022
    # Linux curl -L https://github.com/kubernetes/kompose/releases/download/v1.22.0/kompose-linux-amd64 -o kompose # macOS curl -L https://github.com/kubernetes/kompose/releases/download/v1.22.0/kompose-darwin-amd64 -o kompose chmod +x kompose sudo mv ./kompose /usr/local/bin/kompose
  • A note from our sponsor - Scout APM
    scoutapm.com | 9 Dec 2022
    Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀. Learn more →


Basic kompose repo stats
7 days ago
Build time-series-based applications quickly and at scale.
InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.