microstackを使ってMulti-nodeのopenstackをAWSに構築する


目的

microstackを使ってMulti-nodeのopenstackをAWSに構築する

参考

手順

microstackのrequirementsを確認
https://microstack.run/docs/multi-node

AWSでVMを作る(3つ)

  • 3台構成で作ってみる
  • control node x1, compute node x2用にVMを作る

AMIの選択

ubuntu20.04を選択

instance type

2CPU, 8G Memoryを選択

storage

100Gにする

作った3つのVM間でnetwork疎通ができるようにAWSのsecurity groupを設定する

スクショ省略

control node作成

control nodeにするVMで実施

bash
# snapでmicrostackをinstall
$ sudo snap install microstack --devmode --beta

# microstackのcontrol nodeをinstall
$ sudo microstack init --auto --control

# compute nodeがjoinする際に使うconnection-stringを確認(後でcompute nodeをinstallする時に使う)
$ sudo microstack add-compute
Use the following connection string to add a new compute node to the cluster (valid for 20 minutes from this moment):
hKhob3N0bmFtZa0xMC4yNDYuMTE0LjEwq2ZpbmdlcnByaW50xCAdnnsr99XBP9rLu0/+McUBiXTr4TG7ScdsMZJCgzpLzKJpZNkgNzFkMTY3YjU0ZmUwNGY2ZDgyODM0MGY4MmE0ZjE5NWamc2VjcmV02SBjN1ZuTUhnV1o3bmw3aX
puMXFTd3NxNncwRjE3ZG80OQ==

compute node作成

compute nodeにするVM x2で実施
は上のsudo microstack add-computeの実行結果の文字列に置き換える

bash
# snapでmicrostackをinstall
$ sudo snap install microstack --devmode --beta

# microstackのcompute nodeをinstall
$ sudo microstack init --auto --compute --join <connection-string>

状態確認

bash
# control nodeで実施。compute node x2含めて見えればOK
$ microstack.openstack hypervisor list
+----+----------------------------------------------------+-----------------+-----------------+-------+
| ID | Hypervisor Hostname                                | Hypervisor Type | Host IP         | State |
+----+----------------------------------------------------+-----------------+-----------------+-------+
|  1 | ip-xxx-xxx-xxx-xxx.ap-northeast-1.compute.internal | QEMU            | xxx.xxx.xxx.xxx | up    |
|  2 | ip-xxx-xxx-xxx-xxx.ap-northeast-1.compute.internal | QEMU            | xxx.xxx.xxx.xxx | up    |
|  3 | ip-xxx-xxx-xxx-xxx.ap-northeast-1.compute.internal | QEMU            | xxx.xxx.xxx.xxx | up    |
+----+----------------------------------------------------+-----------------+-----------------+-------+

httpでhorizonにloginしてみる

horizonにloginする際のpasswordを取得

bash
$ sudo snap get microstack config.credentials.keystone-password
xxxxxxxxxx

httpでcontrol nodeにアクセスする

http://[control nodeのip]

最後に

microstackを使うことで非常に簡単にopenstackのmulti node環境を構築できました。