PackStackでVBox上にOpenStackを構築!【ハンズオンつくってみた】

はじめに

 皆さま¡Hola! 福岡デザイン&テクノロジー専門学校の坂島悠太です。
昨今、クラウドネイティブやクラウドバイデフォルト原則を政府が推奨するなど、クラウド業界は非常に盛り上がっていますよね。
そこで私達学生は、間違いなくクラウドを理解しておかなければなりません。
でもクラウドの勉強って一体何をすれば良いのでしょう。
「AWSを触る」「クラウドの資格を取る」という声が聞こえてきそうですが、一番はいいのはやはり

オンプレミスでクラウド基盤を作ってしまうこと

だと思います。そうすることで、お金をかけず、インスタンスを作って壊すことができます。ということで今回は実際にAWSのようなクラウドシステムを比較的優しいやり方で構築する手順を一通り殴り書きしていきたいと思います。ぜひこの手順を元にOpenStackを構築し、クラウドの勉強に役立ててください!
そして次回の記事では今回作った環境を使って一緒に遊んでみましょう。

前置き

  これからの手順でホスト、VM、インスタンスという3つの言葉が出てきます。今回は、このような意味合いで使います
ホストVBOXが入っているOS(windows11)
VMVBoxを使って構築したマシン
インスタンスOpenStack上で作成したコンテナ
複雑ですねー

目次

1.今から作るシステムの概要
2.OpenStackを入れるVMの構築
3.VMにCentOSをインストール
4.作業効率化のための任意設定
5.PackStackでOpenStackを構築!
6.動作確認
7.次回予告!

1.今から作るシステムの概要

 まずはシステムの概要です。
構築するシステムを積み上げてみると下図のような感じです。
つまり、Windows 11の中にVBoxを使ってubuntuを立ち上げます。そのubuntuにPackStackをインストールし、OpenStackを展開します。
読んでいてよくわからないという方も大丈夫です。今回の構築手順を終わらせ、次回のハンズオンで遊んでいるうちに少しずつpackstackのことがわかっていきます。

2.OpenStackを入れるVMの構築

 早速構築を始めていきましょう。
使用したVBoxのバージョンは7.0.10です
そして下図は作成するVMの概要です。
このようなVMを作成してください。
あくまでもクラウド基盤を作成するので、スペックに余裕を持たせましょう。
今回はCPU4コア、メモリ8GB、HDD100GBを割り当てました。

CentOS-Stream-8のisoはこちらのリンクからダウンロード可能です。↓
http://isoredirect.centos.org/centos/8-stream/isos/x86_64/
ミラーサイトを選んでから、CentOS-Stream-8-x86_64-latest-boot.isoをダウンロードしてください

3.VMにCentOSをインストール

 VMが用意できましたらVMを開いて、インストールウィザードを開始します。
言語を選択したら設定の一覧が開きます。
ネットワークとホスト名という項目では、2つのネットワークインターフェースを有効にしておいてください。そしてrootのパスワードを設定し、インストールするソフトウェアを選択します。ちょうど仮想化ホストというのがあったので、今回はこちらを選びました。
※インストールが完了しましたら、ここらでVMのスナップショットをとっておくと、万が一の場合に役立ちます。

4.任意の設定

 次は、任意の設定ですが、作業が楽になる設定をご紹介いたします。VirtualBoxのポートフォワーディングの設定画面を開いてください
このように、22番ポートをポートフォワーディングし、ホストからSSH接続できるようにすることで、Tera Termなどでコンソールを操作できるので、コピペができたり、楽に作業をしたりすることができます。

5.PackStackでOpenStackを構築!

 それでは本題に入りまして、RDOのインストールをしていくことにしましょう。手順はRDOprojectが公開しているものを参考にします。
まずはネットワークをOpenStack用に下準備します。
sudo dnf install network-scripts -y
sudo systemctl disable firewalld
sudo systemctl stop firewalld
sudo systemctl disable NetworkManager
sudo systemctl stop NetworkManager
sudo systemctl enable network
sudo systemctl start network
次にpowertoolsというリポジトリを有効にしてOpenStackリポジトリをセットアップします。
sudo dnf config-manager --enable powertools
sudo dnf install -y centos-release-openstack-yoga
sudo dnf update -y
そして、Packstack Installerをインストールします
sudo dnf install -y openstack-packstack
次にSELinuxをpermissive(無効に近いモード)にするコマンドを打ちます。
sudo setenforce 0
このコマンドは、公式の手順では、CentOS-stream-9の方を対象に実行するよう要求されていましたが、私のCentOS-stream-8の環境では、このコマンドを打たなければインストールに失敗してしまいました。
再起動した際にもこの変更が有効になるように、
vimで/etc/selinux/configを開き、
SELINUX=enforcing

SELINUX=disabled
に変更しましょう
それではこのコマンドでpackstackを使ってOpenStackインストールを実行しましょう。
sudo packstack –allinone
実行後、インストール完了までかなり時間がかかります。
プロンプトが戻ってきたらインストール完了です。
赤文字でVPNaasプラグインが使用できないという赤文字の注意書きが表示されますが、今回は気にしなくて大丈夫です。
これでOpenStackの展開は完了しました!
これから遊んで壊しても大丈夫なように、VMのスナップショットをとっておきましょう!

6.動作確認

 では、動作の確認をしてみましょう。そのためにはまず、VMの80番ポートにでホストと通信できるようにする必要があるので、VirtualBoxの設定を開いてください。

先ほどSSHのポートを開いた時と同じように、80番ポートをポートフォワーディングします。設定後再起動は必要ありません。これで準備完了です。ホスト側(筆者の環境ではwindows)のブラウザでhttp://localhost/ にアクセスしてみてください。
※ブラウザの設定によってはhttpsに強制的にリダイレクトされてしまうようなので注意が必要です。
アクセスできると、下図のような認証画面が表示されます。
ここで入力するパスワードは、VMの/root/keystonerc_adminファイルの中にあるOS_PASSWORD=の欄に載っています。
この認証情報を使い、認証が完了すると、下図のようなダッシュボードが表示されます!
これで構築の確認ができました! 

7.次回!

予告した通り、次回はこの環境でホームネットワークのようなネットワークを構築するハンズオンを計画しています。