Usage DBaaS with Trove

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 DBaaSCentOS 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 の使い方で説明します。

Usage DBaaS with Trove