Kubernetes Introduction

Mradul Pandey
Jinternals
Published in
2 min readOct 10, 2018

Kubernetes is a portable, extensible and self-healing system software that automates, simplifies deployment and scaling of application containers. Kubernetes hides the underlying complexity of data center. It presents the data center as a big computer for running and managing container (inside pods).

Kubernetes Cluster

Kubernetes cluster is the collection of computers managed by Kubernetes system software. Computers in the cluster are known as masters and nodes. Master is responsible for managing the cluster while nodes are the worker machines in the cluster who does all heavy lifting.

Kubernetes Cluster

Master

The master coordinates all activities in your cluster, such as scheduling applications, maintaining applications’ desired state, scaling applications and rolling out new updates.

Components of the master:

  1. kube-apiserver: It exposes the Kubernetes API.
  2. etcd: Key-value store for storing the state of Kubernetes cluster.
  3. kube-controller-manager: Component on the master that manages controllers.
  4. cloud-controller-manager: Component that manages the underlying cloud provider.
  5. kube-scheduler: Component that schedules newly created pods on nodes.
  6. add-ons: DNS, Web UI, Logging & Monitoring

Node

A node is a work machine in Kubernetes, it does all the heavy lifting such as maintaining running pods and providing the Kubernetes runtime environment.

Components of node:

  1. kubelet: An agent that runs on each node in the cluster. It makes sure that containers are running in a pod.
  2. kube-proxy: The Kubernetes network proxy runs on each node.
  3. docker/rkt: The container runtime is the software that is responsible for the running container.
Node — worker machine

Next: Kubernetes Namespace

--

--