K2HDKC DBaaS
K2HDKC DBaaS (Database as a Service for K2HDKC) は、K2HR3を使い、OpenStack および kubernetesと連動して、分散KVSである K2HDKC の環境を構築するDatabase as a Serviceです。
背景
Yahoo! JAPANがオープンソースとして公開する一連のプロダクト群のAntPickaxは、分散KVSである K2HDKC を公開しています。
この K2HDKC を簡単に利用できるように、DBaaS(Database as a Service)として提供することを計画しました。
そして、公開されているK2HR3は、これを実現するために十分な機能を提供しています。
私たちは、このK2HR3を中心に、OpenStack および kubernetesと連動してDBaaS(Database as a Service)を実現しました。
K2HDKC DBaaS (Database as a Service for K2HDKC) は、以下のAntPickaxプロダクトを使い、構成されています。
K2HDKC - K2Hash based Distributed Kvs Cluster
分散KVSであり、K2HDKC DBaaSの核となるプロダクトです。
CHMPX - Consistent Hashing Mq inProcess data eXchange
ネットワークを跨ぐプロセス間におけるバイナリ通信を行うための通信ミドルウエアであり、K2HDKCが内部で利用します。
K2HR3 - K2Hdkc based Resource and Roles and policy Rules
RBAC (Role Based Access Control) システムであり、K2HDKC DBaaS で作成されるK2HDKCクラスターの構成を管理します。
概要
K2HDKC DBaaS (Database as a Service for K2HDKC) が提供する DBaaS(Database as a Service) は、以下に示す4つのタイプがあります。
OpenStackと連動する K2HDKC DBaaS を2つ、kubernetesと連動するものを2つ提供します。
Trove(Trove is Database as a Service for OpenStack) 対応
OpenStack のプロダクトである Trove(Trove is Database as a Service for OpenStack) を使ったDBaaS(Database as a Service)です。
これは、Trove(Trove is Database as a Service for OpenStack)のひとつのデータベース(分散KVS)として、K2HDKC を組み込み、DBaaSを実現します。
K2HDKC DBaaS CLI(Command Line Interface) for OpenStack
OpenStackの環境を持っていることを前提とし、K2HDKC DBaaS CLI(Command Line Interface)を使って、DBaaS(Database as a Service)が実現できます。
K2HDKC DBaaS on kubernetes CLI(Command Line Interface)
すでに利用しているkubernetesクラスターや、minikube
などの試用環境に、K2HDKC DBaaS on kubernetes CLI(Command Line Interface)を使って、DBaaS(Database as a Service)が実現できます。
K2HDKC Helm Chart
すでに利用しているkubernetesクラスターや、minikube
などの試用環境に、Helm(Kubernetes用パッケージマネージャー)に対応した K2HDKC Helm Chart を使って、DBaaS(Database as a Service) を構築します。
RANCHER対応
K2HDKC Helm Chartは、RANCHER Helm Chart としても利用でき、RANCHERのリポジトリに登録できます。
RANCHERからK2HDKC Helm Chartを使い K2HDKCクラスターを簡単に構築できます。