After few fights and rebuilds of my kubernetes cluster I’ve made to the point where it feels stable. I learned few things on the way therefore let’s have a look what changed.
At the end of 2017 Digital Ocean adjusted their prices to match Linode and Vultr. As a result it advanced to my favourite place to get VPSes.
Digital Ocean offers the same, or slightly better, VPS configurations as Linode. The selling point for me is availability of optional services on top of that. Block Storage, Load Balancers, Firewalls, all those things I won’t use yet but just in case they are there. Digital Ocean feels like AWS lite and I like it.
Second, more cosmetic benefit is way nicer OS images with private networking and hostnames already set up. I know, it’s small thing but for experiments it’s kinda waste of time to configure private networks manually all the time.
As I moved out of Linode I couldn’t use kube-linode provisioner any more. As a result I used next in line of mentioned – kubespray. I can say it’s working very well out of the box with options changed in the configuration. Everything has taken about 10 minutes to change.
Persistent Volumes in Kubernetes
I’ve used local type of storage when I was on Linode. And I suffered it at the first time my box got restarted for patching for Spectre. My blog got recreated on different box as pure new WordPress installation. Thankfully I had backups.
As I mentioned in previous article Rook, distributed filesystem agent, is quite expensive for small Kubernetes setups. With that I’ve decided go towards NFS and for the time being I’m quite happy. Only “downside” is that original MySQL 5.7 image won’t start and always complain about files in directory. Thankfully MariaDB don’t have this kind of problems.
For more reliability I’ve got a small, $5 box with block storage mounted in it. It works fine for now and I can’t really see difference at low throughput my apps are having.
As for today I have to change my recommendation. Digital Ocean wins in the hosting provider category and kubespray as kubernetes cluster provisioner.
Lesson learned – it’s very important to keep your files safe. If you have resources – use Rook. If not – use NFS or some provider specific block storage solution.
And the most important:
There are two types of people. Those who do backups and those who will.