Hacker News new | ask | show | jobs
by mosselman 2823 days ago
I am setting up a swarm deployment of one of my apps as an experiment and I must say the learning curve is hardly there. I tried kubernetes, but I found that most resources that try to explain how it works are focussing too much on github-size deployments. I just want 2 instances of my app, a database and traefik with lets encrypt. Does anyone know of a proper resource for the 'just a tad more than dokku' size?
5 comments

Setting up a kubernetes cluster itself is probably the biggest hurdle. Also, bear in mind if it's just for a single service the resource overhead of kubernetes may be significant, possibly even more than 50%.

I'd strongly recommend using a hosted k8s - either GKE, EKS, or I believe digital ocean have just released one.

If you want to use an existing VPS just to test it out, see the docs here https://kubernetes.io/docs/setup/independent/create-cluster-...

Once you have the cluster running, kompose[1] might be a nice tool if you're used to using docker-compose, however I'd say just use it as a guideline - you'll probably want to rewrite most of what it generates at one point or another

[1] https://github.com/kubernetes/kompose

If you take the approach of a managed kubernetes instance, I really recommend GKE, everything is taken care of for you.

On the other hand EKS offers what I'd call a "managed kubernetes master", everything else is still pretty manual.

Triple-backing this recommendation.

My team has deployed in AWS using KOPS and EKS, Azure with AKS and ACS-engine, and GKE in GCP

GKE is far, far easier to manage, update, etc.

Same here. I think if you have less than 100 servers, then k8s is a real overkill.

Swarm is much easier to reason about and run. It's a godsend for startups without dedicated devops.

> dedicated devops.

I have dreamed a dream, but now that dream is gone from me.

Swarm is working out really nicely so far.
You can try Nomad. It's almost stupidly easy to setup and as long as you're comfortable in a command line- easy to hit the ground running.

The one downside is that it doesn't have a feature complete UI and there arn't any good ones out there that do what the Kubernetes webui does.

Maybe you can find a similar configuration as a helm chart (https://helm.sh/) (i.e. a k8s pkg manager of sorts).
Yes, I saw helm and then I had to learn about yet another thing. Its all nice enough technology, don't get me wrong, but I think it isn't for 'running your own heroku' for your side projects. Maybe I am wrong though.
If what you want to run is already a helm chart, then that makes for a good starting point.
Have you taken a look at Rancher [0]? Easy to spin up a couple nodes and manage them in a single place. It takes care of most of the issues I've found tedious for you with no issue.

[0] https://rancher.com/

Thank you, but yes I have already tried Rancher. I have had it running with lets encrypt, etc. But it was pretty difficult to juggle all the different concepts: k8s has different concepts than rancher. What I also didn't like was when I had setup some things with the UI, I couldn't figure out how to create yamls for them.