Introduction
Want to build your own EKS, GKE on vanilla Kubernetes ? Here’s an easy way to use Kubermatic as your kubernetes provider on your infra.
Kubermatic will manage all your kubernetes clusters using your favorite hypervisor, with a great multi-tenant UI.
Prerequisites
To make your own Kubernetes as a Service you need :
At least one kubernetes cluster, will be used to host control plane services and kubermatic software
At least one infrastructure provider (https://github.com/kubermatic/machine-controller)
- AWS
- GCP
- Openstack
- Hetzner
- Kubevirt
- Digitalocean
- Azure
- Nutanix
- VMWare Cloud Director
- VMWare Vsphere
- Linode Using one of the following operating system (Full compatibility here : https://github.com/kubermatic/machine-controller/blob/master/docs/operating-system.md):
- Ubuntu
- Flatcar
- CentOS 7
If you respect all these prerequisites, you are good to go
Architecture
Kubermatic has a 3 layer architecture : Master
- Master Cluster
- Seed Cluster
- User Cluster
We will go through each of them to detail their usage
Master Cluster
Master cluster is reponsible for running all kubermatic related software :
- Web UI aka Dashboard
- Kubermatic API
- Machine Controller responsible to deploy and manage worker nodes
Seed Cluster
Seed cluster is reponsible for running all control planes software for user clusters Each user cluster will use a different namespace in the seed cluster to separate resources from each cluster.
User Cluster
The user cluster is the cluster created for a tenant.
Architecture
Simple architecture
You’ll need one kubernetes cluster for this simple architecture, master and seed cluster will be grouped in one cluster. The user cluster will be instanciated in your provider.
Large scale architecture
You’ll need at least two kubernetes clusters for this. Master will be hosted in a cluster and the seed cluster in another. You can separate your clusters in multiple seeds depending on the granularity needed (Country/Datacenter or other)
The user cluster will still be instanciated in your provider.
Conclusion
Now that you know the architecture of Kubermatic, we’ll install it on a kubernetes cluster linked to an openstack cluster !
See you on the next article !