What is Kubernetes?
At a high level, building cloud native applications follows a flow where you use your preferred programming language to build the application, and then you containerize that application before deploying it to production to make it accessible to your users.
Now, imagine if this cloud native application was made up of 5 containers, and for some reason, these 5 containers fail or stop running, thereby preventing your users from accessing the application. In this case, you’d have to rush back to your computer, figure out what’s wrong, fix it and then restart the containers. There’s also a chance that you wouldn’t be aware of this failure until 6 hours later because you were away from your computer. Regardless of how this goes, you never want to be in a situation where your users can no longer access your application. And that’s where Kubernetes comes in!
Build > Containerize > Orchestrate
Kubernetes is a container orchestrator that helps you automate, deploy, scale, and manage your containerized applications. For example, if a container fails, Kubernetes will restart it, and if a container isn’t responding to your user-defined health check, Kubernetes can kill it and stop showing it to your users until it’s ready to serve traffic again.