Hacker News new | ask | show | jobs
by matart 3304 days ago
I host several smallish PHP/HTML sites for family, friends, and a few clients. Is Kubernetes a viable solution. These sites get very little traffic.

What I am looking for is: - Ability to easily deploy containers - Ability to route by url - Ability to swap out containers without affecting others

Does Kubernetes solve this problem for me? Is there a better option?

5 comments

I am using Dokku (https://github.com/dokku/dokku) for exactly that and love it. If you've ever used Heroku, you'll feel right at home. When I looked into Kubernetes for my purposes, it seemed to be quite the overkill.
Just started using Dokku too and I love it partly because I was using Heroku before finding out Dokku.
I think it'll be overkill for smaller sites, but it would work. AWS ECS is a bit simpler IMO. You may also want to look at Dokku, which gives you essentially Heroku in a box, and you can deploy either classic Heroku-style or Dockerfiles. You could run it on a very small Digital Ocean droplet.
I second Dreamhost[0] for PHP/HTML.

I would also recommend you checkout now[1] for deploying containers and adding ability to add route by path[2].

[0]: https://www.dreamhost.com/

[1]: https://zeit.co/now

[2]: https://zeit.co/blog/path-alias

I am also interested in knowing this.

Also, can Kubernetes be used to deploy to a single VPS instance (e.g: a 10$ Digital Ocean droplet) or is it only for a multi-node system like GKE?

You can use GKE with a single node if it's big enough (it won't let you do it with the absolute smallest instance). I do it because I just like the k8s model for deploying apps. If any of my sideprojects deployed there ever start to matter I'll scale it up.
Whilst you could deploy k8s to a single node, it's massive overkill for that kind of solution.

The benefit I see in it is orchestration of large clusters of containers. The offset against that benefit is that there's quite a lot of complexity involved.

For single node solutions, if you want to use containers at all, I'd just use docker.

I agree with raesene9 here. Docker plus a proxy (haproxy, traffaek, and docker-flow-proxy come to mind) would do the trick.
Use a shared host like Dreamhost. It is much cheaper and much less time consuming than Kubernetes.