building an application catalog with rancher - jan 2016 online meetup

30
© 2015 Rancher Labs, Inc. © 2015 Rancher Labs, Inc . Building a Private Docker Catalog January 21, 2016 #ranchermeetup

Upload: shannon-williams

Post on 12-Jan-2017

3.131 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.© 2015 Rancher Labs, Inc .

Building a Private Docker CatalogJanuary 21, 2016

#ranchermeetup

Page 2: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.2

Shannon WilliamsCo-Founder/VP Marketing @smw355

Darren ShepherdCo-Founder/Chief Architect @ibuildthecloudFreenode: darren0

#ranchermeetup

Page 3: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.3

Bill MaxwellPrincipal DevOps Engineer @CloudNautique

#ranchermeetup

Page 4: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.4

First things first…

This is a not a !

#ranchermeetup

Page 5: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.5

There are rules for a meetup!• We won’t be done on time• Questions are always welcome• There are no bad questions• Demo, then demo some more• Things will break, be patient

#ranchermeetup

Page 6: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.6

Join the conversation on Twitter #ranchermeetup

Page 7: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.7

Agenda• Introducing the Rancher Application Catalog – Shannon• Demo: Deploying a Catalog Item in Rancher – Shannon • Anatomy of a Catalog Compose File – Bill• Demo: Building a Catalog Template for Drone – Bill• Latest Rancher Updates – Darren • Getting Started with Rancher

#ranchermeetup

Page 8: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.8

Rancher Labs

#ranchermeetup

Page 9: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.9

Rancher OverviewRancher Catalog

AD/LDAP

Alerts/Events

Environment 1 Environment N…Network Services Storage Services

Container Orchestration and SchedulingUser Mgmt Ops Mgmt

#ranchermeetup

Page 10: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.

Introducing the Rancher Application Catalog

#ranchermeetup

Page 11: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.11

Docker Compose has always been at the heart of Rancher

• Describe deployments• Launch Stacks• Execute upgrades• Define Service Discovery

Policies• Describe Scheduling Rules• Inject Environment

Variables• Program Load Balancers

#ranchermeetup

Page 12: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.12

Microservices architectures increase the Proliferation of Docker Compose

#ranchermeetup

1.1

docker-compose.yml lb:  image: haproxy    links:    - appapp:  image: node  links:    - databasedatabase:  image: redis

Page 13: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.13

Compose files change throughout the lifecycle of a stack

#ranchermeetup

Test Staging Prod RollbackDev

Develop Build Package Test Deploy/Upgrade Operate

Page 14: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.14

Late last year we introduced the Rancher Catalog

- Exposes Docker Compose Templates stored in GitHub

- Started with a set of public templates for common services

- Allows configuration and deployment of stacks

- Supports versioning and upgrades

- Just added support for private catalogs

#ranchermeetup

http://github.com/rancher/rancher-catalog

Page 15: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.15

Demo

#ranchermeetup

Page 16: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.

Building Catalog Templates

#ranchermeetup

Page 17: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.17 #ranchermeetup

CatalogEntry

Compose file

Services

Containers

Page 18: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.

The Process to Create A Template

CC

CCC

C

C

C

C

C

Compose

Compose

Prams

Entry

Start with Containers

Arrange into services

Express in compose

Parameterize

Create entry

#ranchermeetup

Page 19: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.

Start With Containers• Look upstream first!

(reuse, reuse, reuse)• What tools are

needed.• Data layout, health

checks and configuration.

Upstream Image

FF

FF DB

#ranchermeetup

Page 20: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.

Organize into Services• Services have many

parts.• Keep each

container focused on one thing.

• Remember to share!

Volumes

C CC

#ranchermeetup

Page 21: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.

Organize into Services (cont)Typical services have:• A single data

container.• Daemon (main

process)• Configuration• Shared network

Volumes

C CC

#ranchermeetup

Page 22: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.

Create Compose File• Map out the

containers.• Wire them together.

#ranchermeetup

Page 23: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.

Parameterize!• What does the end

user NEED to know to configure the app.

• What can be a reasonable default.

drone-server: image: drone/drone:0.4 volumes_from: - drone-data-volume environment: config_val: ${value} external_links: - galera/galera-lb:mysqldb ports: - ”${exposed_port}:8000”

#ranchermeetup

Page 24: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.

Create Catalog entry - Make it EASY for the user to provide info. - Create a Readme

#ranchermeetup

Page 25: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.

Demo!• Add demo catalog to Rancher• Walk through creating containers• Walk through the docker-compose.yml• Walk through catalog creation

#ranchermeetup

Page 26: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.

Latest Rancher Enhancements

26

0.51• Random Port Assignment for Services• API Audit Logs

#ranchermeetup

Page 27: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.27 #ranchermeetup

http://info.rancher.com/beta

Page 28: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.28

Getting StartedRancher and RancherOS live in GitHub – Get Involved, Join the Beta

#ranchermeetup

http://github.com/rancher

Page 29: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.29

New eBook: Building a CI/CD Pipeline with Docker & Rancher

http://info.rancher.com/cicd-with-docker-ebook

Page 30: Building an Application Catalog with Rancher - Jan 2016 Online Meetup

© 2015 Rancher Labs, Inc.© 2015 Rancher Labs, Inc .

Thank yourancher.com

#ranchermeetup