dockercon sf 2015: orchestration for sysadmins

28
Orchestration for Sysadmins Andrea Luzzardi / Victor Vieux Software Engineers @ docker

Upload: docker-inc

Post on 12-Aug-2015

5.215 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: DockerCon SF 2015: Orchestration for Sysadmins

Orchestration for Sysadmins

Andrea Luzzardi / Victor VieuxSoftware Engineers @ docker

Page 2: DockerCon SF 2015: Orchestration for Sysadmins

Agenda

• Introduction to Docker Swarm

• Swarm Fault Tolerance: Replication

• Integrating Swarm with Mesos

• Provisioning Swarm with Docker Machine

Page 3: DockerCon SF 2015: Orchestration for Sysadmins

“Running containers on multiple hosts.”

Page 4: DockerCon SF 2015: Orchestration for Sysadmins

Swarm in a nutshell

• Exposes several Docker Engines as a single virtual Engine

• Serves the standard Docker API

• Extremely easy to get started

• Batteries includes but swappable

Page 5: DockerCon SF 2015: Orchestration for Sysadmins

TimelineOct

Nov

Dec

Jan

Feb

Jun

Proof of Concept

DockerCon EU Open Repository

First Release Candidate

Swarm Beta Release

Global Hack Day Open Proposal

0.2.0 Release

0.3.0 Release

Apr

Page 6: DockerCon SF 2015: Orchestration for Sysadmins

Setting up Swarm

• Create a cluster: - $ swarm create

• Add nodes to a cluster: - $ swarm join --advertise=<node_ip> token://<token>

• Start Swarm: - $ swarm manage -H <swarm_ip> token://<token>

Or you can use your own etcd, zookeeper or consul

Page 7: DockerCon SF 2015: Orchestration for Sysadmins

Swarm Scheduler

• Resource Management - Memory, CPU, Network

• Fit containers - Apply filters to exclude nodes - Use a strategy to rank and pick the best node

• Scheduling Knobs - Constraints - Affinities

Page 8: DockerCon SF 2015: Orchestration for Sysadmins

“Batteries Included but Swappable”

Page 9: DockerCon SF 2015: Orchestration for Sysadmins

Docker Swarm + Mesos

• Experimental • Docker Swarm act as a Mesos Framework • In collaboration with

$> swarm manage --cluster mesos-experimental <mesos_master_url>

Page 10: DockerCon SF 2015: Orchestration for Sysadmins

Mesos Cluster

+

Mesos CLI

Mesos Slaves

+

+

+

+

+

+

+

+

+

+

+

+

+

Mesos Masters

Marathon

Page 11: DockerCon SF 2015: Orchestration for Sysadmins

Mesos Cluster + Docker Swarm

+

Mesos CLI

Mesos Slaves

+

+

+

+

+

+

+

+

+

+

+

+

+

Mesos Masters

Marathon

DockerCLI

Page 12: DockerCon SF 2015: Orchestration for Sysadmins

Mesos Cluster + Docker Swarm

+

Mesos CLI

Mesos Slaves

+

+

+

+

+

+

+

+

+

+

+

+

+

Mesos Masters

Marathon

DockerCLI

shipyard

kitematic compose

Page 13: DockerCon SF 2015: Orchestration for Sysadmins

BY

Page 14: DockerCon SF 2015: Orchestration for Sysadmins

Swarm Manager Replication

Page 15: DockerCon SF 2015: Orchestration for Sysadmins

Replication

DockerCLI

Swarm Cluster

• Swarm Manager is a Single Point of Failure

API Request

Manage

Page 16: DockerCon SF 2015: Orchestration for Sysadmins

Replication

DockerCLI

Swarm Cluster

• Upon failure it becomes impossible to manage the cluster

• Cluster continues to run un-managed

API Request

Manage

Page 17: DockerCon SF 2015: Orchestration for Sysadmins

Replica

Replication

Primary

DockerCLI

Swarm Cluster

Forward

API Request

Manage

Replica

• One primary, many replicas

• Leader Election built on top of Consul, etcd, ZooKeeper

• Replicas forward API calls to primary

• CLI can talk to any instance

Page 18: DockerCon SF 2015: Orchestration for Sysadmins

Replica

Replication

Primary

DockerCLI

Swarm Cluster

Forward

API Request

Manage

Replica

• Replicas monitor health of primary instance

• Leader gets re-elected upon primary failure

Page 19: DockerCon SF 2015: Orchestration for Sysadmins

PrimaryReplica

Replication

Replica

DockerCLI

Swarm Cluster

Forward

API Request

Manage

• One replica promoted to primary

• Other replicas notified of leadership update

• CLI can continue talking to same instance

Page 20: DockerCon SF 2015: Orchestration for Sysadmins

Demo

Page 21: DockerCon SF 2015: Orchestration for Sysadmins

“From Zero to Docker”

Page 22: DockerCon SF 2015: Orchestration for Sysadmins

Machine in a nutshell

• Host management for a container centric world

• Provisions Virtual Machines

• Installs & Manages Docker Engine

• Swarm Cluster Provisioning

Page 23: DockerCon SF 2015: Orchestration for Sysadmins

Machine Provisioning

5 Local Providers

9 Cloud Providers

7 Operating Systems

Page 24: DockerCon SF 2015: Orchestration for Sysadmins

Machine Management

• Install, Configure & Upgrade Docker Engine - docker-machine upgrade node-{1,2,3}

• PKI Management - TLS Encryption & Authentication by default - CA generation, Key signing and Re-keying - Seamless integration: Auto-configure the CLI

• Bring Your Own Machine - Generic Driver

Page 25: DockerCon SF 2015: Orchestration for Sysadmins

Machine Operations

• Operate - List, Start, Stop and Kill machines

• Debug - docker-machine ssh node-2

• Script - docker-machine toolkit: ip, url, …

Page 26: DockerCon SF 2015: Orchestration for Sysadmins

Machine Clustering

• Integration with Docker Swarm

• Provision Swarm management nodes

• Pre-configure machines to join a Swarm cluster

• Tweak Swarm options

Page 27: DockerCon SF 2015: Orchestration for Sysadmins

Demo

Page 28: DockerCon SF 2015: Orchestration for Sysadmins

Thank you, Questions?Andrea Luzzardi - @aluzzardi

Victor Vieux - @vieux