Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Preface
Conventions Used in This Book
Safari® Books Online
How to Contact Us
Acknowledgments
1. Introduction to Mesos
How to Use Mesos
Mesos as a Deployment System
Mesos as an Execution Platform
How This Book Is Structured
Summary
2. Getting Started with Mesos
Frameworks
Masters and Slaves
The Masters
The Slaves
Resources
Configuring Custom Resources
Configuring Slave Attributes
Roles
Static and Dynamic Slave Reservations
Static reservations
Dynamic reservations
Tasks and Executors
CommandExecutor
Understanding mesos.proto
Not Managed by Mesos
Summary
3. Porting an Existing Application to Mesos
Moving a Web Application to Mesos
Setting Up Marathon
Using Marathon
Scaling Your Application
Using Placement Constraints
Running Dockerized Applications
Mounting host volumes
Health Checks
HTTP checks
TCP checks
Application Versioning and Rolling Upgrades
The Event Bus
Setting Up HAProxy with Marathon
Bamboo
HAProxy for microservices
Running Mesos Frameworks on Marathon
What Is Chronos?
Running Chronos on Marathon
Chronos Operational Concerns
Chronos on Marathon: Summary
Alternatives to Marathon + Chronos
Singularity
Aurora
Summary
4. Creating a New Framework for Mesos
The Scheduler
Pool of Servers Scheduler
Work Queue Scheduler
Job Processor Scheduler
Useless Remote BASH
Implementing a Basic Job Processor
Matching Tasks to Offers
Bridging the Semantic Gap Between Offers and Jobs
Adding High Availability
Adding Reconciliation
Advanced Scheduler Techniques
Distributed Communication
Forced Failover
Consolidating Offers
Hardening Your Scheduler
Framework UI
Allocating Ports
Checkpointing
CommandInfo
Launching a process
Configuring the process’s environment
Summary
5. Building a Mesos Executor
The Executor
Building a Work Queue’s Worker
Running Pickled Tasks
Sharing Resources
Better Babysitting
Augmented Logging
Rewriting the CommandExecutor
Bootstrapping Executor Installation
Adding Heartbeats
Advanced Executor Features
Progress Reporting
Adding Remote Logging
Multiple Tasks
Executors with expensive state
Multistage initialization
Canary tasks
When should we use them?
Summary
6. Advanced Topics in Mesos
Libprocess and the Actor Model
The Consistency Model
How Is Slave Failure Handled?
How Is Master Failure Handled? (Or, the Registry)
Reconciliation During Failover
Containerizers
Using Docker
The New Offer API
Framework Dynamic Reservations API
Persistent Volumes for Databases
Summary
7. The Future of Mesos
Multitenant Workloads
Oversubscription
Databases and Turnkey Infrastructure
IP per Container
Summary
Index
← Prev
Back
Next →
← Prev
Back
Next →