AWS Load Balancer Controller - External DNS & Service for PeakPulse Retail

AMJ Cloud Technologies deployed External DNS with a Kubernetes LoadBalancer Service on EKS for PeakPulse Retail, enabling automated Route 53 DNS records for a secure e-commerce microservice.

February 8, 2025
Scroll to explore

Project Details

Industry
E-commerce

Technologies Used

AWS EKSAWS Load Balancer ControllerKubernetes ServiceExternal DNSApplication Load BalancerAWS Route 53

Deploying External DNS and LoadBalancer Service for PeakPulse Retail

AMJ Cloud Technologies partnered with PeakPulse Retail, an e-commerce company, to enhance their AWS Elastic Kubernetes Service (EKS) cluster by deploying a Kubernetes LoadBalancer Service integrated with External DNS. This project automated Route 53 DNS record creation for a single DNS name (externaldns-k8s-service-demo.peakpulseretail.com) to expose PeakPulse’s frontend microservice using an Application Load Balancer (ALB). The solution replaced manual DNS management, improved scalability, and ensured secure access for their e-commerce platform.

Situation

PeakPulse Retail needed to expose their frontend microservice with a custom DNS name to handle growing customer traffic. Their existing setup relied on manual Route 53 DNS configurations, which were error-prone and time-consuming. AMJ was tasked with automating DNS registration using External DNS and a Kubernetes LoadBalancer Service, ensuring seamless integration with the AWS Load Balancer Controller for secure, scalable access to their e-commerce application.

Task

The objectives were to:

  • Create a Kubernetes Service of type LoadBalancer for the frontend microservice.
  • Annotate the Service with an External DNS hostname (externaldns-k8s-service-demo.peakpulseretail.com) for Route 53 integration.
  • Deploy and verify Kubernetes manifests.
  • Automate Route 53 DNS record creation using External DNS.
  • Test application access via the registered DNS name.
  • Complete the project within one month.

Action

Our team executed the following steps, adhering to AWS and Kubernetes best practices:

Prerequisites

  • Used PeakPulse’s EKS cluster (ecommerce-cluster, version 1.31) with the AWS Load Balancer Controller (v2.8.0) installed:
    helm install load-balancer-controller eks/aws-load-balancer-controller -n kube-system --set clusterName=ecommerce-cluster --set image.tag=v2.8.0
    
  • Installed External DNS on the EKS cluster:
    helm install external-dns external-dns/external-dns -n kube-system --set provider=aws --set aws.region=us-east-1
    

Deploy Frontend Microservice

  • Deployed PeakPulse’s frontend microservice with a ClusterIP Service and Deployment:
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: frontend-deployment
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: frontend
      template:
        metadata:
          labels:
            app: frontend
        spec:
          containers:
            - name: frontend
              image: nginx:latest
              ports:
                - containerPort: 80
    
  • Configured a LoadBalancer Service with External DNS annotations:
    apiVersion: v1
    kind: Service
    metadata:
      name: frontend-loadbalancer-service
      annotations:
        external-dns.alpha.kubernetes.io/hostname: externaldns-k8s-service-demo.peakpulseretail.com
        service.beta.kubernetes.io/aws-load-balancer-type: external
        service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
        alb.ingress.kubernetes.io/healthcheck-path: /frontend/index.html
    spec:
      type: LoadBalancer
      selector:
        app: frontend
      ports:
        - port: 80
          targetPort: 80
    
  • Applied manifests:
    kubectl apply -f manifests/
    

Deploy and Verify

  • Verified Kubernetes resources:
    kubectl get deploy,pods,svc
    
  • Checked External DNS logs for Route 53 record creation:
    kubectl logs -f $(kubectl get po -n kube-system | egrep -o 'external-dns[A-Za-z0-9-]+')
    
  • Confirmed Route 53 record set for externaldns-k8s-service-demo.peakpulseretail.com in the AWS Console.
  • Verified ALB settings in the AWS Console (EC2 > Load Balancers).

Test Application Access

  • Performed DNS resolution test:
    nslookup externaldns-k8s-service-demo.peakpulseretail.com
    
  • Verified HTTP access to the frontend microservice:
    http://externaldns-k8s-service-demo.peakpulseretail.com/frontend/index.html
    

Result

The project delivered an automated, scalable solution for PeakPulse Retail:

  • Scalability Achievement: Handled high traffic for PeakPulse’s frontend microservice with an ALB-backed LoadBalancer Service.
  • Automation Level: Fully automated DNS and LoadBalancer Service setup via External DNS and Kubernetes manifests.
  • Security Improvement: Enhanced access with health checks and secure DNS registration.

Technologies Used

  • AWS EKS
  • AWS Load Balancer Controller
  • Kubernetes Service
  • External DNS
  • Application Load Balancer
  • AWS Route 53

Key Takeaways

This case study highlights AMJ Cloud Technologies’ expertise in automating DNS management for PeakPulse Retail’s e-commerce platform. The External DNS integration with a Kubernetes LoadBalancer Service streamlined Route 53 record creation, ensuring scalable and secure access, offering a model for similar industries.


Related Case Studies

AWS Load Balancer Controller - External DNS & Ingress for ShopVibe Enterprises

AWS Load Balancer Controller - External DNS & Ingress for ShopVibe Enterprises

AMJ Cloud Technologies deployed External DNS with the AWS Load Balancer Controller on EKS for ShopVibe Enterprises, enabling automated Route 53 DNS records and SSL-secured Ingress for e-commerce microservices.

Read Case Study
Enhancing a Kubernetes-Based Healthcare Data Processing Platform

Enhancing a Kubernetes-Based Healthcare Data Processing Platform

Enhanced a healthcare data processing platform on GKE, achieving 99.95% uptime, HIPAA compliance, and 70% faster issue detection with optimized resources and observability.

Read Case Study
Deploying a Scalable E-commerce Platform with Kubernetes

Deploying a Scalable E-commerce Platform with Kubernetes

Deployed a scalable e-commerce platform using Kubernetes on EKS, achieving zero-downtime updates, automated scaling, and secure microservice communication.

Read Case Study

Ready to Transform Your Business?

Contact AMJ Cloud Technologies to optimize your software delivery and drive growth.