SlideShare a Scribd company logo
1 of 39
Kubernetes (k8s) and
Microservices
About me
Mahendra Laxaman
Senior Technical Consultant
IT Infrastructure Consultancy (ITIC) division
LSEG Technology (previously MIT)
https://www.linkedin.com/in/mahendra-
laxaman-b3771514/
Servers
Networking
OS and Containerized platforms
SAN
Databases
Cloud
Infrastructure Security
Other system software
We do consultancy for
Flow of the presentation
● Microservices architecture
● Ideal platform traits to run microservices
● Learn by reverse engineering
● First microservice in kubernetes
● Scaling
● High availability and FT
● Rolling upgrades
Microservice architecturere
One-thing that do everything - monolithic
mobile
app
web
browser
gateway
web
driver
account
function
inventory
function
shipping
function
Do one thing and do it right - microservices
mobile
app
web
browser
gateway
web frontend
account
service
inventory
service
shipping
service
account
db
inventory
db
Shipping
db
Tier 1 Tier 2 Tier 3
Ideal platform traits to run
microservices
Heterogeneous technologies coexists
Independently developed by
small teams
java 1.8
php
python3
java 1.9
python2
Oracle
mysql
redis
No resource overprovisioned
Cost efficient for cloud deployments
2C, 1GB
3C, 4GB
1C, 1GB
1C,2GB
5C,3GB
1C,5GB
2C,8GB
1C,1GB
Scalable
Provision resource for components
based on
demand
Host 1
Scalable ctd.
Host 2
Rolling upgrade
No service outage when upgrading
a component
0.9
1.0
Highly available and Fault tolerant
No service outage on replica
failure
Kubernetes
● Kubernetes being the state-of-the-art platform for microservices that support
above traits
● It is called the orchestration platform
current
state
desired
state
orchestration
Learn by reverse engineering
Let’s install kubernetes
Minikube
Linux:
curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
chmod +x minikube
./minikube start
Windows:
choco install minikube kubernetes-cli
minikube start
Use a cloud service
https://www.katacoda.com/courses/kubernetes
http://labs.play-with-k8s.com/
Minikube
● Easiest way to run Kubernetes locally
● Its a single-node Virtual Machine
Kubernetes dashboard
Lets install kubectl
● The Kubernetes command-line tool
● Run commands against Kubernetes clusters
Install
Linux:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.0/bin/linux/amd64/kubectl
chmod +x kubectl
Windows:
curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.0/bin/windows/amd64/kubectl.exe
Helloworld to kubernetes
Install nginx
● kubectl run nginx --image=nginx:1.10.0 --requests=cpu=200m
● kubectl expose deployment nginx --port=80 --type=NodePort
Install tomcat
● kubectl run tomcat --image=tomcat --requests=cpu=100m
● kubectl expose deployment tomcat --port 8080 --type=NodePort
This is called imperative method
Deploy nginx using a config files
=
kubectl create -f nginx.yaml
nginx.yaml
This is called declarative method
kubectl run nginx --image=nginx:1.10.0 --requests=cpu=200m
Syntax
apiVersion: v1
kind:
metadata:
spec:
status:
Metadata, eg: labels, name
image, Desired state of the object
identifies the schema this resource
object follows, eg: Pod, Deployment
Running state of the object
First micro service
Deploy a three-tier microservice application
kubectl create -f tier1.yaml kubectl create -f tier2.yaml kubectl create -f tier3.yaml
1. Take the message in
2. Append my hostname
3. Pass to the next tier
client tier1 tier2 tier3
What is running
● These are called pods
● It’s a stripped-down version of VM
HW emulation
Kernel
Dependencies
Application
Dependencies
Application
VM
POD
Pod on rest is called ‘image’
kubectl run nginx --image=nginx:1.10.0 --requests=cpu=200m
dependencies
nginx Executable -> Process
Image -> POD
https://hub.docker.com/
Create the connectivity (service)
client tier1 tier2 tier3
tier2
tier1
Single next hop
kubectl create -f tier1_svc.yaml kubectl create -f tier2_svc.yaml kubectl create -f tier3_svc.yaml
client tier1 tier3
tier2
tier1 tier2 tier3
tier1 tier2
tier2
Load balancers between each tier
What is this ‘Service’
‘Services’ provide connectivity and load balancing
Let’s connect to our application
Auto assigned hostnames
Scaling
It’s not just the PODs and the Services
This is all that we provisioned so far
Deployments
Replicasets
Add 2 replicas to tiar1
client
tier
1
tier3
tier2
tier1
High availability
Let’s kill a process
kubectl delete pod tier2-7d65b94b7c-4bnxg
client
tier
1
tier1
tier3
tier2
tier1
tier1
Rolling upgrade
Let’s upgrade the tier2
kubectl set image deployment/tier2 tier2=multicloud/netcat
kubectl rollout status deployment/tier2
kubectl rollout history deployment/tier2
kubectl rollout undo deployment/tier2
replica 1
new
replica 2
new
replica 3
new
replica 1 replica 2 replica 3
Kubernetes in production
Amazon EKS
Google GKE
Azure AKS
node
(worker)
node
(worker)
node
(master)
node
(master)
Scaling
● Scaling
○ Manually adding new replicas
● Horizontal Pod Autoscaler (HPA)
○ Matric based automatic scale
Rolling updates and Rollbacks
● Update without outage
● If unsuccessful rollback to previous state

