building an application catalog with rancher - jan 2016 online meetup
TRANSCRIPT
© 2015 Rancher Labs, Inc.© 2015 Rancher Labs, Inc .
Building a Private Docker CatalogJanuary 21, 2016
#ranchermeetup
© 2015 Rancher Labs, Inc.2
Shannon WilliamsCo-Founder/VP Marketing @smw355
Darren ShepherdCo-Founder/Chief Architect @ibuildthecloudFreenode: darren0
#ranchermeetup
© 2015 Rancher Labs, Inc.3
Bill MaxwellPrincipal DevOps Engineer @CloudNautique
#ranchermeetup
© 2015 Rancher Labs, Inc.4
First things first…
This is a not a !
#ranchermeetup
© 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
© 2015 Rancher Labs, Inc.6
Join the conversation on Twitter #ranchermeetup
© 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
© 2015 Rancher Labs, Inc.8
Rancher Labs
#ranchermeetup
© 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
© 2015 Rancher Labs, Inc.
Introducing the Rancher Application Catalog
#ranchermeetup
© 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
© 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
© 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
© 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
© 2015 Rancher Labs, Inc.15
Demo
#ranchermeetup
© 2015 Rancher Labs, Inc.
Building Catalog Templates
#ranchermeetup
© 2015 Rancher Labs, Inc.17 #ranchermeetup
CatalogEntry
Compose file
Services
Containers
© 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
© 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
© 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
© 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
© 2015 Rancher Labs, Inc.
Create Compose File• Map out the
containers.• Wire them together.
#ranchermeetup
© 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
© 2015 Rancher Labs, Inc.
Create Catalog entry - Make it EASY for the user to provide info. - Create a Readme
#ranchermeetup
© 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
© 2015 Rancher Labs, Inc.
Latest Rancher Enhancements
26
0.51• Random Port Assignment for Services• API Audit Logs
#ranchermeetup
© 2015 Rancher Labs, Inc.27 #ranchermeetup
http://info.rancher.com/beta
© 2015 Rancher Labs, Inc.28
Getting StartedRancher and RancherOS live in GitHub – Get Involved, Join the Beta
#ranchermeetup
http://github.com/rancher
© 2015 Rancher Labs, Inc.29
New eBook: Building a CI/CD Pipeline with Docker & Rancher
http://info.rancher.com/cicd-with-docker-ebook
© 2015 Rancher Labs, Inc.© 2015 Rancher Labs, Inc .
Thank yourancher.com
#ranchermeetup