OpenStack Stein releaseをPackstack(RDO)でvirtualbox上に構築する手順まとめ
はじめに
前回記事のつづき。
今回はvirtualboxで仮想centos導入→その上にopensrackインスト、ログインまでを取り上げる。
モノが来るのにまだ数日かかるので、その間に構築手順を把握/整理する目的で先人の足跡をまとめておく。
※6/3追記
構築完了しました!
手順をまとめる上で特に参考にさせて頂いた資料は以下。
何はともあれ公式。
www.rdoproject.org
仮想環境上に構築した事例としては以下、
qiita.com
all-in-one構成ではなく、多ノード構成事例(controllerノードとcomputeノードを分離)
qiita.com
各種スペック
物理マシン
前回選定したもの。
GPU | NVIDIA(R) GeForce RTX(TM) 2070 8GB【DVI-D x1 / HDMI2.0 x1 / DisplayPort1.4 x2 / USB Type-C x1】 |
---|---|
CPU | インテル(R) Core(TM) i7-8700 プロセッサー (3.20GHz/6コア/12スレッド/12MB) |
メモリ | 64GB(16GB×4) PC4-21300(DDR4-2666) DDR4 SDRAM |
SSD/HDD | 320GB Colorful製 SL500 シリーズ / 3TB S-ATA |
OS | Windows(R) 10 Home 64bit版 |
仮想マシン
virtualbox上に以下設定で構築
vCPU | 4cpu |
---|---|
メモリ | 32GB |
仮想ディスク | 100GB, VDI, 可変 |
OS | CentOS7.6 minimal 64bit |
Provider(Public) network*1 | 10.0.2.0/24 GW:10.0.2.1 NS:8.8.8.8 interface:enp0s3 |
Management network*2 | 192.168.56.0/24 GW:192.168.56.1 interface:enp0s8 |
手順
仮想centos環境の設定
「windowsにvirtualboxインスト→virtualbox上にcentosインスト」までの手順はノウハウも豊富にあるので割愛。
但しmanagement network設定の際に、プロミスキャスモードを「すべて許可」にする点に注意(openstackインスタンスが外部と通信するために必要)
以下ネットワーク、セキュリティ周りを中心に設定を進める。
立ち上がった仮想centosにログインして、NICの確認。
provider(enp0s3)とmanagement(enp0s8)2つのインターフェースが認識されていることを確認
# ip a
/etc/sysconfig/network-scripts/ifcfg-enp0sx
をそれぞれ以下のように編集。
【provider NW(ifcfg-enp0s3)】
外部NWなのでDHCP有効にする。
TYPE=Ethernet BOOTPROTO=dhcp NAME=enp0s3 DEVICE=enp0s3 ONBOOT=yes
【management NW(ifcfg-enp0s8】
内部NWは固定IPで。
こちらと同様に192.168.56.100をopenstack各サービスのエンドポイントにする。
TYPE=Ethernet BOOTPROTO=static NAME=enp0s8 DEVICE=enp0s8 ONBOOT=yes IPADDR=192.168.56.100 NETMASK=255.255.255.0
firewalldの自動起動停止/起動停止。
外部ネットワークとアクセス可にする。
# systemctl disable firewalld
# systemctl stop firewalld
ネットワーク設定の反映
# systemctl enable network
# systemctl start network
NetworkManagerの自動起動停止/起動停止。
固定IPをネットワークカードに割り振るのでこれも無効にする。
※6/3追記
NetworkManagerを止める前に、ip a叩いてホストオンリーアダプタにIPアドレスが振られているか確認する。
振られていない場合はnmtui等でstaticにアドレスを割り振る→NWプロセス上げ直し→再確認した上でNMを停止。
networkmanager上げなおし→staticでアドレス振る→ip aで今度こそ付与されてること確認→NM 再disでうまくいきましたとさ。
— niao (@niao28790890) 2019年6月1日
# systemctl disable NetworkManager
# systemctl stop NetworkManager
SELinux無効化
# setenforce 0 # vi /etc/selinux/config SELINUX=disabled
openstackインスト
centosの場合は以下、
# yum install -y centos-release-openstack-stein
yum-config-managerを使用するのでyum-utilsインスト
yum install -y yum-utils
openstack-steinリポジトリを有効化。
# yum-config-manager --enable openstack-stein
パッケージ全体を更新。
# yum update -y
packstackインスト。
# yum install -y openstack-packstack
今回はheat*3の検証を行いたいのでanswer fileを生成して、インストされるかどうか確認。
# packstack --gen-answer-file=answer.txt
また、デフォルトではmanagement intにprovider intのアドレスがアサインされてしまう(10.0.2.15)ので、全て192.168.56.100に置換する。
※6/3追記
IPアドレス以外で、今回answerファイルを書き換えた箇所は以下
# Specify 'y' to install OpenStack Data Processing (sahara). In case # of sahara installation packstack also installs heat.['y', 'n'] CONFIG_SAHARA_INSTALL=y # Specify 'y' to install OpenStack Orchestration (heat). ['y', 'n'] CONFIG_HEAT_INSTALL=y # Specify 'y' to install OpenStack Container Infrastructure # Management Service (magnum). ['y', 'n'] CONFIG_MAGNUM_INSTALL=y # Specify 'y' to install OpenStack Database (trove) ['y', 'n'] CONFIG_TROVE_INSTALL=y
今回はもちろん入れるheatに加え、コンテナ周り&DB周りも触る可能性があるのでsahara,magnum,troveをオンにする
— niao (@niao28790890) 2019年6月1日
openstackインスト。
30-60分程度かかるとのこと。
# packstack --answer-file=answer.txt
※6/3追記
当環境では30分位でインスト完了。
無事終わったらhorizon*4経由でログイン出来るはず。
http://192.168.56.100/dashboard/
ログイン情報は/root/keystonerc_admin
にあり。
※6/3追記
無事ここまで辿り着いたらNMを再度有効にする。
(これを忘れると、次回起動時にIPアドレスがホストオンリーアダプタにアサインされない!)
# systemctl enable NetworkManager
# systemctl start NetworkManager
この次
実際にマシンが届いたら構築して追記する予定。
実際の構築でドはまりしませんように…
※6/3追記
次はOpenStack内の認証、セキュリティ、NW諸々の整備とheatの簡単な検証かなー
と、言いたいとこですが…
物理マシンのwin10でcritical process diedというかなりやばい事象が頻発してるので、その対処しないとorz
更新履歴
2019/5/20: 手順公開
2019/6/3: 構築完了により手順追記