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
Hossam Barakat
November 06, 2019
Programming
2
170
Kubernetes for Developers - All Day DevOps
Hossam Barakat
November 06, 2019
Tweet
Share
More Decks by Hossam Barakat
See All by Hossam Barakat
Build Your Cloud Infrastructure as Code With .Net Core - Build Stuff
hossambarakat
0
67
Kubernetes Blue-Green Deployment Made Easy with Argo Rollouts - ADDO
hossambarakat
0
100
Build Your Azure Infrastructure as Code With .NET Core - Azure Day
hossambarakat
0
35
Build Your Azure Infrastructure as Code With .Net Core - Global Azure 2021
hossambarakat
0
52
Practical Domain-Driven Design with EF Core - NDC London 2021
hossambarakat
0
250
Build Your Cloud Infrastructure as Code With .Net Core - ADDO 2020
hossambarakat
0
130
Practical Domain Driven Design With EFCore - NDC Sydney 2020
hossambarakat
0
130
Build Your Cloud Infrastructure as Code With .Net Core - NDC Porto 2020
hossambarakat
2
150
Secure your Kubernetes Containers - All Day DevOps
hossambarakat
0
120
Other Decks in Programming
See All in Programming
ニーリーにおけるプロダクトエンジニア
nealle
0
950
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
180
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
230
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
1.1k
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
130
[SRE NEXT] 複雑なシステムにおけるUser Journey SLOの導入
yakenji
0
150
顧客の画像データをテラバイト単位で配信する 画像サーバを WebP にした際に起こった課題と その対応策 ~継続的な取り組みを添えて~
takutakahashi
4
1.3k
Android 16KBページサイズ対応をはじめからていねいに
mine2424
0
440
#QiitaBash MCPのセキュリティ
ryosukedtomita
1
1.5k
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
2
200
20250708_JAWS_opscdk
takuyay0ne
2
130
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
11
1.3k
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Making Projects Easy
brettharned
116
6.3k
Balancing Empowerment & Direction
lara
1
450
A Tale of Four Properties
chriscoyier
160
23k
Documentation Writing (for coders)
carmenintech
72
4.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
126
53k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
A better future with KSS
kneath
238
17k
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_