Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker...

Click here to load reader

  • date post

    15-Apr-2017
  • Category

    Technology

  • view

    2.565
  • download

    0

Embed Size (px)

Transcript of Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker...

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

  • Arukas

    2

    Docker Arukas

  • 3

    SHUJI YAMADA9 years Build &IT Infrastructure Operating Ops.#cloud #network #server #docker #coreos #monitoringlove #devops #lean #agileWorks at SAKURA Internet inc.

    website: http://uzy-exe.hateblo.jp/twitter: https://twitter.com/uzyexeslideshare: http://www.slideshare.net/uzy_exegithub: https://github.com/uzyexedockerhub: https://hub.docker.com/r/uzyexe

    http://uzy-exe.hateblo.jp/https://twitter.com/uzyexehttp://www.slideshare.net/uzy_exehttps://github.com/uzyexehttps://hub.docker.com/r/uzyexe

  • 4

    IT

    IT

    TechnologyInfrastructureService

    Vision

    VISION / MISSION / VALUE

  • 5

    NEW SERVICE

    CDN

    IoT Platform

    Docker

    IoT

    Docker

  • 6

    Stealth

    Open

    Stable Release

    Private

    2015/03 2015/09 2016/04 Coming Soon...

  • WhatsDocker ?

  • 1. Dockerfile 2. Dockerfile Build Docker 3. Docker Docker Hub Push4. Docker Pull

    8

    Docker ImageDockerfile

    docker run!

    Docker Hub docker run!

    docker run!

    SIMPLEDocker Workflow

  • 9

    Host OSHyperVisor

    Infrastructure

    Guest OS Guest OS Guest OS

    Bins/Libs Bins/Libs Bins/Libs

    App-1 App-2 App-3

    Host OSDocker Engine

    Infrastructure

    Bins/Libs Bins/Libs Bins/Libs

    App-1 App-2 App-3

    VM vs. DockerVM

    Container

    Containers are isolated, but share OS and, where appropriate, bins/libraries

  • 10

    Host OSNameSpaces

    UTS IPC PID User Network ++

    cgroups memory cpu blkio devices network ++

    Container (Namespace)

    alpine basenginx

    Container (Namespace)

    Ubuntu baseRails

    Container (Namespace)CentOS base

    Apache2MySQLpostgresql

    Network veth bridge iptables ++

    Storage aufs btrfs devicemapper overlayfs ++

    Security SElinux apparrmor capability Grsecurity PaX

    ...

    Docker Engine

    Infrastructure

  • 11

    1. Development 2. Test 3. Stage / Production

    Dockerfile Docker Image

    CI/CD

    Docker Image

    DEPLOY

    On-Premise Cloud

    OpsDev

    QA/QE

    Version Control

  • 12

    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

    Container as a Service

  • 13

    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

    1. Build

    2. Ship

    3. Run

    Build, Ship, and Run Any App, Anywhere

  • Container as a Service Platform Stack

  • 15

    Whats

    Docker

    1. Simple Workflow (12-Factor App like)

    2. Light-Weight (non-virturized, native)

    3. Isolation (CPU, RAM, Filesystems, etc...)

  • Scheduling Life Cycle Health Check Discovery Monitoring Scaling Authorized

    16

  • WhatsArukas?

  • 19

    Whats

    Arukas Container Orchestrator Runs Docker Containers Deploy to Arukas Infrastructure User Controll Panel (UCP) REST-Based API CLI Tool

    Public API CLI(Command Line Tool)

    UCP(User Control Panel)

    Arukas Infrastructure

  • User Control PanelOVERVIEW

    21

  • 22

    ArukasAPP DEFINITION

    App

    CPU, RAM, PORT, ENV, CMD...

  • 23

    Arukas

    SERVICE

    App

  • 24

    Arukas

    UPDATE

    App Update App

    Blue-Green deployment Update APP

  • 25

  • 26

    ContainerContainerContainer

    Host OS

    Orchestrator/Container Scheduler

    Infrastructure

    Bins/Libs Bins/Libs Bins/Libs

    App-1 App-2 App-3

  • 27

    Arukas API

    Container

    libcontainer

    exec driver (native)

    Public API CLI (Command Line Tool)

    rootfs (overlayfs...)

    other drivers...

    Orchestrator / Scheduler

    docker daemondocker.sock

    network driver

    UCP(User Control Panel)

    graph driver

    Orchestrator

    Docker Engine

    Arukas UIarukas run ...arukas start ...arukas stop ...

    Registries(DockerHub, etc...)

  • 28

    veth

    --net=bridge

    eth0

    eth0 (veth)

    veth

    --net=bridge

    eth0 (veth)

    veth

    --net=bridge

    eth0 (veth)

    veth

    --net=bridge

    eth0 (veth)

    Bridge (docker0)

  • 29

    IP Port 80 Port 49154

    port 49154

    Bri

    dge port 80

    eth0

  • 30

    *.arukascloud.io URL HTTP

    port 49154

    Bri

    dge port 80

    1

    port 32632

    Bri

    dge port 80

    2

    Endp

    oint

    HTTP

    HTTPS eth

    0et

    h0

    https:// *.arukascloud.io

    Internet

    http://arukascloud.iohttps://*.arukascloud.io

  • 31

    1 2

  • 32

  • 33

    DockerWEB

    Docker

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