• HOME
  • TECH BLOG
  • MIGRATING TO AMAZON WEB SERVICES
  • IT PROJECT MANAGEMENT BLOG
  • Q&A
  • INTERACTIVE LEARNING

KUBERNETES





Kubernetes relies on a master-slave architecture where the are certain components (master components) controlling a cluster, and other components (node components) executing application workloads (containers) as decided by the master components.

A cluster is a number of containers that are working together to provide an end result such as Increasing computing power or handling a fail-over situation.





MASTER



MasTER DIAGRAM AND EXPLANATION



The Kubernetes Master is a collection of four processes that run on a single node in your cluster, which is designated as the master node.


Those processes are:


1.) kube-apiserver

It implements the API and Is the portal or gateway into the Kubernetes cluster.

It is the contact point that is accessed by all users, automation, and components in the Kubernetes cluster.

All requests whether to create, update, delete or even list things on the cluster must go through the API server.


2.) kube-controller-manager

Is responsible for monitoring replication controllers, and creating corresponding pods to achieve the desired state. It uses the API to listen for new controllers and

to create and delete pods.

* Node Controller: Responsible for noticing and

responding when nodes go down.

* Replication Controller: Responsible for maintaining

the correct number of pods for every replication

controller object in the system.

* Endpoints Controller: Populates the Endpoints

object (joins Services & Pods).

* Service Account & Token Controllers: Create

default accounts and API access tokens for new

namespaces.


3.) kube-scheduler

It watches newly created pods that have no node assigned, and selects a node for them to run on.


4.) cloud-controller-manager

It consolidates all of the cloud-dependent logic from the preceding three

components:

* kube-apiserver: The gateway into the cluster

* kube-controller-manager: Runs controllers that interact with cloud providers

* kube-scheduler : Creates a single point of integration with the cloud.



etcd takes care of storing and replicating data used by Kubernetes across the entire cluster



NODE



NODE DIAGRAM AND EXPLANATION



A node is a worker machine in Kubernetes.

A node may be a VM or physical machine, depending on the cluster.

Each node contains the services necessary to run pods and is managed by the master .


kubelet

Is an agent that runs on each node in the cluster.

It makes sure that containers are running in a pod.


cAdvisor

Collects metrics about containers and nodes.

cAdvisor is installed by default on all cluster nodes.


kube-proxy

Is responsible for routing traffic to a container based on an IP address & port number of an incoming request.



A container is a method to package an application so it can be run with its dependencies isolated from other processes.





POD



Pod DIAGRAM AND EXPLANATION



A Kubernetes pod is a group of containers that are deployed together on the same host. If you frequently deploy single containers, you can generally replace the word "pod" with "container" and accurately understand the concept.


The smallest thing you can deploy on a Kubernetes cluster is a pod.or more containers.



CONTAINER



CONTAINER DIAGRAM AND EXPLANATION



Containers are very lightweight virtual machines.


Applications are run inside of containers.


When we run containerized applications we virtualize the operating system with

standard libraries and packages, but not the hardware


Now, instead of providing virtual hardware to a VM, you provide a virtual OS to your application.


You can run multiple applications and place

limitations on their resource utilization and each application will run uninformed as to the other containers it is running alongside.



CERTIFIED CLOUD EXPERTS | AWS PARTNER NETWORK
CLOUD CONSULTING FIRM | (516) 387-2085 | CONTACT US