hands-on lab
Amazon EKS - Using the AWS Load Balancer Controller to Expose Applications
Difficulty: Intermediate
Duration: Up to 2 hours and 30 minutes
Students: 207
Rating: 4.6/5
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.
Description
The AWS Load Balancer Controller is used to help manage and control the provisioning of ALBs (Ingress resources) and NLBs (Service resources - type LoadBalancer).
In this Lab scenario, you'll learn how to deploy the AWS Load Balancer Controller into the lab provided EKS cluster using Helm. You'll then perform the following deployments within the cluster:
- Deploy a sample Web App and configure external public access to it via an Ingress cluster resource. The AWS Load Balancer Controller will provision an ALB for the Ingress resource, providing an entry point for external public HTTP (layer-7) based traffic.
- Deploy a sample TCP Echo App and configure external public access to it via a Service (type LoadBalancer) cluster resource. The AWS Load Balancer Controller will provision a NLB for the Service resource, providing an entry point for external public TCP (layer-4) based traffic.
Learning Objectives
Upon completion of this Lab, you will be able to:
- Deploy and configure the AWS Load Balancer Controller into an EKS cluster
- Deploy a sample web app and expose it publicly using an Ingress resource
- Deploy a TCP Echo App and expose it publicly using a Service (type LoadBalancer) resource
Intended Audience
This lab is intended for:
- Kubernetes practitioners
- DevOps Engineers
- SREs
Lab Prerequisites
You should be familiar with:
- Basic Linux command line administration
- Basic Kubernetes and Container-based concepts
Consider taking the following courseware in preparation for this lab:
Lab Environment
This Lab will start with the following AWS resources provisioned automatically for you:
- 1 x EKS cluster - Cluster-1 - provides a fully functional Kubernetes cluster
- 1 x NodeGroup
- 1 x EC2 Worker Node
- 1 x NodeGroup
- 2 x EC2 instances
- eks.launch.instance - used to launch the EKS cluster
- cloudacademylabs - used to provide an SSH based terminal
Updates
October 11th, 2024 - Updated Kubernetes version
December 5th, 2023 - Updated Kubernetes version
March 6th, 2023 - Updated to K8s 1.24
Environment before
Environment after
Covered topics
Lab steps
Logging In to the Amazon Web Services Console
Connecting to the Virtual Machine using EC2 Instance Connect
Reviewing Amazon EKS Resources Automatically Created
Installing Kubernetes Management Tools and Utilities
Review AWS Load Balancer Controller Config Prerequisites
Deploy AWS Load Balancer Controller
Review Web App Design
Deploy and Expose the Web App
Review TCP Echo App Design
Deploy and Expose the TCP Echo App
Connect to the TCP Echo App Externally