Warning

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

Deploy ScalarDB Cluster on Amazon Elastic Kubernetes Service (EKS)

This guide explains how to deploy ScalarDB Cluster on Amazon Elastic Kubernetes Service (EKS).

In this guide, you will create one of the following two environments in your AWS environment. The environments differ depending on which client mode you use:

  • direct-kubernetes client mode. In this mode, you deploy your application in the same EKS cluster as your ScalarDB Cluster deployment.

    image

  • indirect client mode. In this mode, you deploy your application in an environment that is different from the EKS cluster that contains your ScalarDB Cluster deployment.

    image

Step 1. Subscribe to ScalarDB Cluster in AWS Marketplace

You must get the ScalarDB Cluster container image by visiting AWS Marketplace and subscribing to ScalarDB Cluster Standard Edition (Pay-As-You-Go) or ScalarDB Cluster Premium Edition (Pay-As-You-Go). For details on how to subscribe to ScalarDB Cluster in AWS Marketplace, see Subscribe to Scalar products from AWS Marketplace.

Step 2. Create an EKS cluster

You must create an EKS cluster for the ScalarDB Cluster deployment. For details, see Guidelines for creating an Amazon EKS cluster for Scalar products.

Step 3. Set up a database for ScalarDB Cluster

You must prepare a database before deploying ScalarDB Cluster. To see which types of databases ScalarDB supports, refer to ScalarDB Supported Databases.

For details on setting up a database, see Set up a database for ScalarDB/ScalarDL deployment on AWS.

Step 4. Create a bastion server

To execute some tools for deploying and managing ScalarDB Cluster on EKS, you must prepare a bastion server in the same Amazon Virtual Private Cloud (VPC) of the EKS cluster that you created in Step 2. For details, see Create a Bastion Server.

Step 5. Prepare a custom values file for the Scalar Helm Chart

To perform tasks, like accessing information in the database that you created in Step 3, you must configure a custom values file for the Scalar Helm Chart for ScalarDB Cluster based on your environment. For details, see Configure a custom values file for Scalar Helm Charts.

Note: If you deploy your application in an environment that is different from the EKS cluster that has your ScalarDB Cluster deployment (i.e., you use indirect client mode), you must set the envoy.enabled parameter to true and the envoy.service.type parameter to LoadBalancer to access Scalar Envoy from your application.

Step 6. Deploy ScalarDB Cluster by using the Scalar Helm Chart

Deploy ScalarDB Cluster on your EKS cluster by using the Helm Chart for ScalarDB Cluster. For details, see Deploy Scalar products using Scalar Helm Charts.

Note: We recommend creating a dedicated namespace by using the kubectl create ns scalardb-cluster command and deploying ScalarDB Cluster in the namespace by using the -n scalardb-cluster option with the helm install command.

Step 7. Check the status of your ScalarDB Cluster deployment

After deploying ScalarDB Cluster in your EKS cluster, you must check the status of each component. For details, see Components to Regularly Check When Running in a Kubernetes Environment.

Step 8. Monitor your ScalarDB Cluster deployment

After deploying ScalarDB Cluster in your EKS cluster, we recommend monitoring the deployed components and collecting their logs, especially in production. For details, see Monitoring Scalar products on a Kubernetes cluster and Collecting logs from Scalar products on a Kubernetes cluster.

Step 9. Deploy your application

If you use direct-kubernetes client mode, you must deploy additional Kubernetes resources. For details, see Deploy your client application on Kubernetes with direct-kubernetes mode.

Remove ScalarDB Cluster from EKS

If you want to remove the environment that you created, please remove all the resources in reverse order from which you created them in.