Skip to content

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.
  • Labs icon Lab
  • A Cloud Guru
Google Cloud Platform icon
Labs

Launching an Amazon EKS Cluster

Elastic Kubernetes Service (EKS) is a fully managed Kubernetes service from AWS. In this lab, you will work with the AWS command line interface and console, using command line utilities like `eksctl` and `kubectl` to launch an EKS cluster, provision a Kubernetes deployment and pod running instances of `nginx`, and create a `LoadBalancer` service to expose your application over the internet. Course files can be found here: <https://github.com/ACloudGuru-Resources/Course_EKS-Basics> [Kubernetes Cheat Sheet](https://acloudguru.com/blog/engineering/kubernetes-cheat-sheet) Note that us-east-1 can experience capacity issues in certain Availability Zones. Since the AZ numbering (lettering) system differs between AWS accounts we cannot exclude that AZ from the lab steps. If you *do* experience an *UnsupportedAvailabilityZoneException* error regarding capacity in a particular zone, you can add the --zone switch to eksctl create cluster and specify three AZs which do not include the under-capacity zone. For example, `eksctl create cluster --name dev --region us-east-1 --zones=us-east-1a,us-east-1b,us-east-1d --nodegroup-name standard-workers --node-type t3.medium --nodes 3 --nodes-min 1 --nodes-max 4 --managed`

Google Cloud Platform icon
Labs

Path Info

Level
Clock icon Beginner
Duration
Clock icon 1h 30m
Published
Clock icon Jul 31, 2020

Contact sales

By filling out this form and clicking submit, you acknowledge our privacy policy.

Table of Contents

  1. Challenge

    Create an IAM User with Admin Permissions

    1. Create an IAM user with programmatic access and administrator-level privileges.
    2. Take note of the access key and secret access key of your user because we will use them in the next step.
  2. Challenge

    Launch an EC2 Instance and Configure the Command Line Tools

    1. Create an EC2 instance in us-east-1region.
    2. If necessary, upgrade the AWS CLI on your EC2 instance to CLI v.2x or later.
    3. Configure the AWS CLI using the credentials of the user you just created.
    4. Install eksctl on your EC2 instance.
    5. Install kubectl on your EC2 instance.
  3. Challenge

    Provision an EKS Cluster

    1. Use eksctl to provision an EKS cluster with three worker nodes in us-east-1.
    2. Use t3.medium instance types to create your cluster.
  4. Challenge

    Create a Deployment on Your EKS Cluster

    1. Course files can be found here: https://github.com/ACloudGuru-Resources/Course_EKS-Basics
    2. Use kubectl to create a LoadBalancer service.
    3. Check the status of your LoadBalancer service using kubectl.
    4. Use kubectl to create a Deployment on your EKS cluster, using the standard nginx image EKS has available in the default Docker Hub registry.
    5. Check the status of your cluster, deployment, and pods using kubectl.
    6. When the Deployment is up and running, check that you can access your application using the DNS name of the LoadBalancer.
  5. Challenge

    Test the High Availability Features of Your EKS Cluster

    1. In the AWS Console, shut down all the worker nodes.
    2. Check the status of your cluster, deployment, and pods using kubectl.
    3. After a few minutes, you should see EKS launching new instances to keep your service running.
    4. When the cluster is back to a steady state, check that your application is up and running.

The Cloud Content team comprises subject matter experts hyper focused on services offered by the leading cloud vendors (AWS, GCP, and Azure), as well as cloud-related technologies such as Linux and DevOps. The team is thrilled to share their knowledge to help you build modern tech solutions from the ground up, secure and optimize your environments, and so much more!

What's a lab?

Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.

Provided environment for hands-on practice

We will provide the credentials and environment necessary for you to practice right within your browser.

Guided walkthrough

Follow along with the author’s guided walkthrough and build something new in your provided environment!

Did you know?

On average, you retain 75% more of your learning if you get time for practice.

Start learning by doing today

View Plans