How to get started with Kubernetes on your local machine.
What is this article about?
Since I discovered Docker in late 2018 I was impressed by the fact that deployment could have been processed like source code. Yes, I think this was the gap that containers fill: make source code and serve the same thing. As you commit your changes to the order controller, you can commit the new server that hosts the order controller. That was a revolution, thinking to the time when the developer manually uploads the file to production or move with DevOps tool if they were lucky. This opens to new scenarios, where also the infrastructure is deployed by DevOps tools. Honestly speaking, not all applications need an infrastructure that can be replicated by a click. It is a requirement for Saas software, but an expensive plus for most of simples business use case. However, coming back to Docker, there still was some effort to deploy it and scale. I used it on dev, test, and production environment, no blame on docker. I love it. But, it needed to convert old way developers to use container also in development to gain all benefits of a lean process to the production environment. We did it so that, more or less, most of the developers have docker in their PC, can run a container or run “docker-compose up” and use a cluster of servers.
That was great, a lot of the issue by developing in different environment or setup costs for developers was cutoff. Deployment to production was still completely managed by the DevOps process, so what else? In my deep, I found something was missing. There still be some parts that stuck me… pulling container, running containers, exposing volumes it’s great and docker itself give us the solution, but I missing something. I didn’t know exactly what at that moment but there was for sure. Then a day I discovered Kubernetes. The payload is “Production-Grade Container Orchestrator”. I can’t remember what it was at that time, but trust me… the Orchestrator word opened my mind. I needed something to orchestrate containers, coordinate their work: Kubernetes was what I miss. Since that time I tested it into production environments, friction during development reduced, setup time fall, DevOps effort was reduced.