DEV Community

Cover image for Kubernetes Series (Part 1) : Basics of Kubernetes & Its Architecture
Shahriyar Al Mustakim Mitul
Shahriyar Al Mustakim Mitul

Posted on

Kubernetes Series (Part 1) : Basics of Kubernetes & Its Architecture

It is a container orchestration which makes many servers act like one. It tuns on top of Docker(Generally) as a set of APIs in containers. It provides API/CLI to manage containers across servers.

So, what can we order Kubernetes to do?

  • First we can start 5 containers using image atseashop/api:v1.3 and Place an internal load balancer in front of these containers

Note: atseashop/api:v1.3 is an image

  • Start 10 containers using image atseashop/webfront:v1.3
    and place a public load balancer in front of these containers

  • During a festival, the usage become higher and you need to add containers. You can do that too

  • You have got a new release! Replace your containers with the new image atseashop/webfront:v1.4

Other works:

Image description

  • Kubernetes can do "rolling updates"(New versions of containers are deployed progressively, rather than all the containers at a time).

Some Terminology to know

  • K8s comes from the Kubernetes name as after "K" we have 8 letter and then a "s"

  • Kubectl( Cube control) : CLI to configure Kubernetes and its apps.

  • Node: Single server in the Kubernetes cluster.

Check out the official documentation of nodes

  • Kubelet: Kubernetes agent running on nodes.

  • Control plane:set of containers which manage the cluster.

In a master node, we have:

APIs (This is how we contact with containers) , scheduler (controls how and where your nodes are placed) ,controller manager (it looks at the current situation and tries to figure our what to do to get your commands done), etcd (Distributed storage system for key values), Core DNS ( to control DNS) etc.

So, this is what a master node might look like

Image description
**
In a normal node:**
we have Kubelet ( Kubernetes agent running on nodes), kube proxy ( to control the network) and obviously they will run over Docker

Image description

So, overall the Control Plane(set of containers which manage the cluster) might look like this

Image description

and the nodes (node 1, node 2,.......)might be like this

Image description

Distributions
Distributions like Vanilla and many more are there:

Image description

Image description

Kubernetes architecture
Image description

Haha! Want to stop learning kubernetes after watching this diagram?
Hold on!

Image description
Look at this one....... not that complex , right?

So, we have the master node which controls the whole cluster. Lets learn about it

Image description

  • It has etcd ( key value store or, the database which has all the information about your containers and how it should run)

Image description

  • API Servers( through this we contact containers and everything. one of the most important element of master. It also talks to Kubelet which actually controls nodes.)

Image description

  • Scheduler (controls how and where your nodes are placed)

  • Controller manager (it looks at the current situation and tries to figure our what to do to get your commands done)

Image description

But a node has Kubelet ( controls the node), Kube proxy ( controls the networking part of the node and provides IP address for the containers within the node).

Image description

Container runtime ( anything that manages containers . example: Docker) , Operating system (Linux/ Windows). List of container runtimes

You may also read this blogs by Kubernetes about container runtimes
Image description

Check out the official documentation of the architecture

An example of architecture and how they contact ( 1 master & 3 nodes)

Image description

*More concepts *

Image description

You might be new to pods . Pods consists of 1 or multiple containers. Container runtimes usually don't know about them..It is managed by Kubernetes. Kubernetes manages pods and then container runtimes manages the containers. Pods also have IP addresses. Thus you can keep multiple containers in a pod and contact with them using the IP address.

Image description
Image description

Note : There might be several masters on a cluster .
Cluster ( Combination of master node & nodes). Also a simple node can have this cluster in it......so , things can be way complex.

We will learn other things in next blog. See you in the next blog

Top comments (0)