continuous delivery kubernetes with spinnaker and ...€¦ · enhancing your control over...

43
Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor in Chief, Open Cloud Digest Author, Machine Learning for Mere Mortals

Upload: others

Post on 21-May-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery

Nick ChaseHead of Content, MirantisEditor in Chief, Open Cloud DigestAuthor, Machine Learning for Mere Mortals

Page 2: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Who am I?

Nick Chase• Long-time programmer• Head of Technical and Marketing Content for

Mirantis• Editor in Chief of Open Cloud Digest• Author of Machine Learning for Mere Mortals• nchase at mirantis dot com

2

Page 3: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Special Bonus

http://mirantis.com/beta

3

Page 4: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Agenda

• Spinnaker for Kubernetes speakers• How Spinnaker deployment on Kubernetes works• Integration with additional tools • Pipelines: Deploying Kubernetes resources• Automated and manual approvals• Deployment strategies and multi-cloud

deployments• Q&A

4

Page 5: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Getting StartedThe lay of the land

5

Page 6: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

A quick CI/CD refresher

6

Page 7: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

What does this have to do with Kubernetes?

• Apps are complex• Microservices moreso• Infrastructure as code

7

Page 8: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Problems with ad-hoc CI/CD

• Security• Pre-existing vulnerabilities• Golden images

Page 9: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Problems with ad-hoc CI/CD

• Compliance• GDPR, SOX, HIPAA• What?• Where?• Who?

Page 10: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Problems with ad-hoc CI/CD

• Coordination• Who?• What?• When?• Where?• How?

Page 11: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

What is Spinnaker?

• Continuous Delivery tool• Open Source• Google/Netflix

Page 12: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Quick tour

Page 13: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

How Spinnaker helps

• Single source of truth for deployments• Auditability• Verified code/images

Page 14: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Spinnaker for Kubernetes speakers

Just what is Spinnaker, anyway?

14

Page 15: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Instance == Pod

Page 16: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Server group == Replica Set

Page 17: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Cluster == Deployment

Page 18: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Application == Cluster

Page 19: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Load Balancer == Service

Page 20: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Security Group == Network Policy

Page 21: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Putting it together

Instance

Server Group

Cluster

Application

Page 22: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Deployment Management

• Pipeline• Stage• Deployment strategy

Page 23: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Deploying Spinnaker on Kubernetes

How the beast works

23

Page 24: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Overview

Install Halyard Configure environment

ConfigureSpinnaker

Deploy

Page 25: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Environment

• LocalDebian• Distributed• LocalGit

Page 26: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Provider

• App Engine• Amazon Web Services• Amazon Web Services - ECS• Azure• DC/OS• Docker Registry• Google Compute Engine• Kubernetes (legacy)• Kubernetes V2 (manifest based)• Openstack• Oracle

Page 28: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Deployment

hal version listhal config version edit -- version=<VERSION>hal deploy apply

Page 29: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Demo deployment

Page 30: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Quick deployment

kubectl apply -f https://spinnaker.io/downloads/kubernetes/quick-install.yml

Page 31: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Integration with additional tools

What else can you do?

31

Page 32: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

CI/CD

• Jenkins• Travis

Page 33: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Artifacts

• Google Cloud Storage• Github• HTTP

Page 34: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Monitoring and metrics

• Prometheus• Stackdriver• Datadog

Page 35: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Notifications

• Slack• Email• HipChat• SMS

Page 36: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Security

• Google Groups• Github Teams• LDAP• SAML

Page 37: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Bakery

• Packer templates• Configure provider bakery

Page 38: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Triggers

• Pub/Sub• Github Webhook

Page 39: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Canary

• Scope• Judge• Metrics

Page 40: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Demo

40

Page 41: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Organizational Context

Page 42: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Q&A

http://mirantis.com/beta

http://mirantis.com/demo Next demo: Wed 5/16

42

Page 43: Continuous Delivery Kubernetes with Spinnaker and ...€¦ · Enhancing your control over Kubernetes with Spinnaker and Continuous Delivery Nick Chase Head of Content, Mirantis Editor

Thank You

43