My Kubernetes Cluster
This is my experience with Kubernetes so far!
You may, or may not have, noticed that I've moved my website over from users.6697-content.network/~mrree/ to MrRee.me.
My old blawg server was just that... a server. Server's aren't cheap when you have different ones for each little thing that you are doing. You wind up with mail servers, web servers, database servers (mongo, mysql, redis, postgresql).
But I isolate processes in the name of security by ordering VPS' to suite my needs. It has unfortunately come down to me paying almost my month's rent in server bills.
To cut down on some spending I decided to order a cluster of VPS' from digital ocean, provided as a managed Kubernetes service. Meaning that they handle the nodes, and the kubernetes software update.
Literally all I need to worry about, is deploying and scaling my processes across the cluster. Everything is nice and isolated within docker containers. So over the past few months I have been learning about Kubernetes, and over the last week or so I've been learning about Docker and have even released a couple of images.
So far I've deployed my IRC bot, reebot, and this website as well as an IRCd on my cluster.
The website automatically updates whenever I push changes to a private git repository, as well as when the container is rebooted.
As far as the IRCd is concerned, since I couldn't bind to ports below 30k on a NodePort configuration, I had to write an IRC load balancer that would pass connections from it's own listener on port 6697 to the server. This allowed my software to proxy the connection information to the IRCd so that I would no longer see internal load balancer IP addresses. It was also possible for me to pass these connections over a local network even though the load balancer had to be outside of the cluster.
I still need to set up a few more things, and expand the cluster as I go, currently I'm at 3 nodes (1 master 2 slaves). If anyone is actually interested in how progress is going hit me up on IRC or Twitter or w/e and let me know!