More Related Content More from Shannon Williams (8) Building an Application Catalog with Rancher - Jan 2016 Online Meetup1. © 2015 Rancher Labs, Inc.© 2015 Rancher Labs, Inc .
Building a Private Docker Catalog
January 21, 2016
#ranchermeetup
2. © 2015 Rancher Labs, Inc.
Shannon Williams
Co-Founder/VP Marketing
@smw355
1
Darren Shepherd
Co-Founder/Chief Architect
@ibuildthecloud
Freenode: darren0
#ranchermeetup
3. © 2015 Rancher Labs, Inc.
Bill Maxwell
Principal DevOps
Engineer
@CloudNautique
2 #ranchermeetup
4. © 2015 Rancher Labs, Inc.
First things first…
This is a not a !
3 #ranchermeetup
5. © 2015 Rancher Labs, Inc.4
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
6. © 2015 Rancher Labs, Inc.5
Join the conversation on Twitter
#ranchermeetup
7. © 2015 Rancher Labs, Inc.
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
6 #ranchermeetup
9. © 2015 Rancher Labs, Inc.
Rancher Overview
8
Rancher Catalog
AD/LDAP
Alerts/Events
Environment 1 Environment N
…
Network Services Storage Services
Container Orchestration and Scheduling
User Mgmt Ops Mgmt
#ranchermeetup
10. © 2015 Rancher Labs, Inc.
Introducing
the Rancher
Application
Catalog
#ranchermeetup
11. © 2015 Rancher Labs, Inc.
Docker Compose has always been at
the heart of Rancher
10
• Describe deployments
• Launch Stacks
• Execute upgrades
• Define Service Discovery
Policies
• Describe Scheduling
Rules
• Inject Environment
Variables
• Program Load Balancers
#ranchermeetup
12. © 2015 Rancher Labs, Inc.
Microservices architectures increase the
Proliferation of Docker Compose
11 #ranchermeetup
1.1
docker-compose.yml
lb:
image: haproxy
links:
- app
app:
image: node
links:
- database
database:
image: redis
13. © 2015 Rancher Labs, Inc.
Compose files change throughout
the lifecycle of a stack
12 #ranchermeetup
Test Staging Prod RollbackDev
Develop Build Package Test Deploy/Upgrade Operate
14. © 2015 Rancher Labs, Inc.
Late last year we introduced the
Rancher Catalog
13
- 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
16. © 2015 Rancher Labs, Inc.
Building
Catalog
Templates
#ranchermeetup
17. © 2015 Rancher Labs, Inc.16 #ranchermeetup
Catalog
Entry
Compose
file
Services
Containers
18. © 2015 Rancher Labs, Inc.
The Process to Create A Template
C
C
C
C
C
C
C
C
C
C
Compose
Compose
Prams
Entry
Start with
Containers
Arrange into
services
Express in
compose
Parameterize
Create entry
#ranchermeetup
19. © 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
F
F
F
F DB
#ranchermeetup
20. © 2015 Rancher Labs, Inc.
Organize into Services
• Services have many
parts.
• Keep each
container focused
on one thing.
• Remember to share!
Volumes
C C
C
#ranchermeetup
21. © 2015 Rancher Labs, Inc.
Organize into Services (cont)
Typical services have:
• A single data
container.
• Daemon (main
process)
• Configuration
• Shared network
Volumes
C C
C
#ranchermeetup
22. © 2015 Rancher Labs, Inc.
Create Compose File
• Map out the
containers.
• Wire them together.
#ranchermeetup
23. © 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
24. © 2015 Rancher Labs, Inc.
Create Catalog entry
- Make it EASY for the
user to provide info.
- Create a Readme
#ranchermeetup
25. © 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
26. © 2015 Rancher Labs, Inc.
Latest Rancher Enhancements
25
0.51
• Random Port Assignment for Services
• API Audit Logs
#ranchermeetup
27. © 2015 Rancher Labs, Inc.26 #ranchermeetup
http://info.rancher.com/beta
28. © 2015 Rancher Labs, Inc.
Getting Started
Rancher and RancherOS live in GitHub – Get Involved, Join the Beta
27 #ranchermeetup
http://github.com/rancher
29. © 2015 Rancher Labs, Inc.
New eBook: Building a CI/CD Pipeline
with Docker & Rancher
28
http://info.rancher.com/cicd-with-docker-ebook
30. © 2015 Rancher Labs, Inc.© 2015 Rancher Labs, Inc .
Thank you
rancher.com
#ranchermeetup