Side Navigation

X

All About Kubernetes

Container: A collection of software processes unified by one namespace, with access to an operating system Kernel that it shares with other containers and little to no access between containers.

Orchestration Features: orchestration manages the containers

provision hosts

Initiate containers on a host

Restart failing containers

expose containers as services outside the cluster

scaling the cluster up and down

1)  Multi-host container Scheduling: Kube-scheduler assigns pods to nodes at run time by checking resources, quality of service, policies, and user specifications before scheduling.

2) Scalability and availability: Kubernetes master can be deployed in a highly available configuration by using multi-region deployments.

Registration: seamless nodes register themselves with a master. 

Persistent storage: pods can use persistent volumes to store data.

Rollouts & RollBacks: Application upgrades and downgrades respectively.

Maintenance: API’s are versioned and turn off/on during maintenance. we can go back to the previous version.

Logging and Monitoring: TCP, HTTP, and container execution health checks

Node health checks – failures monitor by the node controller

Kubernetes status: addons – Heapster, metric server,  cAdvicer, and premethius

we can use a built-in logging feature or we can use our own

Secret Management: stores sensitive data such as database credentials and namespace configs

Kubernetes Architecture

MasterNode: 

it has 3 components to communicate, schedule, and control

API server: Interact with all Kubernetes API (can use kubectl commands – works as a client)

Scheduler: watches the created pods and assigns nodes

Controller Manager: runs tasks in the cluster (node controller, replication controller, endpoint controller and serve account and token controller)

etcd: all cluster data stored in key-value pair(job scheduling info, pod details, etc)

Kubectl: write commands to interact with the master node. it has kubeconfig file (Server information and authentication information to access API server)

Worker Node:

these are nodes that communicate to the master node through the kubelet process. docker works with kubelet to run containers on the worker node

kubelet agent: communicate with API server to look for pods for the worker node. it executes the pod container via the container engine and runs pod volumes with secrets and gives pod state and node states to the master node.

Kube-proxy: this is the network proxy and load balancer for the service on a single worker node.it handles network routing for TCP and UDP packets and performs connection forwarding. 

Docker: allows to run the containers. 

POD: pod is the smallest unit that can be scheduled as deployment in Kubernetes. it contains one or more containers tightly coupled together.

containers: containers are tightly coupled in a pod. this group of containers shares storage, Linux namespaces, and IP addresses amongst others. they are co-located and shared resources and scheduled together.

once POD is created kubelet will check the status and health. Kube-proxy will routes packets to the pods. worker nodes exposed to the internet via the load balancer. traffic comes to the node also handled by the Kube-proxy. this is how end-user talk to the application.

 

 

 

 

 

 

 

 

You May Also Like

Comments

Leave a Comment

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>