Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Kubernetes for Developers - All Day DevOps
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hossam Barakat
November 06, 2019
Programming
190
2
Share
Kubernetes for Developers - All Day DevOps
Hossam Barakat
November 06, 2019
More Decks by Hossam Barakat
See All by Hossam Barakat
Build Your Cloud Infrastructure as Code With .Net Core - Build Stuff
hossambarakat
0
85
Kubernetes Blue-Green Deployment Made Easy with Argo Rollouts - ADDO
hossambarakat
0
140
Build Your Azure Infrastructure as Code With .NET Core - Azure Day
hossambarakat
0
46
Build Your Azure Infrastructure as Code With .Net Core - Global Azure 2021
hossambarakat
0
67
Practical Domain-Driven Design with EF Core - NDC London 2021
hossambarakat
0
260
Build Your Cloud Infrastructure as Code With .Net Core - ADDO 2020
hossambarakat
0
160
Practical Domain Driven Design With EFCore - NDC Sydney 2020
hossambarakat
0
140
Build Your Cloud Infrastructure as Code With .Net Core - NDC Porto 2020
hossambarakat
2
160
Secure your Kubernetes Containers - All Day DevOps
hossambarakat
0
130
Other Decks in Programming
See All in Programming
The Arts and Crafts of Work in the AI Era — Toward Mastery in Software Development
kuranuki
1
630
開発とはなにか、Essenceカーネルで見えるもの
ukin0k0
0
220
誰も頼んでない機能を出荷した話
zekutax
0
140
Signal Forms: Beyond the Basics @ngBaguette 2026 in Paris
manfredsteyer
PRO
0
150
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
390
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
1
400
AI Agent と正しく分析するための環境作り
yoshyum
3
620
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
290
関係性から理解する"同一性"の型用語たち
pvcresin
2
590
New "Type" system on PicoRuby
pocke
1
240
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.1k
[BalkanRuby 2026] Drop your app/services!
palkan
3
710
Featured
See All Featured
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
370
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
340
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
350
Optimizing for Happiness
mojombo
378
71k
GitHub's CSS Performance
jonrohan
1033
470k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Mind Mapping
helmedeiros
PRO
1
210
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
390
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
How to build a perfect <img>
jonoalderson
1
5.5k
Making the Leap to Tech Lead
cromwellryan
135
9.9k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.8k
Transcript
Kubernetes for Developers Hossam Barakat Lead Consultant at Telstra Purple
@hossambarakat_
@hossambarakat_ • What is Kubernetes? • Why Kubernetes? • Kubernetes
Architecture • Deploy Web App with DB on Kubernetes Agenda
@hossambarakat_ Containers Hardware Host Operating System Application Application Application Container
Dependencies Application Host Operating System Hardware Container Engine Container Container Container Container Hardware Host Operating System Virtual Machine Guest OS Application Virtual Machine Guest OS Application Hypervisor
@hossambarakat_ The application is deployed to production
@hossambarakat_ Then the application went viral
@hossambarakat_ Containers bring scalability challenges!
@hossambarakat_ Container orchestration platforms to rescue
@hossambarakat_ • Service discovery • Scaling • Health monitoring •
Failover • Networking • Scheduling • Coordinated app upgrades Container Orchestration
@hossambarakat_ Kubernetes
@hossambarakat_ Kubernetes Architecture Master Worker Worker Client Worker Cluster
@hossambarakat_ Kubernetes Architecture Master API Server Scheduler Worker Kubelet Container
Runtime UI (Dashboard) CLI (Kubectl) Other Client(s) Container Container Cluster
@hossambarakat_ ASP .NET App On Kubernetes ASP.NET Application
@hossambarakat_ ASP .NET App On Kubernetes ASP.NET Application ASP.NET Application
ASP.NET Application
@hossambarakat_ Pods
@hossambarakat_ Pods Pod
@hossambarakat_ Pods Scaling Pod Pod
@hossambarakat_ Pod kind: Pod apiVersion: v1 metadata: name: tasks-app spec:
containers: - name: tasks-app image: hossambarakat/tasklist ports: - containerPort: 80 $ Kubectl apply -f pod.yaml
@hossambarakat_ But wait… what happens if the pod dies?
@hossambarakat_ ReplicaSets Pod ReplicaSet Pod
@hossambarakat_
@hossambarakat_ Deployment ReplicaSet Deployment Pod Pod
@hossambarakat_ Deployment Rollout Deployment ReplicaSet V2 Pod Pod ReplicaSet V1
Pod Pod
@hossambarakat_
@hossambarakat_ Connecting to Pods 10.0.0.1 DB Pod A 10.0.0.2 DB
Pod B ASP.NET Pod
@hossambarakat_ Service 10.0.0.2 Pod B 10.0.0.3 Pod C IP: 10.0.0.30
DNS: myservice Service 10.0.0.1 Pod A
@hossambarakat_ Service IP: 10.0.0.30 DNS: tasks-app-svc Service IP: 10.0.0.90 DNS:
mssql-service Service 10.0.0.1 Pod 10.0.0.1 Pod 10.0.0.1 Pod
@hossambarakat_
@hossambarakat_ Kubernetes in the cloud
Azure AKS $ az aks create -g myResourceGroup -n myCluster
--generate-ssh-keys $ az aks upgrade --kubernetes-version 1.12.6 --name myCluster --resource-group myResourceGroup $ az aks scale -g myResourceGroup -n myCluster --node-count 6
@hossambarakat_ • Scale agent nodes based on pending pods and
nodes utilization • Scans the cluster periodically to check for pending pods or empty nodes and increases the size if possible AKS Cluster Autoscaler
@hossambarakat_ • Kubernetes Architecture • Deploy application using different workloads
• Kubernetes in the cloud Summary
@hossambarakat_ • https://github.com/hossambarakat/TaskList • Introduction to Kubernetes (edX) • Learn
Kubernetes using Interactive Hands-on Scenarios (Katacoda) • https://kubernetes.io/docs/ Resources
@hossambarakat_ Questions? #2019addo-cloudnative
None
Thanks Hossam Barakat @hossambarakat_