K2HDKC DBaaS with Trove 環境構築
Trove(Trove is Database as a Service for OpenStack)と連携するK2HDKC DBaaS with Trove (Database as a Service for K2HDKC)の環境構築について説明します。 この K2HDKC DBaaS with Trove は、Trove(Trove is Database as a Service for OpenStack) にDatabaseのひとつとして 分散KVSである K2HDKC を組み込んだシステムです。
必要となる周辺システム
K2HDKC DBaaS の環境を構築するためには、OpenStack が動作している環境が必要になります。
また、OpenStack は、Trove(Trove is Database as a Service for OpenStack) を組み込み利用します。
必要となる周辺のシステムを以下に示します。
Trove(Trove is Database as a Service for OpenStack) 環境
OpenStack の環境を準備し、これに Trove(Trove is Database as a Service for OpenStack) を組み込んだ環境が必要となります。
Trove(Trove is Database as a Service for OpenStack) は、K2HDKC DBaaS リポジトリのパッチを適用した状態で起動します。
そして、K2HDKC DBaaS リポジトリで提供するTroveのゲストOSイメージを作成し、K2HDKCサーバーノード用のOSイメージとして登録しておく必要があります。
K2HR3 システム
K2HDKC DBaaS は、バックエンドとしてK2HR3 システムと連携します。
このK2HR3 システムは、OpenStackのコンポーネントおよびインスタンス(Virtual Machine
)からアクセスできるネットワーク環境に準備してください。
動作環境条件
私たちは、K2HDKC DBaaSをCentOS 8.2を使い、確認しています。
また、K2HDKC DBaaSは、OpenStack Ussuriを使います。
これ以外の環境をお使いの場合、動作しない可能性があります。
不具合などを見つけた場合は、Issueを送ってください。
試用環境の構築
K2HDKC DBaaS は、OpenStackのDevStack を使い、簡単に試用環境を構築できます。
Trove(Trove is Database as a Service for OpenStack) は、DevStack を使うように設計されており、K2HDKC DBaaSも同様にDevStack を使い、試用環境を構築できます。
Trove(Trove is Database as a Service for OpenStack) に K2HDKC DBaaS を組み込むためのパッチと、バックエンドで利用するK2HR3 システムの試用環境構築のためのスクリプトを提供します。
試用環境に必要なシステム
K2HDKC DBaaS 試用環境には、16GB程度のメモリ、120GB程度のディスクサイズの環境を準備してください。
試用環境を構築するためには、DevStackが動作する環境を準備してください。
準備する環境が、OpenStackで作成されたVirtual Machineなどの場合は、Nested Virtualizationなどを参考にして環境を整えてください。
試用環境の構築
以下に示す手順で、K2HDKC DBaaS の環境の構築ができます。
(1) K2HDKC DBaaS リポジトリの展開
試用環境を構築するために、1台のHOST(もしくはVirtual Machine
)を準備します。
(以降の説明で<hostname or ip address>
と記述された分は、すべてこのHOSTを意味します。)
試用環境を構築するHOSTに、K2HDKC DBaaS リポジトリ を展開します。
$ git clone https://github.com/yahoojapan/k2hdkc_dbaas.git
(2) OpenStackコントローラノードのHOST設定
試用環境を構築するHOSTでは、Troveの機能を含むOpenStackのコントローラノードを動作させます。
試用環境のHOSTをこれらのプロセスが動作できるように環境を整えます。
$ cd k2hdkc_dbaas/utils
$ ./custom_devstack_setup_1.sh
スクリプトを実行後、試用環境のHOSTは自動的に再起動されます。
(3) OpenStackコントローラノードの構築
K2HDKC DBaaS の機能を含むTroveを組み込んだOpenStackコントローラノードを起動します。
この過程でK2HDKC DBaaSのためのTroveゲストOSイメージ
が作成され、自動的にTroveおよびOpenStackにOSイメージとして登録されます。
$ cd k2hdkc_dbaas/utils
$ sudo install -o stack -g stack *.sh -v /opt/stack
$ sudo su - stack
$ ./custom_devstack_setup_2.sh
スクリプトの実行完了後、K2HDKC DBaaS の機能を含むTroveを組み込んだOpenStackコントローラノードのすべてが起動しています。
OpenStackコントローラノードの起動は、Dashboard(Troveパネルが組み込まれています)にアクセスして確認できます。
URL: http://<hostname or ip address>/
この段階では、まだK2HR3 システムを構築していないため、K2HDKC DBaaSは動作しません。
(4) K2HR3 システム構築
最後に、K2HDKC DBaaS のバックエンドとして動作するK2HR3 システムを構築します。
K2HR3 システムは、上記で構築したOpenStackの払い出す1つのインスタンス(Virtual Machine
)で動作するように構築されます。
$ sudo su - stack
$ ./k2hr3_pack_setup.sh
このスクリプトは、途中であなたにブラウザでアクセスするためのhostnameもしくはIPアドレスを確認します。
表示されているhostnameやIPアドレスと異なる値を使う場合には、この確認で修正することができます。
スクリプトの実行完了後、試用環境を構築したHOSTを経由して、K2HR3 Web Applicationにアクセスすることができます。
以下のように確認することができます。
URL: http://<hostname or ip address>:28080/
(5) 確認
(3)で示したTrove Dashboardおよび、(4)で示すK2HR3 Web Applicationにアクセスできれば、試用環境の構築は完了です。
試用環境を含むK2HDKC DBaaSの使い方は、次章のK2HDKC DBaaS の使い方で説明します。