Kubernetes consists of several loosely-coupled components, with the principal idea of managing versioned resources. Kubernetes components can be divided into two sections: the control plane and node components. The control plane consists of the API Server, Controller Managers, and Schedulers. The API Server is the core management component and has the following functionalities:
- Serves a REST API for the clients outside the cluster and Kubernetes components inside the cluster
- Creates, deletes, and updates all of the Kubernetes resources, such as pods, deployments, and services
- Stores the state of the objects in a distributed key/value store