What is the architecture and components of Kubernetes?

Master

  • Api server -> POD -> Container -> Docker image –> Google Registry
    • validates and configures data for API objects, including pods and services. The API Server provides the frontend to the cluster’s shared state, which is where all of the other components interact
  • Etcd -> POD -> Container -> Docker image –> Google Registry
    • etcd is a distributed key-value store and the primary datastore of Kubernetes. It stores and replicates the Kubernetes cluster state.

  • Controller mgmr -> POD -> Container -> Docker image –> Google Registry
    • Collection of controllers bundled within a single binary and run in a single process.
  • Schedular -> POD -> Container -> Docker image –> Google Registry
    •  to assign pods to nodes within your cluster. The scheduler will use information such as compute requests and limits defined within your workload (if any), as well as finding the right node candidate based on its available resources to appropriately assign your workload to a particular node.
  • kubelet
    • agent within nodes and is responsible for the runnings of pod cycles within each node. Its functionality is watching for new or changed pod specifications from master nodes and ensuring that pods within the node that it resides in are healthy, and the state of pods matches the pod specification.
  • docker
  • kube proxy -> POD -> Container -> Docker image –> Google Registry
    •  network proxy that runs on each node. It maintains network rules, which allow for network communication to Pods from network sessions inside or outside of a cluster. 
  • kubectl
  • kubeadm

Worker

  • kubelet
  • docker
  • kube proxy -> POD -> Container -> Docker image –> Google Registry
  • kubectl
  • kubeadm

Workstation

  • kubectl