This guide explains how to deploy ScalarDL Ledger and ScalarDL Auditor on Azure Kubernetes Service (AKS).

In this guide, you will create one of the following three environments in your Azure environment. To make Byzantine fault detection work properly, we recommend deploying ScalarDL Ledger and ScalarDL Auditor on different administrative domains (i.e., separate environments).

  • Use different Azure accounts (most recommended way)

    image

  • Use different Azure Virtual Networks (VNets) (second recommended way)

    image

  • Use different namespaces (third recommended way)

    image

Note: This guide follows the second recommended way, “Use different VNets.”

Step 1. Get the ScalarDL Ledger and ScalarDL Auditor container images

You must get the ScalarDL Ledger and ScalarDL Auditor container images. For details, see How to get the container images of Scalar products.

Step 2. Create an AKS cluster for ScalarDL Ledger

You must create an AKS cluster for the ScalarDL Ledger deployment. For details, see Guidelines for creating an AKS cluster for Scalar products.

Step 3. Create an AKS cluster for ScalarDL Auditor

You must also create an AKS cluster for the ScalarDL Auditor deployment. For details, see Guidelines for creating an AKS cluster for Scalar products.

Step 4. Set up a database for ScalarDL Ledger

You must prepare a database before deploying ScalarDL Ledger. Because ScalarDL Ledger uses ScalarDB internally to access databases, refer to ScalarDB Supported Databases to see which types of databases ScalarDB supports.

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

Step 5. Set up a database for ScalarDL Auditor

You must also prepare a database before deploying ScalarDL Auditor. Because ScalarDL Auditor uses ScalarDB internally to access databases, refer to ScalarDB Supported Databases to see which types of databases ScalarDB supports.

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

Step 6. Create a bastion server for ScalarDL Ledger

To execute some tools for deploying and managing ScalarDL Ledger on AKS, you must prepare a bastion server in the same VNet of the AKS cluster that you created in Step 2. For details, see Create a Bastion Server.

Step 7. Create a bastion server for ScalarDL Auditor

To execute some tools for deploying and managing ScalarDL Auditor on AKS, you must prepare a bastion server in the same VNet of the AKS cluster that you created in Step 3. For details, see Create a Bastion Server.

Step 8. Create network peering between two AKS clusters

To make ScalarDL work properly, ScalarDL Ledger and ScalarDL Auditor need to connect to each other. You must connect two VNets by using virtual network peering. For details, see Configure Network Peering for ScalarDL Auditor Mode.

Step 9. Prepare custom values files for the Scalar Helm Charts for both ScalarDL Ledger and ScalarDL Schema Loader

To perform tasks, like accessing information in the database that you created in Step 4, you must configure custom values files for the Scalar Helm Charts for both ScalarDL Ledger and ScalarDL Schema Loader (for Ledger) based on your environment. For details, see Configure a custom values file for Scalar Helm Charts.

Step 10. Deploy ScalarDL Ledger by using the Scalar Helm Chart

Deploy ScalarDL Ledger on your AKS cluster by using the Helm Chart for ScalarDL Ledger. For details, see Deploy Scalar products using Scalar Helm Charts.

Note: We recommend creating a dedicated namespace by using the kubectl create ns scalardl-ledger command and deploying ScalarDL Ledger in the namespace by using the -n scalardl-ledger option with the helm install command.

Step 11. Prepare custom values files for the Scalar Helm Charts for both ScalarDL Auditor and ScalarDL Schema Loader

To perform tasks, like accessing information in the database that you created in Step 5, you must also configure a custom values files for the Scalar Helm Chart for both ScalarDL Auditor and ScalarDL Schema Loader (for Auditor) based on your environment. For details, see Configure a custom values file for Scalar Helm Charts.

Step 12. Deploy ScalarDL Auditor by using the Scalar Helm Chart

Deploy ScalarDL Auditor on your AKS cluster by using the Helm Chart for ScalarDL Auditor. For details, see Deploy Scalar products using Scalar Helm Charts.

Note: We recommend creating a dedicated namespace by using the kubectl create ns scalardl-auditor command and deploying ScalarDL Auditor in the namespace by using the -n scalardl-auditor option with the helm install command.

Step 13. Check the status of your ScalarDL Ledger deployment

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

Step 14. Check the status of your ScalarDL Auditor deployment

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

Step 15. Monitor your ScalarDL Ledger deployment

After deploying ScalarDL Ledger in your AKS 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 16. Monitor your ScalarDL Auditor deployment

After deploying ScalarDL Auditor in your AKS 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.

Remove ScalarDL Ledger and ScalarDL Auditor from AKS

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