Amazon EKS - Traffic Routing with Istio

Lab Steps

lock
Logging in to the Amazon Web Services Console
lock
Connecting to the Virtual Machine using EC2 Instance Connect
lock
Reviewing Amazon EKS Resources Automatically Created
lock
Installing Kubernetes Management Tools and Utilities
lock
Traffic Routing using Istio

The hands-on lab is part of this learning path

Ready for the real environment experience?

DifficultyIntermediate
Time Limit2h
Students10

Description

Istio is an open source, multi-cloud service mesh, capable of performing intelligent traffic management. Istio's traffic routing rules let you easily control the flow of traffic and API calls to and from deployed cluster resources.

In this Lab scenario, you'll learn how to use Istio to perform traffic routing to a pair of sample web applications, V1 and V2, deployed into a Kubernetes cluster. You'll first setup a traffic routing policy to balance traffic evenly (50/50) across both versions. You'll test and confirm that the traffic is indeed evenly split before later updating the traffic routing policy to use a 80/20 split.

You'll also learn how to deploy and setup Kiali, a web application that allows you to manage, visualise, and troubleshoot Istio service mesh configurations.

Learning Objectives

Upon completion of this Lab, you will be able to:

  • Use Istio to perform traffic routing across a pair of versioned sample web applications 
  • Configure and deploy the following Istio custom resources:
    • Gateway - a load balancer which operates at the mesh edge - allows inbound external traffic into the service mesh
    • VirtualService - a set of traffic routing rules to apply when a host is addressed
    • DestinationRule - policies that are applied to traffic intended for a service after routing has occurred
  • Test, report, and validate the Istio service mesh based traffic routing using the curl command and your workstation's browser
  • Use Kiali to manage, visualise, and troubleshoot Istio service mesh configurations

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

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
      • 2 x EC2 Worker Nodes
  • 2 x EC2 instances
    • eks.launch.instance - used to launch the EKS cluster
    • cloudacademylabs - used to provide an SSH based terminal

 

About the Author
Students75133
Labs49
Courses110
Learning paths56

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, GCP, Azure), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, GCP, and Kubernetes.