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
110
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
28
Shift Policy Enforcement Left using GitOps
crcsmnky
0
140
Securing your microservices using Istio
crcsmnky
1
1.6k
Enforcing Service Mesh Structure using OPA Gatekeeper
crcsmnky
0
330
Modern App Dev using Cloud Run and Knative
crcsmnky
0
51
Service Mush: Debugging Istio Deployments
crcsmnky
0
52
Google Cloud for Serverless Compute
crcsmnky
1
150
Kubernetes and Hybrid Deployments
crcsmnky
0
240
MongoDB Europe 2016: Using Beam and BigQuery with MongoDB
crcsmnky
0
99
Other Decks in Technology
See All in Technology
ビジネスと現場活動をつなぐソフトウェアエンジニアリング~とあるスタートアッププロダクトの成長記録より~
mizunori
0
210
第13回 Data-Centric AI勉強会, 画像認識におけるData-centric AI
ksaito_osx
0
360
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
550
リーダブルテストコード 〜メンテナンスしやすい テストコードを作成する方法を考える〜 #DevSumi #DevSumiB / Readable test code
nihonbuson
11
5.8k
All you need to know about InnoDB Primary Keys
lefred
0
120
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
6
1.4k
MC906491 を見据えた Microsoft Entra Connect アップグレード対応
tamaiyutaro
1
480
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
1
1.3k
現場で役立つAPIデザイン
nagix
29
10k
明日からできる!技術的負債の返済を加速するための実践ガイド~『ホットペッパービューティー』の事例をもとに~
recruitengineers
PRO
3
100
High Performance PHP
cmuench
0
140
開発者が自律的に AWS Security Hub findings に 対応する仕組みと AWS re:Invent 2024 登壇体験談 / Developers autonomously report AWS Security Hub findings Corresponding mechanism and AWS re:Invent 2024 presentation experience
kaminashi
0
190
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
31
2.1k
Building Better People: How to give real-time feedback that sticks.
wjessup
366
19k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
Optimizing for Happiness
mojombo
376
70k
Making Projects Easy
brettharned
116
6k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
Building an army of robots
kneath
302
45k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How STYLIGHT went responsive
nonsquared
98
5.3k
Visualization
eitanlees
146
15k
Raft: Consensus for Rubyists
vanstee
137
6.8k
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