Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
41 views23 pages

Container Orchestration With Kubernetes

The document provides an overview of Kubernetes (K8s), a container orchestration platform for automating the deployment, management, and scaling of containerized applications. It covers K8s components, including the control plane, nodes, and pods, as well as its functionalities like automated rollouts, service discovery, and self-healing. Additionally, it emphasizes the importance of container orchestration in enterprise scenarios and suggests self-study resources for further learning.

Uploaded by

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

Container Orchestration With Kubernetes

The document provides an overview of Kubernetes (K8s), a container orchestration platform for automating the deployment, management, and scaling of containerized applications. It covers K8s components, including the control plane, nodes, and pods, as well as its functionalities like automated rollouts, service discovery, and self-healing. Additionally, it emphasizes the importance of container orchestration in enterprise scenarios and suggests self-study resources for further learning.

Uploaded by

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

Container Orchestration with

Kubernetes (K8s)
Application Frameworks (SE3040)

Vishan Jayasinghearachchi
Lecturer
Department of Software Engineering, Faculty of Computing
[email protected]
Contents
• Kubernetes Overview
➢What is Kubernetes (K8s)?
➢What can K8s do?
➢K8s Components
➢The Control Plane
➢Nodes
➢How does everything wire together?
• Lesson Recap
• Self-study

2
Evolution of Deployment Methodologies

Source: https://kubernetes.io/docs/concepts/overview/
Container Orchestration
• Why is it needed?
➢In small numbers, one can manually deploy and
manage containers.
➢But what would happen in an enterprise scenario,
where millions of customers are constantly
requesting for different types of services?
Eg: Google search?
➢It is impossible to handle this load manually.
Automation is needed.
• Container Orchestration is the solution.

4
Container Orchestration
• How does it work?
➢Usually, a developer writes a configuration file which is
understood by the Orchestration tool.
➢This configuration file defines the desired state the
containerized application (i.e. the containers which
make it up) should be in.
➢The orchestration tool, based on this configuration file,
maintains the state of the containers (actual state) to
resemble the desired state.
➢It manages the deployment of the containers, resiliency,
selection of the host (to deploy the containers).
➢Once deployed, it manages scalability, availability and
performance and even collecting and logging data for
later review.

5
Kubernetes Overview
• What is Kubernetes (K8s)?
➢Kubernetes is a container orchestration platform
for scheduling and automating the deployment,
management, and scaling of containerized
applications.
➢Originally developed by Google. Now owned by
Cloud Native Computing Foundation (CNCF).
➢Kubernetes stands for “Helmsman” or “Pilot” in
Greek (Hence the ship’s wheel as the logo).

6
Kubernetes Overview
• What can Kubernetes do?
➢Container Deployment and Running
➢Automated Rollouts and Rollbacks
➢Service Discovery and Load Balancing
➢Storage Orchestration
➢Autoscaling
➢Self-healing (for High Availability)
➢Secret and Configuration Management

7
Kubernetes Architecture

Source: https://kubernetes.io/docs/concepts/overview/components/

8
Kubernetes Overview
• K8s components
➢Cluster: A collection of Nodes.
➢Nodes/ Worker Nodes: Actual Compute host
(Virtual/ Physical Machine). Deploy, run and
manage containerized applications via Pods.
➢Control Plane: Manages the Worker Nodes and
Pods in the Cluster.
➢Pod: A group of containers (one or many) which
share the same compute resources (node) and
same IP address. A pod is the smallest deployable
unit of computing that you can create and manage
in Kubernetes.
9
The Control Plane
• The control plane's components make global
decisions about the cluster, as well as detecting
and responding to cluster events.
• Components in the Control Pane:
➢kube-apiserver
➢etcd
➢kube-scheduler
➢kube-controller-manager
➢cloud-controller-manager (optional)

10
Kubernetes Architecture with Pods

Source: https://www.cncf.io/wp-content/uploads/2020/08/Kubernetes-architecture-diagram-1-1.png

11
Nodes
• Each node runs:
➢kubelet, a process responsible for communication
between the Kubernetes control plane and the Node; it
manages the Pods and the containers running on a
machine.
➢kube-proxy maintains network rules on nodes. These
network rules allow network communication to your
Pods from network sessions inside or outside of your
cluster.
➢A container runtime (like Docker) responsible for
pulling the container image from a registry, unpacking
the container, and running the application.
12
Nodes
• A node.

Source: https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/

13
A Cluster
• Kubernetes Cluster with a Deployment

Source: https://kubernetes.io/docs/tutorials/kubernetes-basics/deploy-app/deploy-intro/
How does everything wire together?
• How do all these wire together?
➢The desired state of a K8s cluster can be defined in a
configuration called Deployment.
• The Deployment instructs Kubernetes how to create and
update instances of your application.
➢The Deployment Controller changes the actual state to
the desired state.
• E.g.: If the Node hosting an instance goes down or is deleted,
the Deployment controller replaces the instance with an
instance on another Node in the cluster (self-healing).
➢An application instance is hosted in a Pod.
➢Traffic to a pod is handled through a Service.
• A Service routes traffic across a set of Pods. Services are the
abstraction that allows pods to die and replicate in
Kubernetes without impacting your application.

15
A Deployment

Source: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/

16
Deployments
• Watch this video on how Kubernetes
Deployments work.

17
Some Cloud Offerings
• AWS Containers Services
• Azure Container Services

18
Lesson Recap
• Microservices Architecture
• Containerization
➢Docker
• Container Orchestration
➢Kubernetes

19
Lesson Recap
• Why did we learn all these?
➢Microservices is an architectural approach to creating
cloud native applications.
➢Containers are a way of implementing Microservices.
➢Docker is a platform for packaging, deploying, and
running applications in containers.
➢Kubernetes is a system for managing containerized
applications across a cluster of nodes.
➢Cloud service providers such as AWS and Azure provide
managed Docker and Kubernetes services which can be
utilized to run applications without having to manage
anything on our own.

20
Self-study
• “Learn Kubernetes Basics” – Do this simple
hands-on tutorial on your own. No need to
install anything.
• Then do this Azure Kubernetes Service (AKS)
Tutorial to see how managed services simplify
using Kubernetes.

21
The end

Always refer the official K8s documentation.


Many outdated resources are available
online.

22
Acknowledgements and Additional
Reading
• Kubernetes (K8s) Overview
• What is Kubernetes API?

23

You might also like