2. • Leading Cloud Native Service Dev Part @SK C&C Cloud Z Unit
• Serverless Platform (K8s, Dispatch, Fission…)
• IaC Platform (Ansible, Terraform, Packer, Vault…)
• Continous Delivery (Spinnaker, Jenkins Blue Ocean)
• Game Platfrom (Agones, Matchmaker)
• Blog : ddiiwoong.github.io
• Facebook : ddiiwoong
• Email : ddiiwoong@gmail.com
Bio
3. • Pronunciation
[spinəkər]
• A supplemental sail to the main sail,
especially a triangular one,
used on yachts for running
before the wind.
Spinnaker
4. • OpenSource multi-cloud CD platform
• Initially developed by Netflix's Asgard (2014), Open-Sourced in 2015
• Built for releasing software changes with High velocity, confidence
• Designed with pluggability in mind
• Support for all major Cloud Provider
(OpenStack, GCP, Azure, AWS, Kubernetes, DC/OS, Oracle Cloud, Cloud Foundry)
• Backed by Netflix, Google, MS, Veritas
What is Spinnaker on Cloud?
Inventory Pipelines
5. Cluster management
Deployment management
Multi-cloud capable
Deployments are built-in and no Custom Scripting in needed.
Core Feature
8. Independent microservices
Deck : Browse-based UI
Gate : API Gateway
Orca : Orchestration engine
Clouddriver : Cloud Provider API Connect,
Caching, Indexing
Front50 : applications, pipelines, projects
and notifications
Rosco : Machine Image (w/ Packer)
Igor : CI Integration (Travis CI, Jenkins)
Echo : Eventing Bus (Slack, email, SMS)
Fiat : authorization service
Kayenta : automated canary analysis
Halyard : Spinnaker Configuration
(install, provider, update)
Other Dependencies
S3(or Minio) : To save artifacts
Redis : Job/History storage
9. • Halyard is a tool to configure, update and install Spinnaker
Halyard
On Kubernetes
Local Installation of Dedian Pakages
Git Installation (for contributing)
S3 or Compatible S3
Minio
Azure Storage
Google Cloud Storage
Redis(not recommended)
On Debian/Ubuntu or
macOS
On Docker
11. • Legacy vs Manifest
Versus
V1 (Legacy) V2 (Manifest)
Autonomy Little As you want
Deploy
Cluster, Server Groups, Load
Balancers
Manifests File
Deprecated Will Soon Alpha(1.8) , Beta(1.9~)
Container Regist
ry
GCR, DockerHub, Quay, ECR, JFro
g
Any Registry
Manifests
(Artifacts)
N/A
Base64
Bitbucket
Custom
GCS
GitHub
Gitlab
S3
12. • Jenkins vs Spinnaker
• Native Kubernetes vs Spinnaker
Versus
Jenkins Spinnaker
Powerful Build
No Deployment tool (Plug-in)
Many Scripts
Many Plug-ins
Resource Integration
Directly Use Cloud API
Few Scripts
No CI Tools(CI is Backend)
Native Kubernetes Spinnaker
Replica Rollout
Slow Rollout
Linear Rollout
No Approval
Percent Rollout
Fast Rollback
High Manage cost(infra)
Approval(Judgement)
14. • Cluster
• Not Kubernetes Cluster
• Logical Server Groups
• Artifacts
https://www.spinnaker.io/reference/artifacts/
• a Docker image
• a file stored in GitHub
• an Amazon Machine Image (AMI)
• a binary blob in S3, Google Cloud Storage, Google Pub/Sub, etc.
• Server Group
• Set of application(VM, Pod)
• Basic Resources(Configuration) : Deployable artifacts, Instance(pod), Auto-Scaling,
metadata
• Optionally LoadBalancer or Firewall can be included
Concept
15. • Cloud Provider
• IaaS - AWS, GCP, Azure, Oracle, Openstack(V3 API)
• PaaS - Google App Engine, Cloud Foundry
• Orchestrator - K8s, DC/OS
• Docker v2 Registry
• Account
• Used Unique Name by Spinnaker to authenticate to the Cloud Provider
• Multiple Account Registration for each Cloud Provider
• ex) prod_gke_account
Concept
hal config provider kubernetes account add prod-gke-account
--provider-version v2
--context $(kubectl config current-context)