Introduction to Kubernetes
Kubernetes is an open source system used to automate management of containerized applications. A containerized application, simply means an application that runs inside a container. The management part refers, among other things to:
- Deployment of changes
- Rollbacks
- Load balancing and discoverability
- Secret and configuration management
- Container placement
- Scaling applications
Kubernetes clusters
A Kubernetes cluster is a set of machines that are configured in a way that allows us to tell Kubernetes that we need to run our application without having to worry about exactly where it runs. A Kubernetes cluster consists of two things:
- Control Plane
- Nodes
The Control Plane
refers to hosts that are responsible for managing the cluster, while the Nodes
are the hosts where applications are run.
Kubernetes Nodes
need to have a container management system (Docker, for example) as well as an agent used for communicating with the Control Plane
. The name of this agent is Kubelet
.