docker ホスティングサービス 'arukas' での mesos + marathon...

Download Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)

Post on 15-Apr-2017

1.587 views

Category:

Technology

2 download

Embed Size (px)

TRANSCRIPT

  • Docker Arukas Mesos+Marathon

    Mesos / Marathon

    Aug4,2016ShujiYamada()

    @uzyexe

  • Arukas 5

    Mesos / Marathon 15

    5

  • SHUJI YAMADA Docker Arukas
  • Whats

    Arukas?

  • (C) Copyright 1996-2016 SAKURA Internet Inc.

  • 6

    Run Dockerized Applications

    450,000+ Dockerized Applications

  • 7

    1500 Users

    1700 Users

    1950+ Users

    900 Users

    2016/04 2015/05 2016/06 Today

    Users

    Growth

  • Infrastructure as Code Continuous Integration (CI/CD) Secure Signing/Trust +++

    Trusted Registries Access Control Policies +++

    Container Management Deploy and Scaling Metrics/Monitoring/Logging +++

    Ship RunBuild

    WhatsContainer as a Service

  • Development Test Production

    Version Control CI/CD Deploy

    DockerfileDocker Image CloudOn-Premise

    Registry

  • Development Test Production

    Version Control CI/CD Deploy

    DockerfileDocker Image

    Registry

  • User Control Panel

    Client

    Compose

    Container Hosting

    Onpremises

    Infrastructure

    Orchestrator

    or

    or Volume

    Netwroking

    Logging

    Monitoring

    Integrations

    Registry

    Cloud

    API

  • DockerWEB

    12

  • 13

  • Docker

    14

  • LATEST RELEASES

    internationalization (i18n)Arukas

    Web

    APIAPI

    API

    CLIGolangGolang

    Terraform for Arukas

    i18n

    API Support

    CLI Support

    TerraformArukasInfrastructre as Code

  • Infrastructure

    Operating System

    Orchestrator/Container Scheduler

    Container

    Bins/Libs

    App 1

    Container

    Bins/Libs

    App 2

    Container

    Bins/Libs

    App 3

    APACHEZookeeper

  • Docker on Mesos with Marathon

  • Mesos

    2009

    TwitterAirbnbAppleNETFLIX

    Apache

    (DockerAppC)

    MesosphereMicrosoft

  • Mesos Mesos Master

    Mesos Slave

    Framework

  • Mesos Master Mesos Slave

    Mesos Frameworks

  • Mesos Slave Mesos Master

    Master

    CPU RAM Master

    Executor

  • Framework Scheduler + Executor

    Hadoop, Marathon, Chronos, etc...

    Scheduler Master Task

    Executor Slave Task

  • Mesos Slave

    MarathonExecutor

    Mesos Master(leader)

    TaskTask

    Mesos Slave

    ChronosExecutor

    TaskTask

    Mesos Slave

    MarathonExecutor

    ChronosExecutor

    TaskTask TaskTask

    MarathonScheduler

    ChronosScheduler Zookeeper

    quorum

    Mesos Master(standby)

    Mesos Master(standby)

  • Framework

    Scheduler

    Executor

    Task

    Task Status

    Launch Status

    Resource Offer

    Launch Task

    Task Status

    Mesos

  • Mesos

    Key Point100%

    AuroraHadoop Marathon

    100%

    FREE FREEHadoop

    AuroraMarathon

  • Mesos

    Key Point

    FREE

    1 2 3

    4 5 6

    7 8 9

  • Mesos

    Key Point

    FREE

    1 2 3

    4 5 6

    7 8 9

  • Marathon Mesos Frameworks

    /

    Task (Application)

    TCP, HTTP, Command

  • Marathon Docker Support

    (local disk, EBS)

    Web UI

    Event Subscription

    REST API

  • Whats use

    Mesos with Marathon for..

  • Mesos+Marathon

    JSON API

    Advanced ACL groups DC/OS only...

  • Mesos Slave

    MarathonExecutor

    Mesos Master(leader)

    TaskTask

    Mesos Slave

    MarathonExecutor

    TaskTask

    Zookeeperquorum

    Mesos Master(standby)

    Mesos Master(standby)

    Mesos Slave

    MarathonExecutor

    TaskTask

    ...

    MarathonSchedulerMarathonSchedulerMarathonScheduler

  • Mesos Slave

    Docker Containerizer

    Mesos Master(leader)

    TaskContainer

    Mesos Slave

    Docker Containerizer

    TaskContainer

    Zookeeperquorum

    Mesos Master(standby)

    Mesos Master(standby)

    Mesos Slave

    Docker Containerizer

    TaskContainer

    ...

    MarathonSchedulerMarathonSchedulerMarathonScheduler

  • Marathon

    JSON API Request

    Container

    libcontainer

    exec driver (native)

    Mesos Master

    rootfs (overlayfs...)

    other drivers...

    docker daemondocker.sock

    network driver

    graph driver

    Mesos/Marathon

    Docker Engine

    Registries(DockerHub)

    Mesos Slave

  • Mesos/Marathon vs. Kubernetes?

  • Use Kubernetes for...

    Kubernetes

    Container Only

  • Use Mesos/Marathon for... Framework

  • Scalable, Resource-sharing, Fault-tolerant, Reliable

  • service discovery & load balancing tool

    marathon-lb

  • Delete Domain

    Mesos Slave

    MarathonExecutor

    Mesos Master(leader)

    Zookeeperquorum

    MarathonScheduler

    marathon-lb

    HAProxy

    configure

    Arukas API

    TaskTask

    Edit Domain

    Add Domain

    DNS Service(Route53, DNSimple...)

    User Access

    RequestJSON API

    polling and

    Auto-generate configure

    HTTPS

    JSON API

  • marathon-lb VHOST

    AppAppAppAppApp

    App or DB or PaaS or etc...

    Load Balancing

    Scale-OutInstances: 5

    VHOST: https://*.example.com(Endpoint)

    https://*.example.com

  • Blue-Green Deployment

    Version 2

    Version 1

    Endpoint (marathon-lb) Apps

    UpdateVersion 2

    Version 1

    AppsEndpoint (marathon-lb)

  • Mesos with Marathon

    Monitoring

  • Zookeeper Mesos Master 5

    Mesos Slave iowait

  • Mesos

    CPU cgroups

    Volume quota zfs btrfs Docker

  • Mesos + Mesos Framework

    Kubernetes

    Docker Swarm

    OpenStack

    OpenStack on Kubernetes

    OpenStack on Kubernetes on OpenStack...

  • https://github.com/uzyexe/mesos-marathon-demo

    mesos/marathon Docker Compose

    https://github.com/uzyexe/mesos-marathon-demo

  • Thank you!