it's finally time for another meetup and we've got two great talks for you. Fabian Stäber from ConSol is going to be talking about Do-It-Yourself Kubernetes in the Hetzner Cloud and Tobias Schneck and Alvaro Aleman from Loodse about creating Kubernetes multi clusters with Cluster API in the Hetzner Cloud. As always we've got Pizza and Beer, so you better be one time. First come first serve.
18:30 - 18:55 Pizza & Beer
18:55 - 19:00 Welcome
19:00 - 19:30 Fabian's talk
19:45 - 20:30 Tobias' and Alvaro's talk
Fabian Stäber, ConSol
Do-It-Yourself Kubernetes for 10 Euros/Month in the Hetzner Cloud
Many cloud providers these days offer managed Kubernetes as a service (AWS, Azure, Google, Alibaba, OpenShift, Digitalocean, ...). If you want to run Kubernetes applications in the cloud, you should use one of these. There is no need to waste your time setting up and maintaining your own Kubernetes installation.
However, running your own Kubernetes cluster is fun and interesting. It's a bit like installing Linux from source code: You don't have to do it, and you probably find better maintained packages in established distributions, but you learn something from doing it.
In this presentation we walk through the steps for setting up a do-it-yourself Kubernetes cluster in the Hetzner cloud. We have a look at some interesting aspects:
* Combination of Terraform and Ansible
* Tinc VPN (to avoid unencrypted Kubernetes traffic on public IPs)
* kubeadm (we use kubeadm to set up the cluster)
* Persistent volumes with CIFS (Hetzner provides CIFS shares for persistent file storage)
* Backup and restore of the Kubernetes master (recover from failure)
* Monitoring, load balancing, ...
Tobias Schneck & Alvaro Aleman, Loodse GmbH
Creating Kubernetes multi clusters with ClusterAPI in the Hetzner Cloud
Based on Fabian’s talk, where we learned how to setup a Kubernetes cluster at Hetzner for small environments, Tobias and Alvaro will take a look to the approach to orchestrate and manage one or more cluster by the Cluster API project (a subproject of sig-cluster-lifecycle). The main idea behind it is to use the Kubernetes API itself to manage multiple clusters with there master and worker nodes in same way you would manage your PODs - define the needed resources and the responsible controller will take care for providing it.
After an overview about the concepts of cluster API, we will show what’s needed to implement a cluster API conform machine class/deployment on top of the Hetzner Cloud API. There we will see that adding your own provider isn’t that hard as you may aspect. At the end of the day it just requires a simple interface to implement. The corresponding controller is available as open source, so its possible to play around with it.
At least a final demo will show how easy it is to spin up and maintain multiple Kubernetes cluster in Hetzner (or other cloud/on-premise providers) over one managing seed cluster. A final wrap up will summarize the current state of the Cluster API project and the advantages of managing clusters as cattles instead of pets.