Skip to content
This repository has been archived by the owner on Jun 6, 2024. It is now read-only.
Bikramdeep Singh edited this page Feb 27, 2019 · 6 revisions

KubeDB:

KubeDB can operate in following fashions to provision databases:

  1. Using CRDs directly:

    Here are the instructions to install KubeDB operator using helm

  2. Using Service Broker interface:

    As per the official docs, KubeDB can be managed through the service broker shipped by AppsCode

Note: The instructions have been verified by deploying KubeDB on EKS cluster using both approaches.

Pros:

  1. Create a database declaratively using CRD as opposed to deploying helm charts.
  2. Claims production readiness
  3. Support for Backup/Restore to various cloud stores, eg, S3, GCS, Azure etc
  4. Native integration with Prometheus for monitoring via CoreOS Prometheus Operator
  5. Apply deletion lock to avoid accidental deletion of database
  6. Support for ElasticSearch and Memcached services
  7. Active community and better support

Cons:

  1. Resource overhead on the cluster(though actual resource estimation should be done)
  2. Added complexity of introducing ServiceCatalog for service broker

Further investigations/action-items:

  1. Verifying KubeDB deployment using the service broker interface alongside scf and making it available to cf api
  2. Investigate if the appscode/service-broker can be deployed independently of the ServiceCatalog
  3. Performing tests to ensure database provisioning using KubeDB in cf
  4. Checking if KubeDB can be managed using any other OSB compliant service-brokers