a reseach of openstack + docker at recent code

10
openstack Open source software to build public and private clouds. OpenStack Docker 対対対対対 @Icehouse 2014.8.13 NTT 対対対対対対対対対対対 対対 対対

Upload: takahiro-shida

Post on 18-Dec-2014

284 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: A Reseach of Openstack + Docker at recent code

openstackOpen source software to build public and private clouds.

OpenStack Docker 対応の調査@Icehouse

2014.8.13NTT データ先端技術株式会社

志田 隆弘

Page 2: A Reseach of Openstack + Docker at recent code

モチベーション• 私の OpenStack 環境

– 手元のVAIO(Windows)でVMware Playerを動かす– その上にUbuntuを入れて、OpenStackを構築

• 勿論 All In One

– それでCentOSとかを起動してみたり• cloud-init で Chef-solo 動かすとかしたら当たり前に20分かかりました

• コンテナ型を利用したらもっとスムーズになるんじゃないか?– 今からLXCより「Docker使ってますけど何か?」って言えたほうが

カッコイイんじゃないか?– そういえばOpenStackでDocker操作する話があったような

• うろ覚え

英語の記事はちょいちょい見かけるけど、日本語の情報は少ないなと思いまして &Havana の話はあるけど Icehouse での話が見当たらなかったので、お試しで Docker 対応を動かしてみよう

Page 3: A Reseach of Openstack + Docker at recent code

First Step

• まずは公式から• https://wiki.openstack.org/wiki/Docker

DevStack で構築できるだと!! 勝った!

Page 4: A Reseach of Openstack + Docker at recent code

早速失敗

1. localrc に以下を記述

2. socat を入れておくといいらしいので入れる

3. docker のインストール

VIRT_DRIVER=docker

sudo apt-get install socat

$ ./tools/docker/install_docker.sh-bash: ./tools/docker/install_docker.sh: そのようなファイルやディレクトリはありません

いつものように、 OS インストール後 devstack を clone した後

!?

Page 5: A Reseach of Openstack + Docker at recent code

Docker@Icehousehttp://blog.docker.com/2014/03/docker-will-be-in-openstack-icehouse/

Docker が OpenStack Icehouse に入るよ

でも Nova の機能は VM 特有で Docker とかコンテナに合わないなって思ってる

これまでは Nova の Driver として作ってたんだ

どうしようかなと思ってたけど、 Heat を使うという解決方法を思いついたよ

Icehouse では Heat のプラグインという形でリリースされるよ

Driver のコードは Nova から Stackforge に移動するよ。そこで開発は続けるよ。

… うーん、なるほど。半年前にこんなことが決まっていたのか

Page 6: A Reseach of Openstack + Docker at recent code

nova-docker

• Havana 時点での” Docker 対応”– https://github.com/stackforge/nova-docker

• Nova の Docker VirtDriver– インストール方法も README に

記載有り– 最終更新は 9 日前

• 結構アクティブ?

• Icehouse でも動く可能性高

Page 7: A Reseach of Openstack + Docker at recent code

インストール手順

• devstack でやっていた部分を手動で– Docker をインストール

• https://docs.docker.com/installation/ubuntulinux/

– nova-docker をインストール• pip install -e git+https://github.com/stackforge/nova-docker#egg

=novadocker

– nova-compute 起動ユーザに docker グループをつける• gpasswd -a < 起動ユーザ > docker

– nova.conf を修正• compute_driver=novadocker.virt.docker.DockerDriver

– glance-api.conf を修正• container_formats = ami,ari,aki,bare,ovf,docker

Page 8: A Reseach of Openstack + Docker at recent code

ハマった問題• http://www.gossamer-threads.com/lists/openstack/dev/40195

– nova-compute failed to start with docker hypervisor.• nova.openstack.common.threadgroup 

NovaException: Docker daemon is not running or is not reachable (check the rights on /var/run/docker.sock) 

• 自分もこんなエラーが出たので何度も docker –d が上がってるか? /var/run/docker.sock に書き込み権限あるのかを見直しましたが、治らず– 原因はバージョンの問題でした

$ docker versionClient version: 0.9.1Go version (client): go1.2.1Git commit (client): 3600720Server version: 0.9.1Git commit (server): 3600720Go version (server): go1.2.1Last stable version: 1.1.2, please update docker

class DockerHTTPClient(object): VERSION = 'v1.13'

def __init__(self, connection=None): self._connection = connection

nova-docker は docker のバージョンが 1.13 であると決め打ちして叩きに行くけど、 Ubuntu14.04でインストールされる docker が 0.9.1 というバージョン不整合の問題。

docker は最新版を入れましょう

Page 9: A Reseach of Openstack + Docker at recent code

nova-docker@master

github の master(8/11 時点 ) のコードでもどうにか動いている模様… 起動するかは不明

Page 10: A Reseach of Openstack + Docker at recent code

総評

• 今回はここまでです– この後実際にコンテナ起動して…とかありますが– Docker としては nova-docker にあまり力を入れ

ていない模様• Cinder や Neutron とは繋がらないですし

– そもそも、パフォーマンスの問題であればNested KVM がいいんじゃないか?

• 今後、 nova-docker をちゃんと使うタイミングは無さそうです– 素 Docker の方が便利