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-kubernetesclient mode. In this mode, you deploy your application in the same EKS cluster as your ScalarDB Cluster deployment.
indirectclient mode. In this mode, you deploy your application in an environment that is different from the EKS cluster that contains your ScalarDB Cluster deployment.
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
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.