Hands-On Kubernetes on Windows
上QQ阅读APP看书,第一时间看更新

kube-apiserver

The Kubernetes API Server (kube-apiserver) is the central component in the Kubernetes control plane and acts as a gateway for all interactions between clients and cluster components. Its main responsibilities are as follows:

  • Exposing cluster APIs that have been implemented as a set of RESTful endpoints over HTTPS. The API is used by clients managing the cluster as well as by internal Kubernetes components. All the resources in the Kubernetes cluster are abstracted as Kubernetes API objects.
  • Persisting cluster state in the etcd cluster each action performed by a client or state update reported by a cluster component has to go through the API Server and be persisted in the cluster store.
  • Authentication and authorization of users and service accounts.
  • Validation of requests.
  • Providing the watch API to inform subscribers (for example, other cluster components) about changes in the cluster state using incremental notification feeds. The watch API is the key concept that makes Kubernetes highly extensible and distributed in nature.

In highly available Kubernetes deployments, kube-apiserver is hosted on multiple master nodes, behind a dedicated load balancer.