 What is Kubernetes in 3 minutes? In this lesson, I took the challenge of explaining to you what is Kubernetes in just 3 minutes. Kubernetes is the name of Greek origin, meaning helmsman or pilot. The person is steering the wheel of a ship or boat. The Kubernetes project is a portable, extensible and open source platform for managing containerized workloads and services. Portable means that Kubernetes is everywhere, running on bare metal, VMs, public and private clouds. Extensible means that Kubernetes is a platform that enables the addition of new functionalities built on top of it. And open source, because Google open sourced it in 2014 and the Kubernetes project is hosted by the CNCF, the cloud-native computing foundation. Kubernetes uses a declarative approach for the configuration of its workloads. This means that instead of declaring an API that would allow you to execute commands to this, to that, to achieve a specific workload state, Kubernetes requires just the desired workload state and will take care of whatever steps are necessary to reach that state. Let's take a look at this example. Here I have the YAML file for a Kubernetes deployment. Most of the configuration in Kubernetes is done by YAML. And some might even argue that Kubernetes is the most sophisticated YAML processing engine ever. This YAML file specifies that I want four instances of my container to be managed by Kubernetes. Since I have three nodes, Kubernetes will distribute these instances in the nodes based on my resource requests and the workload distribution. What happens when one of my instances is terminated? Kubernetes will detect it and schedule another instance potentially in another node of my cluster. And what if an entire node goes down? Kubernetes, once again, will detect it and reschedule the instances that were in the failing node to other nodes. Kubernetes also provides this set of features so you can successfully manage your Kubernetes native and cloud-native workloads. Self-healing, just like we've seen in the previous example. First discovery and load balancing so you can reach and reference your applications by a simple name. Storage orchestration so you can store the data of your stateful workloads such as databases. Automated rollouts and rollbacks just in case something goes wrong. Optimal use of resources considering the minimum and maximum amount of resources your application can consume. Thanks and configuration management so you can provide different configurations for your applications based on the environment they're running. That's it. My three minutes are gone. I hope you enjoyed this lesson and you watched the following ones when we explain more concepts about Kubernetes. Thanks for watching. Don't forget to like this video and subscribe to our channel.