Introduction to
Spinnaker
Pipeline
Templates
Presented by
Keisuke Yamashita
Merpay SRE
In team knowledge-share
Slide 2
Slide 2 text
About me
Keisuke Yamashita(Slack:@keke)
Hello.
I'm from new grad Merpay SRE
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 3
Slide 3 text
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Outline
TODAY'S TOPICS
What's Spinnaker?
Spinnaker Architecture and how it works
Spinnaker Managed Pipeline Template(MPT)
The pros/cons of MPT
How to create Spinnaker Pipeline Template
MPT Tips
1.
2.
3.
4.
5.
6.
Slide 4
Slide 4 text
What's Spinnaker?
IT'S A MICROSERVICE
Slide 5
Slide 5 text
What's Spinnaker
Spinnaker is an
open-source, multi-cloud continuous delivery platform that
helps you release software changes with high velocity and confidence.
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 6
Slide 6 text
Management
VISUALIZE
CLUSTER
Two features
Deployment
CI/CD
Slide 7
Slide 7 text
Management
VISUALIZE
CLUSTER
Two features
Deployment
CI/CD
Today's topic
Spinnaker Architecture
spin-gate
orca clouddriver
echo
igor
front50 rosco fiat
spin-deck
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 10
Slide 10 text
Spinnaker Architecture
spin-gate
orca clouddriver
echo
igor
front50 rosco fiat
spin-deck
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 11
Slide 11 text
Spinnaker Architecture
spin-gate
orca clouddriver
echo
igor
front50 rosco fiat
spin-deck
Exposed to Internet
Has Ingress
Has Ingress
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 12
Slide 12 text
Spinnaker Architecture
spin-gate
orca clouddriver
echo
igor
front50 rosco fiat
spin-deck
UI that the developer is using.
Written in Angular + React.
You can also extend the UI
with a customize deck
WEB UI
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 13
Slide 13 text
Spinnaker Architecture
orca clouddriver
echo
igor
front50 rosco fiat
spin-gate
spin-deck
All requests are first handled
to this API gateway.
I has logics in here.
Written by Java.
API GATEWAY
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 14
Slide 14 text
Spinnaker Architecture
clouddriver
echo
igor
front50 rosco fiat
spin-gate
spin-deck
orca
Manages the pipeline execution's
consistency even in distributed
system like Spinnaker on Kubernetes.
Written in JAVA. Stateless.
ORCHESTRATION ENGINE
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 15
Slide 15 text
Spinnaker Architecture
clouddriver
echo
igor
front50 rosco fiat
spin-gate
spin-deck
orca
Echo handles the event for sending
the events and handling the
webhooks from Github
MESSAGING BUS
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 16
Slide 16 text
echo
front50 rosco fiat
spin-gate
orca
igor
Spinnaker Architecture
clouddriver
spin-deck
Igor is in charge for handling
trigger events from Travis or Jenkins
TRIGGER PIPELINE
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 17
Slide 17 text
echo
front50 rosco fiat
spin-gate
orca
igor
Spinnaker Architecture
clouddriver
spin-deck
Clouddriver calls the cloud
provider(e.g. Kubernetes, GCE)
CALL CLOUD PROVIDER
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 18
Slide 18 text
Spinnaker Architecture
clouddriver
echo
front50 rosco fiat
spin-gate
spin-deck
orca
igor
Fiat is a authentication service.
AUTHENTICATION
Slide 19
Slide 19 text
Spinnaker Architecture
clouddriver
echo
front50 rosco fiat
spin-gate
spin-deck
orca
igor
Creats artifacts
BAKERY
Slide 20
Slide 20 text
echo
front50 rosco fiat
spin-gate
orca
igor
Spinnaker Architecture
clouddriver
spin-deck
Responsible for storing metadata & configs
METADATA STORAGE
Slide 21
Slide 21 text
How it works
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 22
Slide 22 text
Save a pipeline
How it works
1.
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 23
Slide 23 text
echo
front50 rosco fiat
spin-gate
orca
igor
How it works
clouddriver
spin-deck
Save the pipeline
1.
Slide 24
Slide 24 text
echo
front50 rosco fiat
spin-gate
orca
igor
How it works
clouddriver
spin-deck
Save the pipeline
1.
Slide 25
Slide 25 text
echo
front50 rosco fiat
spin-gate
orca
igor
How it works
clouddriver
spin-deck
Save the pipeline
1.
Slide 26
Slide 26 text
echo
front50 rosco fiat
spin-gate
orca
igor
How it works
clouddriver
spin-deck
2. Execute the pipeline
front50
Save application config
Slide 27
Slide 27 text
How it works
2. Execute a pipeline
Introducing Spinnaker Pipeline Template | KeisukeYamashita
Slide 28
Slide 28 text
echo
front50 rosco fiat
spin-gate
orca
igor
How it works
clouddriver
spin-deck
2. Execute the pipeline
① Invoke a pipeline exection
Slide 29
Slide 29 text
front50 rosco fiat
spin-gate
orca
How it works
clouddriver
spin-deck
2. Execute the pipeline
② Gets application config
echo
igor
Slide 30
Slide 30 text
front50 rosco fiat
spin-gate
orca
How it works
clouddriver
spin-deck
2. Execute the pipeline
③ Trigger pipeline
echo
igor
Slide 31
Slide 31 text
front50 rosco fiat
spin-gate
orca
How it works
clouddriver
spin-deck
2. Execute the pipeline
④ Request for k8s
echo
igor
Slide 32
Slide 32 text
front50 rosco fiat
spin-gate
orca
⑤ kubectl apply
How it works
clouddriver
spin-deck
2. Execute the pipeline
echo
igor