More Related Content

What's hot

Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
Tony Erwin
 
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
HostedbyConfluent
 
Containerise everything - Why you should stop installing development environm...
Containerise everything - Why you should stop installing development environm...Containerise everything - Why you should stop installing development environm...
Containerise everything - Why you should stop installing development environm...
Daniel Demmel
 

What's hot (20)

Cloud nativeday duane (final)
Cloud nativeday duane (final)Cloud nativeday duane (final)
Cloud nativeday duane (final)
 
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
Migration of an Enterprise UI Microservice System from Cloud Foundry to Kuber...
 
Massaging the Pony: Message Queues and You
Massaging the Pony: Message Queues and YouMassaging the Pony: Message Queues and You
Massaging the Pony: Message Queues and You
 
Interconnect 2017: 6893 Keep out the bad guys by securing your MQ messaging e...
Interconnect 2017: 6893 Keep out the bad guys by securing your MQ messaging e...Interconnect 2017: 6893 Keep out the bad guys by securing your MQ messaging e...
Interconnect 2017: 6893 Keep out the bad guys by securing your MQ messaging e...
 
K8S in prod
K8S in prodK8S in prod
K8S in prod
 
Deploying Containers on Azure
Deploying Containers on AzureDeploying Containers on Azure
Deploying Containers on Azure
 
What is Kubernets
What is  KubernetsWhat is  Kubernets
What is Kubernets
 
I hear you like meshes, here’s a mesh to connect your meshes
I hear you like meshes, here’s a mesh to connect your meshesI hear you like meshes, here’s a mesh to connect your meshes
I hear you like meshes, here’s a mesh to connect your meshes
 
PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...
PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...
PuppetConf 2017: From Rollercoasters to Meerkats: 3 Generations of Production...
 
Jenkins 1
Jenkins 1Jenkins 1
Jenkins 1
 
