More Related Content Similar to Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドライバについてのイベント) (20) More from さくらインターネット株式会社 (20) Dockerホスティング「Arukas」について(「さくらインターネット」のDockerホスティング「Arukas」と「Docker Machine」ドライバについてのイベント)3. 3
SHUJI YAMADA
9 years Build &
IT Infrastructure Operating Ops.
#cloud #network #server #docker #coreos
#monitoringlove #devops #lean #agile
Works at SAKURA Internet inc.
website: http://uzy-exe.hateblo.jp/
twitter: https://twitter.com/uzyexe
slideshare: http://www.slideshare.net/uzy_exe
github: https://github.com/uzyexe
dockerhub: https://hub.docker.com/r/uzyexe
(山田 修司)
8. 1. Dockerfile に任意のアプリケーション環境を定義。
2. Dockerfile を Build して Docker イメージを作成。
3. ビルドした Docker イメージを Docker Hub などに Push。
4. 任意のサーバ上で Docker イメージを Pull してアプリケーションを起動。
8
Docker ImageDockerfile
docker run!
Docker Hub docker run!
docker run!
SIMPLE
Docker Workflow
9. 9
Host OS
HyperVisor
Infrastructure
Guest OS Guest OS Guest OS
Bins/Libs Bins/Libs Bins/Libs
App-1 App-2 App-3
Host OS
Docker Engine
Infrastructure
Bins/Libs Bins/Libs Bins/Libs
App-1 App-2 App-3
VM vs. Docker
VM
Container
Containers are isolated, but share OS
and, where appropriate, bins/libraries
10. 10
Host OS
NameSpaces
• UTS
• IPC
• PID
• User
• Network
• ++
cgroups
• memory
• cpu
• blkio
• devices
• network
• ++
Container
(Namespace)
alpine base
nginx
Container
(Namespace)
Ubuntu base
Rails
Container
(Namespace)
CentOS base
Apache2
MySQLpostgresql
Network
• veth
• bridge
• iptables
• ++
Storage
• aufs
• btrfs
• devicemapper
• overlayfs
• ++
Security
• SElinux
• apparrmor
• capability
• Grsecurity
• PaX
...
Docker Engine
Infrastructure
11. 11
1. Development 2. Test 3. Stage / Production
Dockerfile Docker Image
CI/CD
Docker Image
DEPLOY
On-Premise Cloud
Ops
Dev
QA/QE
Version Control
12. 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. 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”
19. 19
What’s
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
27. 27
Arukas API
Container
libcontainer
exec driver
(native)
Public API CLI
(Command Line Tool)
rootfs (overlayfs...)
other drivers...
Orchestrator / Scheduler
docker daemon
docker.sock
network driver
UCP
(User Control Panel)
graph driver
Orchestrator
Docker Engine
Arukas UI
arukas run ...
arukas start ...
arukas stop ...
Registries
(DockerHub, etc...)
30. 30
エンドポイント
• エンドポイントで『 任意の *.arukascloud.io ドメイン URL 』
がマッピングされる。(※ HTTP通信限定)
port 49154
Bridge
port 80
ホストサーバ#1 コンテナ
port 32632
Bridge
port 80
ホストサーバ#2 コンテナ
Endpoint
HTTP
HTTPS
eth0eth0
https:// *.arukascloud.io
Internet 空間