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

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.

Project Details

Industry
E-commerce

Technologies Used

AWS EKSAWS Load Balancer ControllerKubernetes ServiceExternal DNSApplication Load BalancerAWS Route 53

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.