iOSS

オープンソースをもっと身近なものに

Posted on by hagix9


とりあえずUbuntu13.04をインストールしてあるところから始めます。
Quantumを利用するのでNICは2枚必要です。(Devstackは1枚でいけてるのですがやり方が。。)
eth0のほうは普段利用しているそのままでeth1の設定は以下のような感じです。

auto  eth1
iface eth1 inet manual
        up   ifconfig $IFACE 0.0.0.0 up
        up   ip link set $IFACE promisc on
        down ip link set $IFACE promisc off
        down ifconfig $IFACE down

また、LVMでcinder-volumesも用意しておけばCinderも利用できますが別に使わないのであればまあ動きます。
cinder-volumesは後でイメージで用意しても実験とかで使うくらいであれば問題ないと思います。
CinderのバックエンドにNFSを利用するのであれば元々LVMとして用意しておく必要もありません。

①OpenStackのインストール
UbuntuであればAnsbileやPuppetやChefなど色々乱立しまくってインストーラーがありますけどそれ自体をインストールするのが面倒だったりしますのでスクリプトでインストールします。

wget https://raw.github.com/hagix9/hagistack/master/ubuntu13.04/hagistack_controller_quantum.sh

ファイルを用意してもいいのですがそんなに多くないので以下の変数を直接書き換えます。
192.168.10.0/24というのはインターネット(外部)に繋がるネットワークの想定です。
適宜変更してください
コントローラIPは今からインストールするサーバのアドレスです。
コンピュートIPはコンピュートノードの役割もしていまいますので上記と同じIPを指定します。
GATEWAYは物理ネットワークでインターネットなどに出ていくルータなどのIPです。
IPプールは物理ネットワークでOpenStackのフローティングIPに割り当てることが可能なIPアドレスを指定します。

NOVA_CONTOLLER_IP=192.168.10.50
NOVA_COMPUTE_IP=192.168.10.50
GATEWAY=192.168.10.1
EXT_NETWORK=192.168.10.0/24
IP_POOL_START=192.168.10.200
IP_POOL_END=192.168.10.250

あとはスクリプトを動かすだけです。
と思いましたが一般ユーザの設定も必要です。
一般ユーザは以下のように設定していますのでこちらも直接変更しておきます。
STACK_PASSはスクリプト内で使っていませんので無視してください。

STACK_USER=stack
time bash hagistack_controller_quantum.sh

インターネット回線にもよりますが10分くらいあれば終わってると思います。

②CoreOSの登録
スクリプトにはCoreOSでなくCirrosになっています(CoreOSのほうが早いし面白いのでそのうちデフォルトはそっちにしようかなと)のでGlanceで登録します。
間違えてqemuのイメージだとインスタンスは起動しますがsshでログイン出来ないので気をつけて下さい。


mkdir /opt/virt/coreos ; cd /opt/virt/coreos
wget http://storage.core-os.net/coreos/amd64-generic/dev-channel/coreos_production_openstack_image.img.bz2
bunzip2 coreos_production_openstack_image.img.bz2
. /home/stack/keystonerc
glance image-create --name="CoreOS" --is-public=true --container-format=ovf --disk-format=qcow2 < coreos_production_openstack_image.img [/bash] ③登録したCoreOSをインスタンスとして起動します。 nicには内部ネットワーク側(そのままだと10.10.のってやつです)を設定します。 イメージの確認も一緒に行なってUUIDを設定してください。 tenant01というプロジェクトでインスタンスを起動させます。 特にコマンドで行う必要もないので http://コントローラIP/horizon で接続してインスタンスのメニューから起動させても問題ないです。 ユーザ名、パスワードはそのままだとどちらもadmin01です。 [bash] nova image-list nova net-list nova boot \ --flavor m1.tiny \ --key_name mykey \ --security-groups default \ --image 586e90b3-055f-4ae5-b76a-a21e740d377d \ --nic net-id=487afc4f-a8e1-4149-baae-89c04c513934 core01 [/bash] Quantumを利用した場合内部アドレスにはそのまま接続できないです。 フローティングIPを付与するか内部アドレスに外部アドレスからゲートウェイを設定します。 そのままだとIP_POOL_START=192.168.10.200がゲートウェに指定可能です。 [bash] nova list route add -net 10.10.10.0/24 gw 192.168.10.200 [/bash] CoreOSなインスタンスへ接続します。 [bash] ssh -i /home/stack/mykey core@10.10.10.2 [/bash] 早速dockerを使ってみます。 CentOS6.4を起動 [bash] sudo docker run -i -t centos /bin/bash [/bash] やっぱりUbuntuを起動 [bash] sudo docker run -i -t boxcar/raring /bin/bash [/bash] うん、普通に動きます。 あと、CoreOSでpingコマンド使いたかったらどないしたらいいんでしょ。

Posted on by hagix9 | Posted in 未分類


コメントを残す

メールアドレスが公開されることはありません。