website/content/en/docs/concepts/overview/components.md

3.2 KiB

reviewers title content_type description weight card
lavalamp
Kubernetes Components concept An overview of the key components that make up a Kubernetes cluster. 10
title name weight
Components of a cluster concepts 20

This page provides a high-level overview of the essential components that make up a Kubernetes cluster.

{{< figure src="/images/docs/components-of-kubernetes.svg" alt="Components of Kubernetes" caption="The components of a Kubernetes cluster" class="diagram-large" clicktozoom="true" >}}

Core Components

A Kubernetes cluster consists of a control plane and one or more worker nodes. Here's a brief overview of the main components:

Control Plane Components

Manage the overall state of the cluster:

kube-apiserver
The core component server that exposes the Kubernetes HTTP API
etcd
Consistent and highly-available key value store for all API server data
kube-scheduler
Looks for Pods not yet bound to a node, and assigns each Pod to a suitable node.
kube-controller-manager
Runs {{< glossary_tooltip text="controllers" term_id="controller" >}} to implement Kubernetes API behavior.
cloud-controller-manager (optional)
Integrates with underlying cloud provider(s).

Node Components

Run on every node, maintaining running pods and providing the Kubernetes runtime environment:

kubelet
Ensures that Pods are running, including their containers.
kube-proxy (optional)
Maintains network rules on nodes to implement {{< glossary_tooltip text="Services" term_id="service" >}}.
Container runtime
Software responsible for running containers. Read Container Runtimes to learn more.

{{% thirdparty-content single="true" %}}

Your cluster may require additional software on each node; for example, you might also run systemd on a Linux node to supervise local components.

Addons

Addons extend the functionality of Kubernetes. A few important examples include:

DNS
For cluster-wide DNS resolution
Web UI (Dashboard)
For cluster management via a web interface
Container Resource Monitoring
For collecting and storing container metrics
Cluster-level Logging
For saving container logs to a central log store

Flexibility in Architecture

Kubernetes allows for flexibility in how these components are deployed and managed. The architecture can be adapted to various needs, from small development environments to large-scale production deployments.

For more detailed information about each component and various ways to configure your cluster architecture, see the Cluster Architecture page.