Docker stack to Kubernetes

8/13/2017

I am quite familiar with Docker, but I have zero experience on Kubernetes.

I have a Docker stack (multi-container) software that I can deploy in a Docker swarm cluster. I was wondering if Kubernetes has something similar? I don't need replicas, auto scaling and so on... I just need a group of containers working together with its dependencies and networks defined in single text file.

I have searched and found a tool called kompose that translates the Docker stack file to Kubernetes syntax... However, it looks like the output is a list of *.yaml files, instead of a single file.

So, I came to the conclusion that kubernetes does not have this exact functionality.. Am I missing something?

-- guilhermecgs
docker
docker-compose
docker-stack
kubernetes
yaml

2 Answers

9/6/2018

A single 'Docker Stack' yml definition is equivalent to a collection of Kubernetes Deployments and Services. Each service in a Docker Stack definition is also available to one another via a default overlay network automatically created by docker at deploy time. To simulate this in Kubernetes you would need to define multiple deployments/services with-in the same file so that they could be created and deleted as a single 'stack'.

-- stowns
Source: StackOverflow

8/13/2017

You can copy the content of the generated files into one file and separate them with ---.

For instance, if you've got 3 Kubernetes files: service.yml, deployment.yml and configmap.yml, your file should look something like:

# content of service.yml
....
---
# content of deployment.yml
....
---
# content of configmap.yml
....

You would use the same kubectl commands to CRUD using this spec file.

-- Ayman Nedjmeddine
Source: StackOverflow