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
Kubecon: Continuously Delivering Microservices ...
Search
Sandeep Parikh
November 10, 2015
Technology
0
140
Kubecon: Continuously Delivering Microservices in Kubernetes
https://www.youtube.com/watch?v=Odg_g_F55gs
Sandeep Parikh
November 10, 2015
Tweet
Share
More Decks by Sandeep Parikh
See All by Sandeep Parikh
Bringing Kubernetes Policy Enforcement to GitLab
crcsmnky
0
37
Shift Policy Enforcement Left using GitOps
crcsmnky
0
160
Securing your microservices using Istio
crcsmnky
1
1.9k
Enforcing Service Mesh Structure using OPA Gatekeeper
crcsmnky
0
370
Modern App Dev using Cloud Run and Knative
crcsmnky
0
65
Service Mush: Debugging Istio Deployments
crcsmnky
0
60
Google Cloud for Serverless Compute
crcsmnky
1
160
Kubernetes and Hybrid Deployments
crcsmnky
0
280
MongoDB Europe 2016: Using Beam and BigQuery with MongoDB
crcsmnky
0
110
Other Decks in Technology
See All in Technology
社内お問い合わせBotの仕組みと学び
nish01
1
480
AWSにおけるTrend Vision Oneの効果について
shimak
0
140
Why Governance Matters: The Key to Reducing Risk Without Slowing Down
sarahjwells
0
120
職種別ミートアップで社内から盛り上げる アウトプット文化の醸成と関係強化/ #DevRelKaigi
nishiuma
2
150
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
3
380
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
320
Why React!?? Next.jsそしてReactを改めてイチから選ぶ
ypresto
10
4.5k
AIツールでどこまでデザインを忠実に実装できるのか
oikon48
1
1.4k
Azure SynapseからAzure Databricksへ 移行してわかった新時代のコスト問題!?
databricksjapan
0
150
M5製品で作るポン置きセルラー対応カメラ
sayacom
0
160
社内報はAIにやらせよう / Let AI handle the company newsletter
saka2jp
7
1.1k
KMP の Swift export
kokihirokawa
0
340
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
224
10k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Docker and Python
trallard
46
3.6k
Context Engineering - Making Every Token Count
addyosmani
5
200
Designing Experiences People Love
moore
142
24k
A designer walks into a library…
pauljervisheath
209
24k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
GraphQLとの向き合い方2022年版
quramy
49
14k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Statistics for Hackers
jakevdp
799
220k
Transcript
Continuous Delivery in Kubernetes Sandeep Parikh @crcsmnky Solutions Architect Google
Cloud Platform
Why Is This Important Bulletproof process to go from code
to production Centralized, repeatable building/tagging/pushing Iterate quickly and reliably Hands off my kubectl
Continuous Integration Test Code Commit Push Test Build The ideal
development flow
Continuous Integration Test Code Commit Push Test Build The ideal
development flow Test D’oh! Code Commit Push Test Crap! Build Whoops! The real development flow
Continuous Delivery Test Build Deploy Testing Staging
Continuous Deployment Deploy Approve Deliver Profit
Why Continuous? Fail fast I broke the build! Blame fast
Who broke the build? Deliver faster Better software in customers hands!
Tools
Jenkins
Kubernetes Cluster (GKE) Kubernetes Cluster Node 1 Node 3 Node
2
Kubernetes Cluster (GKE) Jenkins Leader Node 1 Node 3 Node
2 Jenkins Leader
Kubernetes Cluster (GKE) Jenkins Service Node 1 Node 3 Node
2 Jenkins Leader Jenkins Service
Kubernetes Cluster (GKE) Jenkins Builder Node 1 Node 3 Node
2 Jenkins Leader Jenkins Builder Jenkins Builder Jenkins Builder Jenkins Builder Jenkins Service Jenkins Builder
Kubernetes Cluster (GKE) Jenkins Proxy Node 1 Node 3 Node
2 Jenkins Leader Jenkins Builder Jenkins Builder Jenkins Builder Jenkins Builder Jenkins Service Jenkins Builder nginx
Kubernetes Cluster (GKE) Jenkins Proxy Service Node 1 Node 3
Node 2 Jenkins Leader Jenkins Builder Jenkins Builder Jenkins Builder Jenkins Builder Jenkins Service Jenkins Builder nginx nginx Service
Microservices
None
Kubernetes Cluster (GKE) Microservices Node 2 Node 1 Backend Frontend
Frontend Backend Service Frontend Frontend Service Backend Backend
Microservices & Namespaces Virtual clusters backed by the same physical
cluster Divide cluster resources by different use cases Supports quotas for managing resources Test, Staging, Production, etc.
Pods Time Microservices & Rolling Update Replace Replication Controller A
with Replication Controller B by updating one Pod at a time. A B A B A B A B A B A B
Workflow
Kubernetes Workflow Create Push Package Expose
Mapping To Jenkins Workflow plugin, Freestyle doesn’t fit Define a
flexible, extensible, script-based CD pipeline Groovy for scripting actions Supports human input/approval
Workflow Repo Kubernetes Cluster (GKE) Github Jenkins µservice µservice Default
Staging Production
Workflow Repo Kubernetes Cluster (GKE) Github Jenkins µservice µservice Default
Staging Production 1 Push 1
Workflow Repo Kubernetes Cluster (GKE) Github Jenkins µservice µservice Default
Staging Production 1 2 Push Build 1 2
Workflow Repo Kubernetes Cluster (GKE) Github Jenkins µservice µservice Default
Staging Production 1 2 3 Push Build Clone 1 2 3
Workflow Repo Kubernetes Cluster (GKE) Github Jenkins µservice µservice Default
Staging Production 1 2 3 4 Push Build Clone Stage 1 2 3 4
Workflow Repo Kubernetes Cluster (GKE) Github Jenkins µservice µservice Default
Staging Production 1 2 3 5 4 Push Build Clone Stage Approve 1 2 3 4 5
Workflow Repo Kubernetes Cluster (GKE) Github Jenkins µservice µservice Default
Staging Production 1 2 3 5 4 Push Build Clone Stage Approve Deploy 1 2 3 4 5 6 6
Demo Come find me after the talk and I promise
I’ll run it live :)
Shout Out Give Evan Brown (@evanbrown) a high-five next time
you see him. He’s super smart and got this whole thing working.
Questions, Comments @crcsmnky Repo https://github.com/GoogleCloudPlatform/continuous-deployment-on-kubernetes Docs Automated Image Builds with
Jenkins, Packer, and Kubernetes Distributed Load Testing using Kubernetes Real-time data analysis with Kubernetes, Google Cloud Pub/Sub, and BigQuery Real-time data analysis with Kubernetes, Redis, and BigQuery Resources