0% found this document useful (0 votes)
30 views13 pages

Kuber Net Es

Kubernetes is an open source tool that provides a platform for automating deployment, scaling, and management of containerized applications. It uses a master-slave architecture with control plane components like etcd for storing cluster data and kube-api-server for handling requests, running on the master node. The kubelet and kube-proxy run on worker nodes and manage running pods and service discovery. Kubernetes objects like pods run application containers, deployments define and updates app configurations, and services provide discovery and load balancing for pods.

Uploaded by

Riyas Mohamed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views13 pages

Kuber Net Es

Kubernetes is an open source tool that provides a platform for automating deployment, scaling, and management of containerized applications. It uses a master-slave architecture with control plane components like etcd for storing cluster data and kube-api-server for handling requests, running on the master node. The kubelet and kube-proxy run on worker nodes and manage running pods and service discovery. Kubernetes objects like pods run application containers, deployments define and updates app configurations, and services provide discovery and load balancing for pods.

Uploaded by

Riyas Mohamed
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Kubernetes

FOR BEGINNERS
Kubernetes
Kubernetes is an open source orchestration tool developed by Google for managing
microservices or containerized applications across a distributed cluster of nodes.
Kubernetes provides highly resilient infrastructure with zero downtime deployment capabilities,
automatic rollback, scaling, and self-healing of containers (which consists of auto-placement,
auto-restart, auto-replication , and scaling of containers based on metrics)
Objective of Kubernetes
The main objective of Kubernetes is to hide the complexity of managing a fleet of containers by
providing REST APIs for the required functionalities.
Kubernetes is portable in nature, meaning it can run on various public or private cloud platforms
such as AWS, Azure, OpenStack, or Apache Mesos. It can also run on bare metal machines.
Creating Kubernetes Clusters - Hosted
EKS on AWS – Elastic Kubernetes Service
AKS on Azure – Azure Kubernetes Service
GKE on Google Cloud – Google Kubernetes Engine
Container Service for Kubernetes – Alibaba Cloud
Digital Ocean Kubernetes
IBM Cloud Kubernetes
Oracle Container Engine for Kubernetes…
Kubernetes Components and
Architecture
Kubernetes Components and
Architecture
Kubernetes follows a client-server architecture. It’s possible to have a multi-master setup (for
high availability), but by default there is a single master server which acts as a
controlling node and point of contact.
The master server consists of various components including a kube-apiserver, an etcd storage, a
kube-controller-manager, a cloud-controller-manager, a kube-scheduler, and a DNS server
for Kubernetes services.
Node components include kubelet and kube-proxy on top of Docker.
Kubernetes Components and
Architecture
Master Node Components :

etcd cluster : a simple, distributed key value storage which is used to store the Kubernetes
cluster data (such as number of pods, their state, namespace, etc), API objects and service discovery
details.
kube-api-server : Kubernetes API server is the central management entity that receives all REST requests
for modifications (to pods, services, replication sets/controllers and others), serving as frontend to the
cluster.
kube-controller-manager: Runs a number of distinct controller processes in the background (for example,
replication controller controls number of replicas in a pod, endpoints controller populates endpoint objects
like services and pods, and others) to regulate the shared state of the cluster and perform routine tasks.
cloud-controller-manager : is responsible for managing controller processes with dependencies on the
underlying cloud provider (if applicable). For example, when a controller needs to check if a node was
terminated or set up routes, load balancers or volumes in the cloud infrastructure, all that is handled by the
cloud-controller-manager.
kube-scheduler : Helps schedule the pods (a co-located group of containers inside which our application
processes are running) on the various nodes based on resource utilization. It reads the service’s operational
requirements and schedules it on the best fit node. For example, if the application needs 1GB of memory
and 2 CPU cores, then the pods for that application will be scheduled on a node with at least those resources.
Kubernetes Components and
Architecture
Worker Node Components :
kubelet : the main service on a node, regularly taking in new or modified pod specifications (primarily
through the kube-apiserver) and ensuring that pods and their containers are healthy and running in the
desired state. This component also reports to the master on the health of the host where it is running.
kube-proxy : A proxy service that runs on each worker node to deal with individual host subnetting and
expose services to the external world. It performs request forwarding to the correct pods/containers
across the various isolated networks in a cluster.
KUBECTL
kubectl command is a line tool that interacts with kube-apiserver and send commands to the
master node. Each command is converted into an API call.
Click on the link below to see how to install and setup kubectl in the respective distribution
used:
◦ https://kubernetes.io/docs/tasks/tools/install-kubectl/
Kubernetes Objects : Pod
Pod : Generally refers to one or more containers that should be controlled as a single application. A pod
encapsulates application containers, storage resources, a unique network ID and other configuration on
how to run the containers.
Service : Pods are volatile, that is Kubernetes does not guarantee a given physical pod will be kept alive
(for instance, the replication controller might kill and start a new set of pods). Instead, a service
represents a logical set of pods and acts as a gateway, allowing (client) pods to send requests to the
service without needing to keep track of which physical pods actually make up the service
Deployment : Describes the desired state of a pod or a replica set, in a yaml file. The deployment
controller then gradually updates the environment (for example, creating or deleting replicas) until the
current state matches the desired state specified in the deployment file. For example, if the yaml file
defines 2 replicas for a pod but only one is currently running, an extra one will get created. Note that
replicas managed via a deployment should not be manipulated directly, only via new deployments.
Kubernetes Objects – Pod
Kubernetes Objects – Services
Kubernetes Objects – Deployment

You might also like