On-premise Kubernetes Clusters
What you need to know when deploying Kubernetes yourself
Whether you have your own on-premise data center, have decided to forego the various managed cloud solutions, or are developing software for a company that has — there’s a few things you should know when getting started with on-premise K8s.
If you’re already familiar with Kubernetes you know that the control plane consists of the kube-apiserver, kube-scheduler, kube-controller-manager and an etcd datastore. For managed cloud solutions like Google’s Kubernetes Engine (GKE) or Azure’s Kubernetes Service (AKS) it also includes the cloud-controller-manager. This is the component that connects the cluster to the external cloud services to provide networking, storage, authentication, and other feature support.
To successfully deploy a bespoke Kubernetes cluster and achieve a cloud-like experience you’ll need to replicate all the same features you get with a managed solution. At a high-level this means you’ll probably want to:
- Automate the deployment process
- Choose a networking solution
- Choose a storage solution
- Handle security and authentication
Lets look at each of these challenges individually, and I’ll try to provide enough…