OpenStackを触ってみました。
公式HP:https://www.openstack.org/
「世界で最も広く導入されているオープンソースクラウドソフトウェア」
です。
プライベートクラウドを立ち上げるのに使われます。
AWSやGoogle Cloudのようなクラウド環境をプラベートで立てることができます。
お試しするのに簡単な方法として、Ubuntu上でDevStackというパッケージでインストールする方法があります。今回はこれを利用。
DevStack公式 : https://docs.openstack.org/devstack/latest/
今回の環境は、
Windows10上にて、Vagrantを使ってVirtualBox上の仮想環境としてUbuntuサーバーを構築。
そのUbuntuサーバー上に、DevStackでOpenStackを入れます。
環境
Windows 10
VirtualBox 7.0
Vagrant 2.4.0
Ubuntu 22.04
【1】VagrantでUbuntuサーバーを構築
Vagrantの使い方、VirtualBoxの使い方などは省略しますが、設定で変更したところなど記載します。
Vagrantの設定ファイル:Vagrantfileは以下のように修正して、
Ubuntuを立ち上げます。
...
config.vm.box = "bento/ubuntu-22.04"
config.vm.network "private_network", ip: "192.168.33.80"
...
vb.memory = "10240"
...
IPアドレス= 192.168.33.80を指定し、メモリを多めの10GBにしています。
メモリはOpenStackがたくさん使うので多めにしていますが、それぞれの環境によって調整してください。
【2】Ubuntuサーバー上で、DevStackを導入
Ubuntuサーバーが構築できた後は、Ubuntuにログインし、
https://docs.openstack.org/devstack/latest/
ここある手順を、そのまま実行すればインストールが完了します。
ただし
git clone https://opendev.org/openstack/devstack
cd devstack/
のあとで、前、local.conf に以下の行を追加してください。
HOST_IP=192.168.33.80.sh
実行するとインストールのプロセスが画面に出力されますが
最後の方に以下のように
ログインのURLや、暫定で設定されたパスワードが出てきます。
その後、以下を実行。
./stack.sh
を実行するとインストールのプロセスが画面に出力されます。
ちょっと待っていたら素直にインストール終了します。
【3】OpenStack 管理画面にログイン
インストールのプロセスの出力の最後の方に以下のようにログインのURLや、暫定で設定されたパスワードが出てきます。
...
This is your host IP address: 192.168.33.80
This is your host IPv6 address: ::1
Horizon is now available at http://192.168.33.80/dashboard
Keystone is serving at http://192.168.33.80/identity/
The default users are: admin and demo
The password: secret
...
※見逃してしまった場合、ログにも出力されますので参照してください。
このURLに、同じく出ていたアカウントでログイン
http://192.168.33.80/dashboard
admin / secret
ログイン画面
。
無事、ログインできました。
ログイン後、トップ画面のイメージ
今回、OpenStackをインストールしてみたのですが、8年くらい前にも触ってみていました。
Open Source Conference などのセミナーに聞きに行ったり。
最近はあまり見ていなかったので、どうなっているのかな、というのが今回の記事の動機です。
以前より、初心者にも入りやすくなっていそうな、そんな印象はもちました。
ただ、実際にこれを本番環境に導入していくには以前と同様に、ハードルが高い部分があるようです。
コミュニティ版はサポート期間が短く、バージョンアップが頻繁なので、追従していくには運用コストがかなりかかります。
コミュニティ版以外で、各社がサポート期間を長めに設定したものも出していますので、そういうものを利用するのも手ではないかと思います。
ただ、それでも、セキュリティ面については十分な注意が必要になりそうです。
活用方法としては、大型の本番環境でのプライベートクラウド導入が主に考えられていますが、それ以外に、グローバルから切り離された開発環境としての利用や、サーバー・ネットワーク環境の学習環境としての利用といった方法も考えられ、可能性は広く開かれているように思います。
今回はさわりだけでしたが、よかったら、試してみてください。