Comparing the advantages and disadvantages of local Kubernetes clusters and remote Kubernetes clusters for development.
If you are one of the many companies using Kubernetes as an infrastructure technology, you might now ask yourself how to guide your engineers to use Kubernetes in the development phase of the software. There are several degrees of how far you want to go with introducing Kubernetes into your development process. One general question you have to answer in any case of developer access to Kubernetes is if they should rather use local clusters or work with remote Kubernetes clusters in the cloud. In this post, I will compare the two general approaches and describe their main strengths and weaknesses.
For many developers, the first time they are in direct contact with Kubernetes is in a local environment. That means that they are running Kubernetes on their machines instead of the usual cloud environments Kubernetes was initially made for.
Since the developer is the only one who has to access this cluster for development, local clusters can be a feasible solution for this purpose. Over time, several solutions have emerged that are particularly made for running Kubernetes in local environments. The most important ones are Kubernetes in Docker (kind), MicroK8s, minikube and k3s. For a comparison of these local Kubernetes options, you can look at this post.
Running Kubernetes on your local machine during development has some advantages compared to using a cloud-based environment:
#cloud-native #cloud-development #kubernetes #kubernetes-cluster #software-development