4 ms·
I set up a single-node cluster for a personal project on DO and it took me some time, but it's up and running and has been fine for over a year. I used a decent
by cdelsolar 8y ago
I set up a single-node cluster for a personal project on DO and it took me some time, but it's up and running and has been fine for over a year. I used a decently beefy instance ($20/monthly on DO) because the Kubernetes processes are actually too resource intensive for the $5 instance. It runs several processes (the main Python app and a helper Go-based API), automatic SSL renewal, a daily cleanup Cronjob, etc.
I really like being able to push a completely new container whenever I push to master - this is done with CircleCI, which builds the image, pushes to Docker Hub, and just does the kubectl apply. I couldn't think of any other way to do it that wouldn't result in some downtime if I had to change or upgrade packages.
I wrote about it here a bit: https://hackernoon.com/lessons-learned-from-moving-my-side-project-to-kubernetes-c28161a16c69 https://hackernoon.com/lessons-learned-from-moving-my-side-p...
- Rotareti 8y ago> I couldn't think of any other way to do it that wouldn't result in some downtime if I had to change or upgrade packages. https://github.com/helm/helm https://github.com/helm/helm ? You push the new version of your app as a helm chart to your helm repo and then run: helm upgrade my-app
- cdelsolar 8y agono - I meant, outside of Kubernetes, in the past (sorry, my wording in my post was a bit confusing). My app used to just be something I would ssh into and then do a git pull, but whenever I had to upgrade packages it would be tricky. Then I tried Docker with docker-compose and I had similar issues with environment variable changes. Kubernetes is great; all I do is kubectl apply -f new_config.yml and everything just works without downtime. I only very recently learned about Helm when doing automatic SSL upgrading, but it looks cool too. In general I really don't think k8s is the monster people make it out to be. I did all this on the side over the course of a few weeks, a few hours here and there. I know I'm only scratching the surface of what is possible, but everything just works fine, and my .yaml files are pretty self-explanatory.