今回はOpenStackをインストールして環境を整備していきたいと思います。
私は普段はVMwareとOracle VM Serverしか使っていません。
なので、本番環境だけではなく検証環境でもOpenStackに触れた経験がありませんでした。
個人の検証環境があるので、今回は試していきたいと思います。
環境は以下になります。
- ESXi評価版上の仮想マシン
- OSはCentOS(最新状態)
- 4コア
- メモリ8GB
ハイパーバイザのネスト状態で使用していきます。
便利にだと感じたらVmwareから入れ替えてしまおうかなと考えてます。
OS環境整備
まずはOSのパッケージ群を最新にしていきます。
CentOSは古い7系の物ですが、KernelもUpdateされるのでOSのリビジョンが上がります。
※他のシステムでは危険なのでKernelのバージョンは安易に上げないようにしましょう。
基本的に以下のコマンドは禁止コマンドと等しいです。
[root@openstack ~]# yum update -y
結果のログは長いので省略します。
次にリブートしていきます。
[root@openstack ~]# shutdown -r now
OSのバージョンを確認するとCentOS7.4まで上がりました。
これで最新状態になっている事が分かります。
[root@openstack ~]# cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) [root@openstack ~]#
OpenStackに関するソフトウェアのリポジトリをインストールしていきます。
yumでまとめて入れていきます。
[root@openstack ~]# yum install centos-release-openstack-ocata -y 読み込んだプラグイン:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: ftp.iij.ad.jp * extras: ftp.iij.ad.jp * updates: ftp.iij.ad.jp 依存性の解決をしています --> トランザクションの確認を実行しています。 ---> パッケージ centos-release-openstack-ocata.noarch 0:1-2.el7 を インストール --> 依存性の処理をしています: centos-release-qemu-ev のパッケージ: centos-release-openstack-ocata-1-2.el7.noarch --> 依存性の処理をしています: centos-release-ceph-jewel のパッケージ: centos-release-openstack-ocata-1-2.el7.noarch --> トランザクションの確認を実行しています。 ---> パッケージ centos-release-ceph-jewel.noarch 0:1.0-1.el7.centos を インストール --> 依存性の処理をしています: centos-release-storage-common のパッケージ: centos-release-ceph-jewel-1.0-1.el7.centos.noarch ---> パッケージ centos-release-qemu-ev.noarch 0:1.0-2.el7 を インストール --> 依存性の処理をしています: centos-release-virt-common のパッケージ: centos-release-qemu-ev-1.0-2.el7.noarch --> トランザクションの確認を実行しています。 ---> パッケージ centos-release-storage-common.noarch 0:1-2.el7.centos を インストール ---> パッケージ centos-release-virt-common.noarch 0:1-1.el7.centos を インストール --> 依存性解決を終了しました。 依存性を解決しました ============================================================================================================ Package アーキテクチャー バージョン リポジトリー 容量 ============================================================================================================ インストール中: centos-release-openstack-ocata noarch 1-2.el7 extras 5.3 k 依存性関連でのインストールをします: centos-release-ceph-jewel noarch 1.0-1.el7.centos extras 4.1 k centos-release-qemu-ev noarch 1.0-2.el7 extras 11 k centos-release-storage-common noarch 1-2.el7.centos extras 4.5 k centos-release-virt-common noarch 1-1.el7.centos extras 4.5 k トランザクションの要約 ============================================================================================================ インストール 1 パッケージ (+4 個の依存関係のパッケージ) 総ダウンロード容量: 29 k インストール容量: 23 k Downloading packages: (1/5): centos-release-ceph-jewel-1.0-1.el7.centos.noarch.rpm | 4.1 kB 00:00:01 (2/5): centos-release-openstack-ocata-1-2.el7.noarch.rpm | 5.3 kB 00:00:01 (3/5): centos-release-qemu-ev-1.0-2.el7.noarch.rpm | 11 kB 00:00:00 (4/5): centos-release-storage-common-1-2.el7.centos.noarch.rpm | 4.5 kB 00:00:00 (5/5): centos-release-virt-common-1-1.el7.centos.noarch.rpm | 4.5 kB 00:00:00 ------------------------------------------------------------------------------------------------------------ 合計 14 kB/s | 29 kB 00:00:02 Running transaction check Running transaction test Transaction test succeeded Running transaction インストール中 : centos-release-virt-common-1-1.el7.centos.noarch 1/5 インストール中 : centos-release-qemu-ev-1.0-2.el7.noarch 2/5 インストール中 : centos-release-storage-common-1-2.el7.centos.noarch 3/5 インストール中 : centos-release-ceph-jewel-1.0-1.el7.centos.noarch 4/5 インストール中 : centos-release-openstack-ocata-1-2.el7.noarch 5/5 検証中 : centos-release-openstack-ocata-1-2.el7.noarch 1/5 検証中 : centos-release-qemu-ev-1.0-2.el7.noarch 2/5 検証中 : centos-release-storage-common-1-2.el7.centos.noarch 3/5 検証中 : centos-release-ceph-jewel-1.0-1.el7.centos.noarch 4/5 検証中 : centos-release-virt-common-1-1.el7.centos.noarch 5/5 インストール: centos-release-openstack-ocata.noarch 0:1-2.el7 依存性関連をインストールしました: centos-release-ceph-jewel.noarch 0:1.0-1.el7.centos centos-release-qemu-ev.noarch 0:1.0-2.el7 centos-release-storage-common.noarch 0:1-2.el7.centos centos-release-virt-common.noarch 0:1-1.el7.centos 完了しました! [root@openstack ~]#
次にPackstackを入れていきます。
ログは長くなるので今回は省きます。
[root@openstack ~]#yum install openstack-packstack -y
以下のコマンドでインストールを完了させます。
しかし、途中の処理が非常に遅いので記載していきます。
[root@openstack ~]# packstack --allinone Welcome to the Packstack setup utility The installation log file is available at: /var/tmp/packstack/20171224-194407-VIBW14/openstack-setup.log Packstack changed given value to required value /root/.ssh/id_rsa.pub Installing: Clean Up [ DONE ] Discovering ip protocol version [ DONE ] Setting up ssh keys [ DONE ] Preparing servers [ DONE ] Pre installing Puppet and discovering hosts' details [ DONE ] Preparing pre-install entries [ DONE ] Setting up CACERT [ DONE ] Preparing AMQP entries [ DONE ] Preparing MariaDB entries [ DONE ] Fixing Keystone LDAP config parameters to be undef if empty[ DONE ] Preparing Keystone entries [ DONE ] Preparing Glance entries [ DONE ] Checking if the Cinder server has a cinder-volumes vg[ DONE ] Preparing Cinder entries [ DONE ] Preparing Nova API entries [ DONE ] Creating ssh keys for Nova migration [ DONE ] Gathering ssh host keys for Nova migration [ DONE ] Preparing Nova Compute entries [ DONE ] Preparing Nova Scheduler entries [ DONE ] Preparing Nova VNC Proxy entries [ DONE ] Preparing OpenStack Network-related Nova entries [ DONE ] Preparing Nova Common entries [ DONE ] Preparing Neutron LBaaS Agent entries [ DONE ] Preparing Neutron API entries [ DONE ] Preparing Neutron L3 entries [ DONE ] Preparing Neutron L2 Agent entries [ DONE ] Preparing Neutron DHCP Agent entries [ DONE ] Preparing Neutron Metering Agent entries [ DONE ] Checking if NetworkManager is enabled and running [ DONE ] Preparing OpenStack Client entries [ DONE ] Preparing Horizon entries [ DONE ] Preparing Swift builder entries [ DONE ] Preparing Swift proxy entries [ DONE ] Preparing Swift storage entries [ DONE ] Preparing Gnocchi entries [ DONE ] Preparing MongoDB entries [ DONE ] Preparing Redis entries [ DONE ] Preparing Ceilometer entries [ DONE ] Preparing Aodh entries [ DONE ] Preparing Puppet manifests [ DONE ] Copying Puppet modules and manifests [ DONE ] Applying 192.168.11.12_controller.pp Testing if puppet apply is finished: 192.168.11.12_controller.pp [ - ]
Testing if puppet apply is finishedメッセージの表示が出てから
20分から50分程度時間がかかります。
今回はSSDの環境なのでローカルPCよりは早いと思います。
実はローカルPCのVirtual Boxでも一度インストールしましたが50分かかりました。。。
Copying Puppet modules and manifests [ DONE ] Applying 192.168.11.12_controller.pp 192.168.11.12_controller.pp: [ DONE ] Applying 192.168.11.12_network.pp 192.168.11.12_network.pp: [ DONE ] Applying 192.168.11.12_compute.pp 192.168.11.12_compute.pp: [ DONE ] Applying Puppet manifests [ DONE ] Finalizing [ DONE ] **** Installation completed successfully ****** Additional information: * A new answerfile was created in: /root/packstack-answers-20171224-194408.txt * Time synchronization installation was skipped. Please note that unsynchronized time on server instances might be problem for some OpenStack components. * Warning: NetworkManager is active on 192.168.11.12. OpenStack networking currently does not work on systems that have the Network Manager service enabled. * File /root/keystonerc_admin has been created on OpenStack client host 192.168.11.12. To use the command line tools you need to source the file. * To access the OpenStack Dashboard browse to http://192.168.11.12/dashboard . Please, find your login credentials stored in the keystonerc_admin in your home directory. * The installation log file is available at: /var/tmp/packstack/20171224-194407-VIBW14/openstack-setup.log * The generated manifests are available at: /var/tmp/packstack/20171224-194407-VIBW14/manifests [root@openstack ~]#
実行が完了するとこのこのようなログが表示されます。
また、無事に処理が完了していればローカルにパスワードが記載されたファイルが作成されます。
[root@openstack ~]# cat keystonerc_admin unset OS_SERVICE_TOKEN export OS_USERNAME=admin export OS_PASSWORD=5897cd04d38f409d export OS_AUTH_URL=http://192.168.11.12:5000/v3 export PS1='[\u@\h \W(keystone_admin)]\$ ' export OS_PROJECT_NAME=admin export OS_USER_DOMAIN_NAME=Default export OS_PROJECT_DOMAIN_NAME=Default export OS_IDENTITY_API_VERSION=3 [root@openstack ~]#
デフォルトのパスワードはexport OS_PASSWORDで指定されているパスワードになります。
ではhttp://192.168.11.12/dashboardへアクセスしインストール後の確認をしていきます。
インストール後のログイン
http://192.168.11.12/dashboardへアクセスしてみます。
画面は以下になります。
ユーザはadminでパスワードは先ほどのkeystonerc_adminファイル記載のパスワードを使用します。
ログイン後の画面は以下になります。
これでOpenStackを使える環境になりました。
カスタマイズやインスタンスの作成はまと今度書いていきたいと思います。