OpenStack Newton環境の構築(Packstack使用)
はじめに
PackstackによるOpenStackのお手軽インストールを試したらいろいろハマりました。ようやく成功率の高い手順を編み出せたので、ハマった部分も補足しつつメモとしてまとめます。
2017.1.11 説明を少々追加
目指すOpenStack構成
- VirtualBoxで作成したCentOS7.2のVMにOpenStackを構築
- OpenStackはPackstackでAllInOneインストール
- VirtualBoxのVMは自宅LANにブリッジ接続
- 自宅LAN=OpenStackのPublicネットワーク(OpenStack上で作成するインスタンスにFloating IPを設定すれば、PublicネットワークからSSH接続可能)
使用したPC
- 本体:Mac Mini(2014年モデル)
- CPU:2.8GHz Intel Core i5
- メモリ:16GB
- OS:macOS Sierra 10.12.2
- VirtualBox:バージョン5.1.12
構築メモ
1. VirtualBoxでVM作成
1. VirtualBoxでVM作成
以下のVMを作成し起動させる。
- 名前:PackStack_Newton
- メモリ:8192MB
- 仮想ハードディスク:100GB(可変サイズ)
- CPU数:2CPU
- CDROM:CentOS-7-x86_64-DVD-1511.iso
- ネットワーク:ブリッジアダプターを選択、プロミスキャスモードは「すべて許可」を選択すること
2. CentOS7.2のインストール
インストーラ上で以下のようにしてインストールを行う。開発ツール等を入れてしまうとPackstackの構築が失敗する可能性大のため最小限のインストールを行う。
- SECURITY POLICY:Apply security policyをオフ
- ソフトウェアの選択は「最小限のインストール」(何もチェックを付けない)
- ネットワークとホスト名
インストール中にROOTパスワードとユーザー作成(管理者設定)も行う。
3. Packstackインストール
以降はVirtualBoxのVMにSSHログインし、rootアカウントで実施する。
3.1 事前準備
3.1.1 NTP設定
# yum -y install ntp
# systemctl start ntpd
# systemctl enable ntpd
3.1.2 ファイアウォールやNetworkManagerの無効化
# systemctl disable firewalld
# systemctl stop firewalld
# systemctl disable NetworkManager
# systemctl stop NetworkManager
# systemctl enable network
# systemctl start network
# setenforce 0
3.1.3 英語ロケール設定
# echo "LANG=en_US.utf-8" > /etc/environment
# echo "LC_ALL=en_US.utf-8" >> /etc/environment
リブートで反映させる。
# reboot
3.2 Packstackインストール
# yum install -y centos-release-openstack-newton
# yum update -y
# yum install -y openstack-packstack
Packstackのコンフィグとなるanswerファイルを事前作成する。
自宅LANがPublicネットワークとなるよう、--os-neutron-ovs-bridge-interfacesオにVMのインターフェース名(ここではenp0s3)を指定しておく。
その他にもさまざまな設定が可能だが、--provision-demo-floatrangeでPublicネットワークのアドレスを指定するとPackstackのインストールが途中で失敗するため指定しないこと。
# packstack --gen-answer-file=/root/answer.txt \
--default-password=password \
--os-heat-install=y \
--ntp-servers=ntp.nict.jp \
--os-neutron-ovs-bridge-mappings=external:br-ex \
--os-neutron-ovs-bridge-interfaces=br-ex:enp0s3
answerファイルを指定してPackstackのインストールを開始する(完了するまで1時間以上かかる)。
# packstack --answer-file=/root/answer.txt
以下が出力されればインストール成功。
**** Installation completed successfully ******
Additional information:
* File /root/keystonerc_admin has been created on OpenStack client host 192.168.0.159. To use the command line tools you need to source the file.
* To access the OpenStack Dashboard browse to http://192.168.0.159/dashboard .
Please, find your login credentials stored in the keystonerc_admin in your home directory.
* To use Nagios, browse to http://192.168.0.159/nagios username: nagiosadmin, password: password
* Because of the kernel update the host 192.168.0.159 requires reboot.
* The installation log file is available at: /var/tmp/packstack/20170109-183736-RgumXF/openstack-setup.log
* The generated manifests are available at: /var/tmp/packstack/20170109-183736-RgumXF/manifests
4. OpenStackネットワークの再構築
4.1 既存設定を削除
ネットワークを作り直すため、adminアカウントでデフォルトのネットワーク設定を削除する。
# source /root/keystonerc_admin
# neutron router-gateway-clear router1
# neutron router-interface-delete router1 private_subnet
# openstack router delete router1
# openstack network delete private
# openstack network delete public
4.2 Publicネットワークの再作成
adminアカウントでPublicネットワークとサブネットを再作成する。
# openstack network create public --external
# openstack subnet create public_subnet \
--subnet-range 192.168.0.0/24 \
--allocation-pool start=192.168.0.162,end=192.168.0.180 \
--gateway 192.168.0.1 \
--no-dhcp \
--network public
4.3 Privateネットワークの再作成
demoアカウントでPrivateネットワークとサブネットを再作成する。
# source /root/keystonerc_demo
# openstack network create private
# openstack subnet create private_subnet \
--subnet-range 10.0.0.0/24 \
--allocation-pool start=10.0.0.2,end=10.0.0.254 \
--gateway 10.0.0.1 \
--network private
4.4 ルーターの再作成
demoアカウントでルーターを再作成し、ゲートウェイとPrivateネットワークのサブネットをルーターに関連付ける。
# openstack router create router1
# neutron router-gateway-set router1 public
# neutron router-interface-add router1 private_subnet
5. インスタンスを生成して疎通確認
5.1 セキュリティグループの編集
インスタンスへのpingとsshが通るよう、セキュリティグループに許可ルールを追加する。
- ダッシュボードにdemoアカウント(パスワードはpassword)でログイン
- プロジェクト→コンピュート→アクセスとセキュリティーを選択
- セキュリティグループタブを選択→defaultのルールの管理
- ルールの追加より以下4つのルールを追加
- ルール=ALL ICMP、方向=受信
- ルール=ALL ICMP、方向=送信
- ルール=ALL TCP、方向=受信
- ルール=ALL TCP、方向=送信
5.2 インスタンスの生成
- ダッシュボードにdemoアカウント(パスワードはpassword)でログイン
- プロジェクト→コンピュート→インスタンスを選択
- インスタンスの起動をクリックし、以下を設定してインスタンスの起動ボタンをクリック
- 詳細タブ:インスタンス名にServer1
- ソースタブ:ブートソースからイメージを選び、cirrosを選択
- フレーバータブ:m1.tinyを選択
- ネットワークタブ:privateが選択されていることを確認
インスタンスのステータスが稼働中になったら、Floating IPの割り当てを行う。
5.3 ping疎通確認
FloatingIPに対してpingを実施し、レスポンスが正常に返ってくることを確認する。
# ping 192.168.0.169
PING 192.168.0.169 (192.168.0.169) 56(84) bytes of data.
64 bytes from 192.168.0.169: icmp_seq=1 ttl=63 time=2.83 ms
64 bytes from 192.168.0.169: icmp_seq=2 ttl=63 time=1.89 ms
64 bytes from 192.168.0.169: icmp_seq=3 ttl=63 time=0.717 ms
Author And Source
この問題について(OpenStack Newton環境の構築(Packstack使用)), 我々は、より多くの情報をここで見つけました https://qiita.com/raichi/items/e8882a4e98d1f7aeda23著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .