運用
監視
Operation
Monitoring
―Don't forget. always,somewhere,
someone is fighting for you.
―As long as you remember her.
you are not alone.
忘れないで、いつもどこかで誰かがあなたの為に戦っている。
彼女を覚えている限り、あなたは一人じゃない。
(出典:魔法少女まどかマギカ最終話「わたしの、最高の友達」)
36.
DECISIVE BATTLE
A HUMANWORK
You can advance.
This Photo is under creative commons license by torkildr
http://www.flickr.com/photos/torkildr/3462606643/sizes/l/in/photostream/
The NIST Definitionof Cloud Computing (NIST Special Publication 800-145)
http://csrc.nist.gov/publications/nistpubs/800-145/SP800-145.pdf
NISTによるクラウドコンピューティングの定義 米国国立標準技術研究所による推奨(IPA翻訳版)
https://www.ipa.go.jp/files/000025366.pdf
基本的な特長:
• オンデマンド・セルフサービス
• 幅広いネットワークアクセス
• リソースの共用
• スピーディーな拡張性
• サービスが計測可能であること
サービスモデル:
• SaaS ( Software as a Service )
• PaaS ( Platform as a Service )
• IaaS ( Infrastructure as a Service )
実装モデル:
• Private Cloud
• Community Cloud
• Public Cloud
• Hybrid Cloud
ニンゲンヤメマスカ?
Do you resignas human being?
It is necessary to answer the following questions to start OPERATION.
YES はい
はい YES
運用を続けるためには、イカの質問に答える必要があります。
正直、キツそうです。
[zem@artemis ~]$ dockerrun Ubuntu echo “Hey World”
Hey World
[zem@artemis ~]$ docker run centos cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[zem@artemis ~]$ docker run centos:6 cat /etc/redhat-release
CentOS release 6.6 (Final)
[zem@artemis ~]$ docker run ubuntu cat /etc/issue
Ubuntu 14.04.2 LTS ¥n ¥l
プロセスとして手軽に実行を
することができます。
84.
[zem@artemis ~]$ dockerrun –t -i --name=madoka ubuntu bash
Unable to find image 'ubuntu:latest' locally
latest: Pulling from ubuntu
83e4dde6b9cf: Extracting 65.79 MB/65.79 MB
b670fb0c7ecd: Download complete
29460ac93442: Download complete
d2a0ecffe6fa: Download complete
ubuntu:latest: The image you are pulling has been verified. Important: image
verification is a tech preview feature and should not be relied on to provide
security.
Digest:
sha256:cb90b1a107073ab3e17271e45a6177b23f548b44157d88d955b7e8bcdbcfd14a
Status: Downloaded newer image for ubuntu:latest
446712c7188861edb406fc85e3c50ecb2efab329d2cb8c5511a4e323358c75ea
root@e1096840bb9e:/#
これは、典型的な起動例。
bashを実行するコンテナを
起動しているものです。
[zem@artemis ~]$ dockerimages
REPOSITORY TAG IMAGE ID CREATED
VIRTUAL SIZE
magical_girl latest 755948a5430e 6 seconds ago
188.3 MB
# docker run -ti magical_girl bash
root@d4a7018a4949:/# echo "madoka" > /who.txt
root@d4a7018a4949:/# exit
exit
[zem@artemis ~]$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
d4a7018a4949 magical_girl "bash" 34 seconds ago
Exited (0) 19 seconds ago trusting_goldstine
イメージはスナップショット
のようなもの。
91.
[zem@artemis ~]$ dockerps -l
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
d4a7018a4949 magical_girl "bash" 34 seconds ago
Exited (0) 19 seconds ago trusting_goldstine
[zem@artemis ~]$ docker diff d4
C /root
C /root/.bash_history
A /who.txt
[zem@artemis ~]$ docker commit d4 magical_girl:madoka
76111a745047008b7a383ae91af27c5a543da273bea94e9590c7062fbef457cd
[zem@artemis ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED
VIRTUAL SIZE
magical_girl madoka 76111a745047 6 seconds ago
188.3 MB
magical_girl latest 755948a5430e About a minute
ago 188.3 MB
差分を確認したり、イメージ
コミットして保存もできます
92.
[zem@artemis ~]$ dockerimages
REPOSITORY TAG IMAGE ID CREATED
VIRTUAL SIZE
magical_girl mami a1504bae269e 3 seconds ago
188.3 MB
magical_girl madoka 76111a745047 3 minutes ago
188.3 MB
magical_girl latest 755948a5430e 5 minutes ago
188.3 MB
[zem@artemis ~]# docker run magical_girl:madoka cat /who.txt
madoka
[zem@artemis ~]# docker run magical_girl:mami cat /who.txt
mami
同じイメージのレポジトリで
違うタグを持つイメージ群
93.
[zem@artemis ~]$ dockerrun -ti magical_girl:mami bash
root@add71b4968ba:/# rm -rf --no-preserve-root /
(snip)
rm: cannot remove '/sys/block/dm-1': Read-only file system
rm: cannot remove '/sys/block/dm-2': Read-only file system
root@add71b4968ba:/# ps
bash: ps: command not found
root@add71b4968ba:/# ls
bash: ls: command not found
root@add71b4968ba:/# exit
exit
[zem@artemis ~]$ docker run -ti magical_girl:mami bash
root@cdd86dbb4b50:/# cat /who.txt
mami
コミットさえしなければ、
消えたとしても・・・
ほら、大丈夫。
94.
$ docker ps-a
CONTAINER ID IMAGE COMMAND CREATED STATUS
PORTS NAMES
cdd86dbb4b50 magical_girl:mami "bash" About a minute ago Exited (0) 6 seconds ago
insane_blackwell
add71b4968ba magical_girl:mami "bash" 2 minutes ago Exited (127) About a minute ago
mad_yalow
04bb8e9143b5 magical_girl:mami "bash" 2 minutes ago Exited (0) 2 minutes ago
cranky_ritchie
3fbf384fce5b magical_girl:mami "cat /who.txt" 12 minutes ago Exited (0) 12 minutes ago
high_perlman
75ed3382443c magical_girl:madoka "cat /who.txt" 12 minutes ago Exited (0) 12 minutes ago
elated_goldstine
47f99d7f78a7 magical_girl "bash" 14 minutes ago Exited (0) 14 minutes ago
jovial_pasteur
d4a7018a4949 magical_girl "bash" 18 minutes ago Exited (0) 18 minutes ago
trusting_goldstine
e1096840bb9e ubuntu "bash" 37 minutes ago Exited (0) 19 minutes ago
madoka
$ docker rm $(docker ps -aq --filter='status=exited')
でも、別々のコンテナIDが作
られるので、因果が…
容量を圧迫するので、たまに
綺麗に片付けましょう。
95.
95Introduction to DockerBasic Course
‣ https://hub.docker.com/
Docker Hub
# docker search wordpress
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
wordpress The WordPress rich content management syst... 358 [OK]
tutum/wordpress Wordpress Docker image - listens in port 8... 44 [OK]
tutum/wordpress-stackable Wordpress Docker image - listens in port 8... 23 [OK]
centurylink/wordpress Wordpress image with MySQL removed. 7
.
.
.
ブラウザ上で公式イメージを
含む様々な検索が可能です。
96.
物理マシン 物理マシン 物理マシン
OSOS OS
HyperVisor HyperVisor HyperVisor
VM VM VM VM VM VM
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
物理マシン 仮想マシン クラウド
OS OS OS
Docker
Engine
Docker
Engine
Docker
Engine
App App App App App App
App App App App
仮想化・クラウド Dockerのコンテナ管理
でも、Docker Engineだけでは
足りない所があります。
97.
物理マシン 物理マシン 物理マシン
OSOS OS
HyperVisor HyperVisor HyperVisor
VM VM VM VM VM VM
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
物理マシン 仮想マシン クラウド
OS OS OS
Docker
Engine
Docker
Engine
Docker
Engine
GUI
CLI
API
Docker Cluster 管理レイヤ
( ECS, Docker Swarm, rkt, Rancher …etc )
App App App App App App App App App App
仮想化・クラウド Dockerのコンテナ管理
クラスタ管理部分が今は弱い
98.
物理マシン 物理マシン 物理マシン
OSOS OS
HyperVisor HyperVisor HyperVisor
VM VM VM VM VM VM
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
Guest
OS
App App App App
物理マシン 仮想マシン クラウド
OS OS OS
Docker
Engine
Docker
Engine
Docker
Engine
App App App App App App
GUI
CLI
API
Docker Cluster 管理レイヤ
( ECS, Docker Swarm, rkt, Rancher …etc )
オーケストレーション
サービス検出・クラスタ管理
仮想化・クラウド Dockerのコンテナ管理
色々な動きが進みそうです。
99.
APCERA
Cloud Foundry
shippable
Google Container
Engine
AmazonEC2
Container Service
IBM Containers
on Bluemix
コンテナを取り巻く業界俯瞰図
開発環境
Build / Deploy
運用自動化
Orchestration
kitematic
Etcd
SkyDNS
Service Discovery
Docker
fleet
flannel
rkt
CoreOS
Tectonic
Mesosphere
Apache Auora
Marathon
Cluster Management
Kubernetes
構成管理
Docker Swarm
Docker Machine
Docker Compose
Docker特化OS
PaaS
Networking
コンテナ管理用プラットフォーム