deploying dc/os on premises with juju
TRANSCRIPT
![Page 1: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/1.jpg)
Deploying DC/OS On Prem
(With a little help from your friends)
![Page 2: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/2.jpg)
Who’s the guy at the front?Tom Barber
NASA JPL Devops and Data Developer
Spicule & Meteorite BI
Data guy and open source hacker… erm developer.
![Page 3: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/3.jpg)
A bit of history…...
![Page 4: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/4.jpg)
CaveatWe want to run our services on hardware supplied by
We also want to retain control of the underlying hardware to control costs, networking and scalability.
![Page 5: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/5.jpg)
Our Goal
![Page 6: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/6.jpg)
We also want to be able to run our services in different data centres for
resilience and data locality purposes.
![Page 7: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/7.jpg)
So how can we achieve our goals?
![Page 8: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/8.jpg)
Container Management SystemsDocker Swarm
Kubernetes
Apache Mesos
CoreOS
DC/OS
Deployed to fixed hosts
![Page 9: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/9.jpg)
I’m a sucker for a nice looking dashboard
![Page 10: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/10.jpg)
The next question we asked was:“We have a bunch of Bigstep bare metal servers, what's the most flexible way to manage them?”
![Page 11: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/11.jpg)
Introducing Metal As A Service!Deploy workloads onto bare metal servers
Integration with Juju to manage the services
DNS & IP management
Internal fabric networking
Operating system agnostic
![Page 12: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/12.jpg)
![Page 13: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/13.jpg)
![Page 14: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/14.jpg)
We already manage a lot of our services using Juju… so could we make DC/OS work with Juju?
![Page 15: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/15.jpg)
Application modeling with Juju
![Page 16: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/16.jpg)
Juju Key ConceptsBootstrap
Deploy
Relate
Scale
Repeat!
![Page 17: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/17.jpg)
BootstrapPick a cloud
AWS
Azure
CloudSigma
Joyent
Rackspace
LXD Local
Manual
MAAS!
![Page 18: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/18.jpg)
Deployjuju deploy dcos-master
juju deploy dcos-agent
![Page 19: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/19.jpg)
Relatejuju add-relation dcos-master dcos-agent
![Page 20: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/20.jpg)
Scalejuju add-unit -n 10 dcos-agent
![Page 21: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/21.jpg)
Repeat! (Anywhere)Export my model to a YAML file
Import into a new cloud or MAAS service
Deploys in the same manner
![Page 22: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/22.jpg)
Crowdsourcing OpsMajority of users get Charms from the Juju Charm Store. Similar to
PuppetForge et al
Charms written by a user or company and then added to and extended by others
Charms that have been validated and have a test suite are often promulgated to the top level recommended charms to try and ensure users have a good experience
![Page 23: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/23.jpg)
Development flow to enhance charms
![Page 24: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/24.jpg)
Monitoring DC/OSjuju deploy nagios
juju deploy nrpe
juju add-relation nagios:monitors nrpe:monitors
juju add-relation dcos-master:local-monitors nrpe:local-monitors
![Page 25: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/25.jpg)
Logging DC/OSjuju add-relation logstash dcos-master
![Page 26: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/26.jpg)
(Finally) Deploying Containers to DC/OSjuju deploy dcos-nginx
juju add-relation dcos-nginx dcos-master
![Page 27: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/27.jpg)
Enriching your deployment with MetadataYou can make use of non dockerized or Mesos-ized services from other charms
Passing around metadata allows you to configure applications dynamically even within and across DC/OS core systems
![Page 28: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/28.jpg)
Current State of PlayDCOS Master Nodes (Scalable)
DCOS Client Nodes (Scalable)
Monitoring connectivity
Ability to deploy docker containers
Actions to do various admin tasks
![Page 29: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/29.jpg)
RoadmapImplement disk mounts for NFS and Loopback devices.
Add more actions.
Implement Monitoring.
Improve Security.
Expose running app ports automatically.
Simplify the upgrade process.
ELK to Beats?
Custom Cluster Name
Private Docker Reg
Marathon Load Balancer
![Page 30: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/30.jpg)
Support and [email protected] <- me
[email protected] <- the community
[email protected] <- also me
https://jujucharms.com/u/spicule/basic-dcos-bundle <- a bundle to get you going
https://github.com/buggtb/dcos-master-charm <- the master
https://github.com/buggtb/dcos-agent-charm <- the agents
![Page 31: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/31.jpg)
But it doesn’t end there…..
![Page 32: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/32.jpg)
DC/OS is hard to configure once installedYou can’t easily change from public to private units
You can’t enable or disable OAuth logins
You can’t enable or disable telemetry
![Page 33: Deploying DC/OS on Premises with Juju](https://reader034.vdocument.in/reader034/viewer/2022042619/586e8c811a28aba0038b84bb/html5/thumbnails/33.jpg)
Layered MesosMesos master and slaves
Marathon support for Docker deployment
Utilise the Zookeeper charm
SSL Communication
HA support
SDN support