Upload
hideki-saito
View
10.225
Download
5
Embed Size (px)
DESCRIPTION
RDO&packstack&VirtualBoxを利用したOpenStackのクイックスタート方法の紹介
Citation preview
OpenStack ~ Quick Start ~
Japan OpenStack Users Group Internet Initiative Inc.
!Manami Yokota
Hideki Saito (@saito_hideki)
1 ver1.9
目次• 自己紹介
• はじめに
• OpenStackを使ってみる • インストールする
• 仮想環境を管理する
• まとめ
2
自己紹介• 氏名:
• 齊藤 秀喜(さいとう ひでき) twitterid: @saito_hideki
• 横田 愛美(よこた まなみ)
• 勤務先: 株式会社インターネットイニシアティブ(IIJ)
• http://www.iij.ad.jp/
• 所属: 日本OpenStackユーザ会 ボードメンバー
• 趣味: OpenStack
3
はじめに• OpenStackは2010年の1stリリース(Austin)から2013/10の最新リ
リース(Havana)まで8回のメジャーリリースを経て、大規模なパブリッククラウド基盤や、オンプレミスのプライベートクラウド基盤に採用されるケースが増えています。 !
• OpenStackは、このようなプロダクション環境での本格利用だけでなく、例えばノートPC上の仮想環境にクラウド基盤を構築して、その構造を学んだり、新たな機能を実装してテストをしたりというサンドボックスを*比較的*簡単に用意できるという嬉しい側面を持っています。 !
• 本セッションでは、このようなサンドボックス環境を手元に準備する方法をご紹介します。
4
OpenStackを使ってみる
5
サンドボックス(Host)• 今回利用するPC
• Apple MacBook Air 11inch • CPU: Intel Core i7 (1.7GHz)
• Memory: 8GB
• SSD: 256GB
• OS: MacOS X 10.9.1
• VirtualBox 4.3.6 • GuestOS CentOS 6.5 x86_64 (※x86_64版が必須要件です)
• OpenStack
• 2013.2 Havana Release
• RDO & packstack
6
サンドボックス(Guest)• VirtualBoxをインストールし仮想マシンを作成する
• HostOnlyNetworkを2面(vboxnet0/vboxnet1)作成しておく
• vboxnet0 192.168.0.240 (192.168.0.0/24)
• vboxnet1 172.16.0.240 (172.16.0.0/24)
• 仮想マシンのスペック • CPU x 1 / HDD 20GB(VDI) / MEM 2GB
• Network
• Adapter1 (vboxnet0)
※ネットワーク->高度->プロミスキャスモード->「すべて許可」/DHCP off
• Adapter2 (vboxnet1)
※ネットワーク->高度->プロミスキャスモード->「すべて許可」/DHCP off
• Adapter3 (NAT)
7
• サンドボックス構成
インストールする(1)
8
“rdo” OpenStack BOX
vboxnet0 192.168.0.0/24 FloatingIP
vboxnet1 172.16.0.0/24 管理ネットワーク
NAT 10.0.4.0/24 OpenStackインストール用に利用する 外部接続用ネットワーク
MacBook Air HostOS
eth1: 172.16.0.1
br-ex: 192.168.0.1 eth0: IPアドレス割り当ては行わない
vboxnet0: 192.168.0.240
vboxnet1: 172.16.0.240
10.0.4.2
NATネットワーク経由で、packstackを利用したOpenStackのインストールを行う
eth0はOpenStackの外部接続用ブリッジ(br-ex)に接続するためIPアドレスの割り当ては行わない
eth2: 10.0.4.15
インストールする(2)• OpenStackのインストール方法
1. 公式ドキュメントを参考に構築にインストールする ��������公式ドキュメントをベースに日本仮想化技術株式会社さんが日本語で補完し てくれた完全版がありますので、初めてであれば以下がオススメです。 ������ http://enterprisecloud.jp/installguide-openstack/
2. devstackを利用してインストールする OpenStackの開発者が自身で開発したコードをテストする目的で開発されて いるプロダクトです。 つまりdevstackを利用してOpenStackをインストールすれば、基本的に正常 動作するハズなんですが・・・
3. RDO & packstackを利用してインストールする RedHatさんが提供するrpmとPuppetを利用したインストールシステムです。RedHat系のOSを利用しているのであれば、迷わずRDOです。
9
インストールする(3)• OSの基本設定(1)
• /etc/hostsに自身のエントリを追加(rootユーザで実施) 172.16.0.1 rdo
• /etc/sysconfig/networkにホスト名を設定(rootユーザで実施) HOSTNAME=rdo
• /etc/sysconfig/network-scripts/ifcfg-eth0を設定(vboxnet0) (rootユーザで実施) DEVICE=eth0 BOOTPROTO=static NM_CONTROLLED=no ONBOOT=yes TYPE=Ethernet
• /etc/sysconfig/network-scripts/ifcfg-eth1を設定(vboxnet1) (rootユーザで実施) DEVICE=eth1 BOOTPROTO=static NM_CONTROLLED=no ONBOOT=yes TYPE=Ethernet IPADDR=172.16.0.1 NETMASK=255.255.255.0 NETWORK=172.16.0.0 BROADCAST=172.16.0.255
• /etc/sysconfig/network-scripts/ifcfg-eth2(NAT network) (rootユーザで実施) DEVICE=eth2 BOOTPROTO=dhcp NM_CONTROLLED=no ONBOOT=yes TYPE=Ethernet • 基本設定が完了したらOSを再起動(rootユーザ で実施)
10
インストールする(4)• RDO & packstackでOpenStack環境をインストールする
RDOとpackstackがOpenStackに必要なソフトウェア一式を自動インストール 【インストール対象ソフトウェア群】
• MySQL
• QPID
• Keystone
• Glance
• Cinder
• Nova
• Neutron
• Horizon
• Swift
• Heat
• Ceilometer
• Tempest
• OpenStack Clientライブラリ
• Nagios
11
インストールする(5)• RDOとpackstackのインストール
• stackユーザを作成しwheelグループに登録する(rootユーザで実施) # useradd -G wheel stack # passwd stack Changing password for user stack. New password: ******** Retype new password: ******** passwd: all authentication tokens updated successfully.
• /etc/sudoersでwheelグループにsudoを許可する(rootユーザで実施) %wheel ALL=(ALL) ALL
• RDOのリポジトリをインストールする(stackユーザで実施) $ sudo yum install -y http://rdo.fedorapeople.org/rdo-release.rpm
• packstackをバージョン指定(2013.2.1-0.25.dev936)でインストールする(stackユーザで実施) $ sudo yum install -y openstack-packstack-2013.2.1-0.25.dev936.el6
• packstackでの自動インストール用answerファイルを作成する(stackユーザで実施)
• 今回利用するanswerファイルは以下のパスからダウンロード
�����������https://github.com/h-saito/packstack-answer/blob/master/all-in-one.conf $ git clone https://github.com/h-saito/packstack-answer.git && cd packstack-answer $ git checkout -b 2013.2.1-0.25.dev936 refs/tags/openstack-packstack-2013.2.1-0.25.dev936
• packstackを利用してOpenStackを自動インストールする 注意)今回の環境では完了まで40分〜1時間程度かかります。
$ packstack --answer-file=all-in-one.conf
12
インストールする(6)• packstackインストール後
• nagiosadminユーザのパスワードをメモする
nagiosadminユーザのパスワードはインストール後に出力されるメッセージに含まれるので要確認
• /etc/nova/nova.confを修正する packstackではデフォルトでkvm環境を想定したインストールを行うが、VirtualBoxでは仮想マシンの CPUに”vmx”を付与することができず、kvmを利用することができないためqemuに変更する
libvirt_type=qemu
• /etc/sysconfig/network-scripts/ifcfg-eth0を修正する eth0をbr-exに接続するよう修正する
DEVICE=eth0 BOOTPROTO=static NM_CONTROLLED=no ONBOOT=yes TYPE=Ethernet DEVICETYPE=ovs OVS_BRIDGE=br-ex TYPE=OVSPort
• br-exにeth0を割り当てて仮想マシンをHyperVisorの外部と通信させるための経路を確保する $ sudo ovs-vsctl add-port br-ex eth0
• 再起動してインストール作業を完了する
• ログイン情報 ���インストール完了後、ログインに必要な情報は以下のファイルに置かれているので確認しておく
• adminユーザ��/root/keystonerc_admin
• demoユーザ /root/keystonerc_demo
• WebUI URL http://172.16.0.1/
13
• 構築された初期状態のOpenStack環境(ネットワーク図)
All-In-One
14
仮想マシンのインスタンスはprivate-subnetに接続される。 外部(External Network)との通信はpublic-subnetから floatingipアドレスを振り出して仮想マシンに割り当てる。
RDO&packstackが自動構成してくれる環境
仮想環境を管理する• OpenStack起動後
• 管理者が行う作業
• プロジェクト管理(admin,demoプロジェクトをpackstackが作成済)
• ユーザの管理(admin,demoユーザをpackstackが作成済)
• 外部ネットワークの管理(public/public-subnetをpackstackが作成済)
• フレーバーの作成
• 利用者が行う作業
• 内部ネットワークの管理(private/private-subnetをpackstackが作成済)
• 仮想ルータの作成(publicとprivateを結ぶ仮想ルータ「router1」をpackstackが作成済み)
• セキュリティグループの作成
• 公開鍵の登録
• 仮想マシンのインスタンスを作成し起動
• 起動したインスタンスにフローティングIPを割り当て
15
フレーバーの作成(1)• 仮想マシンのフレーバー(グレードのようなもの)を作成する
16
フレーバーの作成(2)• 「m1.micro」フレーバーを追加する
17
VirtualBoxでRDO用に割り当てたVMのメモリが2GBしかないため、デフォルトの最小フレーバー(512MB)よりもさらに少ない64MBメモリのフレーバーを用意する。
フレーバーの作成(3)• 「m1.micro」フレーバーが追加された
18
m1.microが作成された
• ICMPとSSHを許可する最低限のグループ「base」を作成
19
セキュリティグループの作成(1)
• セキュリティグループにルールを追加する
20
セキュリティグループの作成(2)
ICMPとSSHを許可するルールを追加する
• ICMP許可ルールを追加。種別とコードは「-1」に設定しておく
21
セキュリティグループの作成(3)
• SSH許可ルールを追加する
22
セキュリティグループの作成(4)
• 「base」にICMPとSSHアクセスに対する許可が追加された
23
セキュリティグループの作成(5)
SSHを許可するルールが追加された
ICMPを許可するルールが追加された
公開鍵の登録(1)• 仮想マシンへのSSHログイン用公開鍵を登録する
24
公開鍵の登録(2)• キーペア名「admin」を作成しクライアントの公開鍵を登録する
25
公開鍵の登録(3)• キーペア名「admin」が作成された
26
「admin」が作成され公開鍵が登録された
• 仮想マシンを作成して起動する
27
仮想マシンのインスタンス作成と起動(1)
• 仮想マシン「server1」の詳細を設定する
28
仮想マシンのインスタンス作成と起動(2)
インスタンス名、フレーバー,作成するインスタンス数、元になるイメージ名を指定する
• 仮想マシン「server1」の公開鍵/セキュリティグループを設定する
29
仮想マシンのインスタンス作成と起動(3)
キーペアとセキュリティグループを設定する
• 仮想マシン「server1」を接続するネットワークを設定する
30
仮想マシンのインスタンス作成と起動(4)
インスタンスを「private」ネットワークに割り当てる
• 仮想マシン「server1」を接続するネットワークを設定する
31
仮想マシンのインスタンス作成と起動(5)
「server1」が作成され起動する
10.0.0.3
• 仮想マシン「server1」にフローティングIPを割り当てる
32
起動したインスタンスにフローティングIPを割り当て(1)
フローティングIPアドレスを割り当てる
10.0.0.3
• 仮想マシン「server1」に「public」ネットワークからフローティングIPを割り当てる
33
起動したインスタンスにフローティングIPを割り当て(2)
「public」ネットワークからフローティングIPアドレスを割り当てる
• RDO&packstackによる構築初期状態のOpenStack IaaSコントローラ
All-In-One環境(VM作成)
34
br-ex(IPAddr 192.168.0.1)
eth0
qg-e101f8ba-3e IPAddr: 192.168.0.2
qr-051589d9-75 IPAddr: 10.0.0.1
VLAN tag:1
tap997e629f-28VLAN tag:1
dnsmasqIPAddr:10.0.0.2
router1 (qrouter-3b19895e-2b1a-4e16-a38c-d099cc9ad7e9)
(qdhcp-139b1160-3cb3-4b60-a08b-1db2838e7114)
TAP Device
Network Namespace
デバイス名は参考値
br-int
Open vSwitchBridge
All-In-Oneノード(rdo)
• 仮想マシンインスタンス起動後のOpenStack環境
All-In-One環境(VM作成後)
35
br-ex(IPAddr 192.168.0.1)
eth0
qg-e101f8ba-3e IPAddr: 192.168.0.2
qr-051589d9-75 IPAddr: 10.0.0.1
VLAN tag:1
tap997e629f-28VLAN tag:1
dnsmasqIPAddr:10.0.0.2
router1 (qrouter-3b19895e-2b1a-4e16-a38c-d099cc9ad7e9)
(qdhcp-139b1160-3cb3-4b60-a08b-1db2838e7114)
TAP Device
Network Namespace
デバイス名は参考値
qvb058ced41-2f
tap058ced41-2f
server1
eth0: 10.0.0.3
qbr058ced41-2f
qvo058ced41-2f VLAN tag: 1
br-int
veth pair
Open vSwitch Bridge
Linux Bridge
All-In-Oneノード(rdo)
• 仮想マシンインスタンス起動後のOpenStack環境(ネットワーク図)
36
All-In-One環境
demoプロジェクト
ICMPとSSHの許可ルールは、このブリッジに接続されるTAPデバイスに対してiptalbesで許可される
フローティングIPの設定はネットワークノード上の仮想ルータのネームスペースにiptablesで設定される
まとめ• VMを利用したOpenStackによるクラウド基盤のサンドボックス環境の
構築方法を紹介しました。
• RDO+packstack+VirtualBoxで比較的簡単にOpenStack環境を構築できます。
• RDOAll-In-One環境を紹介しましたが、役割毎にサーバを分けることも可能です。
• OpenStackが動作しているホストのネットワーク構成について図を交えて紹介しました。OpenStackではTAP/veth/NetworkNamespace/Open vSwitch/Linux BridgeなどLinuxの仮想ネットワーク機能をフル活用しています。
• 手軽にOpenStackの世界を体験しましょう!
37
参考• OpenStack公式サイト
• http://www.openstack.org
• RDO • http://openstack.redhat.com/Quickstart
• devstack (今回は紹介していません) • http://devstack.org
• https://github.com/openstack-dev/devstack.git
• OpenStackインストールドキュメント • http://docs.openstack.org/havana/
• 日本仮想化技術さんによる日本語版インストールドキュメント • http://enterprisecloud.jp/installguide-openstack/
38
ご清聴ありがとうございました
39