Create and run Amazon EKS Cluster using Spot instance

Lab Details

  1. This lab walks you through the steps to create an EKS Cluster using CloudShell CLI and create the node group using the spot instance option.

  2. You will practice using the AWS Elastic Kubernetes Service cluster and install awscli, kubectl, and eksctl to get the node details.

  3. Duration: 90 minutes

  4. AWS Region: US East (N. Virginia) us-east-1

Introduction

What is Amazon EKS?

  • It is a managed container service for running and scaling Kubernetes applications.

  • Amazon EKS i.e. Elastic Kubernetes Service can be used in three ways:

    • Deploy applications with Amazon EKS in the cloud: Using AWS Fargate or Amazon EC2

    • Deploy applications with Amazon EKS anywhere: For your on-premise infrastructure

    • Deploy applications with your own tools: Using Bare metal, virtual machines, and Amazon EC2 instances

  • Since EKS is a managed service, it allows you to run Kubernetes on AWS without having to install Kubernetes.

  • It provisions and scales control plane, API Servers, and backend persistence layers across multiple AZs for high availability and fault tolerance. Also, it automatically detects and replaces the unhealthy control plane nodes for patching.
  • Amazon EKS is integrated with many AWS Services like ELB for load distribution, IAM for authentication, Amazon VPC for isolation and CloudTrail for logging.

Architecture Diagram

Task Details

  1. Launching Lab Environment

  2. Create an Environment in CloudShell.

  3. Install AWS CLI, eksctl and kubectl

  4. Create an EKS Cluster

  5. Create spot managed node groups

  6. Deploy the Kubernetes Cluster Autoscaler

  7. Deploy the sample app

  8. Delete AWS Resources