On-premise Kubernetes Clusters

What you need to know when deploying Kubernetes yourself

Tyler Finethy
The Startup

--

Picture of the Kubernetes logo in a data center
Running Kubernetes on-premise give developers a cloud-native experience or set your organization up to be cloud-agnostic.

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…

--

--

Tyler Finethy
The Startup

Software Engineer at RStudio, with a passion for small companies with big challenges. Currently interested in Golang and tech leadership @tylfin 🚀