Install Service Catalog

The Open Service Broker API provides a standard RESTful interface for provisioning services from a provided catalog, such as Astra DB databases.

The Astra DB Service Broker supports only Kubernetes v1.13 and later.

Prerequisites

Procedure

  1. For each Kubernetes cluster, install the service catalog:

helm repo add service-catalog https://kubernetes-sigs.github.io/service-catalog
helm repo update
helm install catalog service-catalog/catalog --namespace catalog --create-namespace
  1. Create a Kubernetes secret with the service account information from Astra DB:

kubectl create secret generic astra-creds \
 --from-literal=username=unused \
 --from-literal=password=`echo '<creds>'| base64 -w 0

Replace the <service_account_credentials> with the snippet of JSON from your Astra DB service account. For example:

{
  "clientId":"<clientId>",
  "clientName":"<clientName>",
  "clientSecret":"<clientSecret>"
}
  1. Register the broker via the ServiceBroker custom resource:

svcat register astra \
  --url https://broker.astra.datastax.com/ \
  --basic-secret astra-creds

The Service Catalog automatically queries for available services on Astra DB and displays the available plan options:

svcat marketplace

returns:

NAME    NAMESPACE       CLASS                   DESCRIPTION
+-----------+-----------+----------------+------------------------------------+
A10       default     astra-database   6 vCPU, 24GB DRAM, 20GB
                                    Storage
A20       default     astra-database   12 vCPU, 48GB DRAM, 40GB
                                    Storage
...

This result shows only a portion of the available Astra DB tiers from the Service Catalog.