Introduction to container mangement
Introduction to container mangementIntroduction to container mangement
Introduction to container mangement
 
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
Sharing is Caring: Toward Creating Self-tuning Multi-tenant Kafka (Anna Povzn...
 
Kubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF WebinarKubernetes deployment strategies - CNCF Webinar
Kubernetes deployment strategies - CNCF Webinar
 
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
Federation of Kubernetes Clusters (Ubernetes) KubeCon 2015 slides - Quinton H...
 
Openstack vm live migration
Openstack vm live migrationOpenstack vm live migration
Openstack vm live migration
 
Containerise everything - Why you should stop installing development environm...
Containerise everything - Why you should stop installing development environm...Containerise everything - Why you should stop installing development environm...
Containerise everything - Why you should stop installing development environm...
 
Flight recordings and mission control through thick clouds
Flight recordings and mission control through thick cloudsFlight recordings and mission control through thick clouds
Flight recordings and mission control through thick clouds
 
Monitoring and problem determination of your mq distributed systems
Monitoring and problem determination of your mq distributed systemsMonitoring and problem determination of your mq distributed systems
Monitoring and problem determination of your mq distributed systems
 
Dragon flow neutron lightning talk
Dragon flow neutron lightning talkDragon flow neutron lightning talk
Dragon flow neutron lightning talk
 
Containers and Kubernetes -Notes Leo
Containers and Kubernetes -Notes LeoContainers and Kubernetes -Notes Leo
Containers and Kubernetes -Notes Leo
 

Similar to introduction to k8s

The missing piece : when Docker networking and services finally unleashes so...
 The missing piece : when Docker networking and services finally unleashes so... The missing piece : when Docker networking and services finally unleashes so...
The missing piece : when Docker networking and services finally unleashes so...
Adrien Blind
 

Similar to introduction to k8s (20)

CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 PreviewCloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
CloudStack DC Meetup - Apache CloudStack Overview and 4.1/4.2 Preview
 
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...
 
DockerCon - The missing piece : when Docker networking unleashes software arc...
DockerCon - The missing piece : when Docker networking unleashes software arc...DockerCon - The missing piece : when Docker networking unleashes software arc...
DockerCon - The missing piece : when Docker networking unleashes software arc...
 
The missing piece : when Docker networking and services finally unleashes so...
 The missing piece : when Docker networking and services finally unleashes so... The missing piece : when Docker networking and services finally unleashes so...
The missing piece : when Docker networking and services finally unleashes so...
 
Load Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & KubernetesLoad Balancing in the Cloud using Nginx & Kubernetes
Load Balancing in the Cloud using Nginx & Kubernetes
 
Lessons learned and challenges faced while running Kubernetes at Scale
Lessons learned and challenges faced while running Kubernetes at ScaleLessons learned and challenges faced while running Kubernetes at Scale
Lessons learned and challenges faced while running Kubernetes at Scale
 
Collabnix Online Webinar - Demystifying Docker & Kubernetes Networking by Bal...
Collabnix Online Webinar - Demystifying Docker & Kubernetes Networking by Bal...Collabnix Online Webinar - Demystifying Docker & Kubernetes Networking by Bal...
Collabnix Online Webinar - Demystifying Docker & Kubernetes Networking by Bal...
 
Gentle introduction to containers and kubernetes
Gentle introduction to containers and kubernetesGentle introduction to containers and kubernetes
Gentle introduction to containers and kubernetes
 
Ultimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on KubernetesUltimate Guide to Microservice Architecture on Kubernetes
Ultimate Guide to Microservice Architecture on Kubernetes
 
Orchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using ContainersOrchestraing the Blockchain Using Containers
Orchestraing the Blockchain Using Containers
 
Orchestrating Microservices with Kubernetes
Orchestrating Microservices with Kubernetes Orchestrating Microservices with Kubernetes
Orchestrating Microservices with Kubernetes
 
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
Lessons Learned during IBM SmartCloud Orchestrator Deployment at a Large Tel...
 
Cloud computing and its job opportunities
Cloud computing and its job opportunities Cloud computing and its job opportunities
Cloud computing and its job opportunities
 
Microservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing MicroservicesMicroservices @ Work - A Practice Report of Developing Microservices
Microservices @ Work - A Practice Report of Developing Microservices
 
IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017IBM MQ in containers MQTC 2017
IBM MQ in containers MQTC 2017
 
How to Install and Use Kubernetes by Weaveworks
How to Install and Use Kubernetes by Weaveworks How to Install and Use Kubernetes by Weaveworks
How to Install and Use Kubernetes by Weaveworks
 
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKS
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKSAzure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKS
Azure Day Rome Reloaded 2019 - Deconstructing Kubernetes using AKS
 
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with KubernetesSumo Logic Cert Jam - Advanced Metrics with Kubernetes
Sumo Logic Cert Jam - Advanced Metrics with Kubernetes
 
Serhiy Kalinets "Building Service Mesh with .NET Core"
Serhiy Kalinets "Building Service Mesh with .NET Core"Serhiy Kalinets "Building Service Mesh with .NET Core"
Serhiy Kalinets "Building Service Mesh with .NET Core"
 
Successful K8S Platforms in Airgapped Environments
Successful K8S Platforms in Airgapped EnvironmentsSuccessful K8S Platforms in Airgapped Environments
Successful K8S Platforms in Airgapped Environments
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

introduction to k8s

  • 2. About me Mahendra Laxaman Senior Technical Consultant IT Infrastructure Consultancy (ITIC) division LSEG Technology (previously MIT) https://www.linkedin.com/in/mahendra- laxaman-b3771514/ Servers Networking OS and Containerized platforms SAN Databases Cloud Infrastructure Security Other system software We do consultancy for
  • 3. Flow of the presentation ● Microservices architecture ● Ideal platform traits to run microservices ● Learn by reverse engineering ● First microservice in kubernetes ● Scaling ● High availability and FT ● Rolling upgrades
  • 5. One-thing that do everything - monolithic mobile app web browser gateway web driver account function inventory function shipping function
  • 6. Do one thing and do it right - microservices mobile app web browser gateway web frontend account service inventory service shipping service account db inventory db Shipping db Tier 1 Tier 2 Tier 3
  • 7. Ideal platform traits to run microservices
  • 8. Heterogeneous technologies coexists Independently developed by small teams java 1.8 php python3 java 1.9 python2 Oracle mysql redis
  • 9. No resource overprovisioned Cost efficient for cloud deployments 2C, 1GB 3C, 4GB 1C, 1GB 1C,2GB 5C,3GB 1C,5GB 2C,8GB 1C,1GB
  • 10. Scalable Provision resource for components based on demand
  • 12. Rolling upgrade No service outage when upgrading a component 0.9 1.0
  • 13. Highly available and Fault tolerant No service outage on replica failure
  • 14. Kubernetes ● Kubernetes being the state-of-the-art platform for microservices that support above traits ● It is called the orchestration platform current state desired state orchestration
  • 15. Learn by reverse engineering
  • 16. Let’s install kubernetes Minikube Linux: curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 chmod +x minikube ./minikube start Windows: choco install minikube kubernetes-cli minikube start Use a cloud service https://www.katacoda.com/courses/kubernetes http://labs.play-with-k8s.com/
  • 17. Minikube ● Easiest way to run Kubernetes locally ● Its a single-node Virtual Machine
  • 19. Lets install kubectl ● The Kubernetes command-line tool ● Run commands against Kubernetes clusters Install Linux: curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.0/bin/linux/amd64/kubectl chmod +x kubectl Windows: curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.14.0/bin/windows/amd64/kubectl.exe
  • 20. Helloworld to kubernetes Install nginx ● kubectl run nginx --image=nginx:1.10.0 --requests=cpu=200m ● kubectl expose deployment nginx --port=80 --type=NodePort Install tomcat ● kubectl run tomcat --image=tomcat --requests=cpu=100m ● kubectl expose deployment tomcat --port 8080 --type=NodePort This is called imperative method
  • 21. Deploy nginx using a config files = kubectl create -f nginx.yaml nginx.yaml This is called declarative method kubectl run nginx --image=nginx:1.10.0 --requests=cpu=200m
  • 22. Syntax apiVersion: v1 kind: metadata: spec: status: Metadata, eg: labels, name image, Desired state of the object identifies the schema this resource object follows, eg: Pod, Deployment Running state of the object
  • 24. Deploy a three-tier microservice application kubectl create -f tier1.yaml kubectl create -f tier2.yaml kubectl create -f tier3.yaml 1. Take the message in 2. Append my hostname 3. Pass to the next tier client tier1 tier2 tier3
  • 25. What is running ● These are called pods ● It’s a stripped-down version of VM HW emulation Kernel Dependencies Application Dependencies Application VM POD
  • 26. Pod on rest is called ‘image’ kubectl run nginx --image=nginx:1.10.0 --requests=cpu=200m dependencies nginx Executable -> Process Image -> POD https://hub.docker.com/
  • 27. Create the connectivity (service) client tier1 tier2 tier3 tier2 tier1 Single next hop kubectl create -f tier1_svc.yaml kubectl create -f tier2_svc.yaml kubectl create -f tier3_svc.yaml client tier1 tier3 tier2 tier1 tier2 tier3 tier1 tier2 tier2 Load balancers between each tier
  • 28. What is this ‘Service’ ‘Services’ provide connectivity and load balancing
  • 29. Let’s connect to our application Auto assigned hostnames
  • 31. It’s not just the PODs and the Services This is all that we provisioned so far Deployments Replicasets
  • 32. Add 2 replicas to tiar1 client tier 1 tier3 tier2 tier1
  • 34. Let’s kill a process kubectl delete pod tier2-7d65b94b7c-4bnxg client tier 1 tier1 tier3 tier2 tier1 tier1
  • 36. Let’s upgrade the tier2 kubectl set image deployment/tier2 tier2=multicloud/netcat kubectl rollout status deployment/tier2 kubectl rollout history deployment/tier2 kubectl rollout undo deployment/tier2 replica 1 new replica 2 new replica 3 new replica 1 replica 2 replica 3
  • 37. Kubernetes in production Amazon EKS Google GKE Azure AKS node (worker) node (worker) node (master) node (master)
  • 38. Scaling ● Scaling ○ Manually adding new replicas ● Horizontal Pod Autoscaler (HPA) ○ Matric based automatic scale
  • 39. Rolling updates and Rollbacks ● Update without outage ● If unsuccessful rollback to previous state

Editor's Notes

  1. steering wheel of a ship -> helm Docker being the ship kubernetes is the captain of the ship in Greek
  2. The traditional way of software development is following monolithic architecture. Which involves multiple functions built in to one package. When the functionalities grow, this results very inefficient when developing as well as when running. The major problem seems to be the total development speed bottlenecked by the slowest development team.
  3. The traditional way of software development is following monolithic architecture. Which involves multiple functions built in to one package. When the functionalities grow, this results very inefficient when developing as well as when running. The major problem seems to be the total development speed bottlenecked by the slowest development team.
  4. Load balancer It is not efficient to