Build Process

This section shows you how to build the reference architecture.

Prerequisites

Before starting the deployment, ensure you have the following:

  • Terraform 1.5.7+: For infrastructure deployment

  • kubectl 1.27+: For communicating with the Kubernetes cluster

  • AWS CLI 1.32+: Command-line interface for AWS

  • Helm v3: Package manager for Kubernetes

  • Access to an AWS account: With permissions to create and manage resources

  • AWS Route 53 public zone: For DNS management

  • S3 bucket: For Terraform state storage

  • DynamoDB table: For Terraform state locking

Deployment Steps

Execute the following Terraform commands in sequence:

  1. Complete the Terraform Configuration steps.

  2. Configure the TFVAR_FILE environment variable:

    shell
    export TFVAR_FILE=/path/to/myfile.tfvars
  3. Initialize Terraform:

    shell
    terraform init
  4. Deploy the AWS infrastructure:

    shell
    terraform apply -target module.vpc -target module.msk -target module.eks

    The EKS module will also create a kubeconfig file in the root module directory. This file can then be used to interact with the EKS cluster.

  5. Deploy Pre-install Components:

    shell
    terraform apply -target module.pre-install
  6. Deploy LogScale CRDs:

    shell
    terraform apply -target module.logscale.module.crds
  7. Deploy LogScale:

    shell
    terraform apply -target module.logscale

Confirm the deployment was successful. You can run the following commands to ensure pods are running:

shell
export KUBECONFIG=./kubeconfig
kubectl get pods -n logging

Or access the LogScale cluster at the following URL: https://<hostname>.<route53_zone>

.