Skip to content

Latest commit

 

History

History
97 lines (66 loc) · 3.19 KB

03-system-components.md

File metadata and controls

97 lines (66 loc) · 3.19 KB

Basic Concepts

Back to overview

System Components

Overview Image

For more information see: https://kubernetes.io/docs/concepts/overview/components/.

Master Components

These components run typical on a seperate machine, even if they don't have to. They are responsible for:

  • Global decisions about the cluster (e.g. scheduling)
  • In AKS high available managed server

kube-apiserver

  • Github: kube-apiserver
  • Kubernetes API
  • Frontend for the Kubernetes Control Plane
  • Receives commands from kubectl tool
  • Exposed by AKS (see Azure Portal or kubectl cluster-info)

etcd

kube-scheduler

  • Github: kube-scheduler
  • Starts new pods as containers on nodes
  • Takes several metrics into consideration, like resources, etc.

kube-controller-manager

  • Github: kube-controller-manager
  • Runs controllers in a single process
  • Controllers:
    • Node Controller: Handles Node Shutdowns
    • Replication Controller: Ensure correct number of pods
    • Endpoints Controller: Populates endpoints (pods, services)
    • Service Account & Token Controllers

cloud-controller-manager

  • Github: cloud-controller-manager
  • Interaction with the underlying cloud providers
  • Controllers
    • Node: Lifecycle management of cloud nodes
    • Route: Routing in the Cloud Infrastructure
    • Service: Handles Load Balancers
    • Volume: Mounting and interacting with Cloud Storages

Node Components

kubelet

Used for connecting AKS to ACI (e.g. burst traffic spikes).

kube-proxy

Runs on the nodes, takes the traffic e.g. from Load-Balancer and sends it to the pods round robin.

  • Github: kube-proxy
  • Networking Abstraction
  • Kubernetes service abstraction
  • Connection-Forwarding

Container Runtime

  • Runtime to run containers, e.g. docker

cAdvisor

  • Integrated into kubelet
  • Collects CPU, memory, filesystem, and network usage statistics of containers and exposes them to kubelet

Addons

To further enhance functionality there are several addons that can be included:

  • DNS
    • DNS Server in the cluster
  • Web UI (Dashboard)
    • Simple Web UI for managing kubernetes
  • Container Resource Monitoring
    • Metric collection and monitoring
  • Cluster-level Logging
    • Store logs in a central log store