Warning

This version of ScalarDB is no longer supported. For details, see the Release Support Policy.

How to deploy ScalarDB Cluster

This document explains how to deploy ScalarDB Cluster by using Scalar Helm Charts. For details on the custom values file for ScalarDB Cluster, see Configure a custom values file for ScalarDB Cluster.

Deploy ScalarDB Cluster

helm install <RELEASE_NAME> scalar-labs/scalardb-cluster -n <NAMESPACE> -f /<PATH_TO_YOUR_CUSTOM_VALUES_FILE_FOR_SCALARDB_CLUSTER> --version <CHART_VERSION>

Upgrade a ScalarDB Cluster deployment

helm upgrade <RELEASE_NAME> scalar-labs/scalardb-cluster -n <NAMESPACE> -f /<PATH_TO_YOUR_CUSTOM_VALUES_FILE_FOR_SCALARDB_CLUSTER> --version <CHART_VERSION>

Delete a ScalarDB Cluster deployment

helm uninstall <RELEASE_NAME> -n <NAMESPACE>

Deploy your client application on Kubernetes with direct-kubernetes mode

If you use ScalarDB Cluster with direct-kubernetes mode, you must:

  1. Deploy your application pods on the same Kubernetes cluster as ScalarDB Cluster.
  2. Create three Kubernetes resources (Role, RoleBinding, and ServiceAccount).
  3. Mount the ServiceAccount on your application pods.

This method is necessary because the ScalarDB Cluster client library with direct-kubernetes mode runs the Kubernetes API from inside of your application pods to get information about the ScalarDB Cluster pods.

  • Role

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      name: scalardb-cluster-client-role
      namespace: <your namespace>
    rules:
      - apiGroups: [""]
        resources: ["endpoints"]
        verbs: ["get", "watch", "list"]
    
  • RoleBinding

    apiVersion: rbac.authorization.k8s.io/v1
    kind: RoleBinding
    metadata:
      name: scalardb-cluster-client-rolebinding
      namespace: <your namespace>
    subjects:
      - kind: ServiceAccount
        name: scalardb-cluster-client-sa
    roleRef:
      kind: Role
      name: scalardb-cluster-role
      apiGroup: rbac.authorization.k8s.io
    
  • ServiceAccount

    apiVersion: v1
    kind: ServiceAccount
    metadata:
      name: scalardb-cluster-client-sa
      namespace: <your namespace>