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:
Complete the Terraform Configuration steps.
Configure the
TFVAR_FILEenvironment variable:shellexport TFVAR_FILE=/path/to/myfile.tfvarsInitialize Terraform:
shellterraform initDeploy the AWS infrastructure:
shellterraform apply -target module.vpc -target module.msk -target module.eksThe 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.
Deploy Pre-install Components:
shellterraform apply -target module.pre-installDeploy LogScale CRDs:
shellterraform apply -target module.logscale.module.crdsDeploy LogScale:
shellterraform apply -target module.logscale
Confirm the deployment was successful. You can run the following commands to ensure pods are running:
export KUBECONFIG=./kubeconfig
kubectl get pods -n logging
Or access the LogScale cluster at the following URL:
https://<hostname>.<route53_zone>