Containers

Introducing the Amazon EKS Workshop

Today we are delighted to announce the redesigned Amazon EKS Workshop, a Kubernetes-focused workshop created to familiarize you with Amazon Elastic Kubernetes Service (Amazon EKS) and related open-source technologies. The new workshop replaces the existing one, which is fully deprecated but continues to be accessible at archive.eksworkshop.com. The Amazon EKS Workshop is completely redesigned with newly developed modules, a streamlined Command Line Interface (CLI) experience for participants, and infrastructure improvements to deploy workshop prerequisites.

What is the Amazon EKS Workshop?

The Amazon EKS Workshop is built to help users learn about Amazon EKS features and integrations with popular open-source projects. The workshop is abstracted into high-level learning modules, including Networking, Security, Cost Optimization, DevOps Automation, and more. These are further broken down into standalone labs focusing on a particular feature, tool, or use-case. For example, you can find a lab for Karpenter, an open-source cluster autoscaler, in the Cost Optimization module. To ensure a consistent and predictable learning experience, the Amazon EKS Workshop closely adheres to the following tenets:

Tenets

  • Modular: The workshop is made up of standalone modules that can be individually completed, allowing you to start at any module and easily switch between them.
  • Consistent sample app: The workshop uses the same sample retail store application across all modules: AWS Containers Retail Sample.
  • Amazon EKS-focused: Although the workshop covers some Kubernetes basics, it primarily focuses on familiarizing the user with concepts directly related to Amazon EKS.
  • Continuously tested: We automatically test the infrastructure provisioning and CLI steps in the workshop, allowing us to keep the workshop updated and tracking the latest versions of Amazon EKS.

How to get started with the Amazon EKS Workshop

We designed the workshop for users with a basic understanding of containers and Kubernetes. As a primer to this workshop, users can learn the basics about containers, Kubernetes, and Amazon EKS with the Learn Kubernetes and EKS playlist hosted on “Containers from the Couch”.

Prerequisites

  • An active AWS account with administrative permissions
  • A basic understanding of containers and Kubernetes
  • Terraform v1.3.x (installation instructions here)

To start the Amazon EKS Workshop, you’ll first need to deploy the Amazon EKS cluster environment. To automate these steps, the workshop follows infrastructure as code (IaC) best practices leveraging Terraform, an open-source tool to manage cluster creation and other prerequisites. We decided to use Terraform as a large number of Amazon EKS customers are already using Terraform today, and we expect the workshop to serve as an example for how to configure an Amazon EKS cluster and its various add-ons and integrations.

Under the hood, Terraform uses Amazon EKS Blueprints for Terraform, allowing you to easily bootstrap the Amazon EKS cluster. The workshop cluster is provisioned with a number of these tools and configurations ready to go, including managed node groups, an Amazon Fargate profile, Karpenter, Kubernetes Cluster Autoscaler, Kubecost, Crossplane, various Amazon EKS add-ons, and more. This means you spend less time installing, and more time navigating and learning the workshop material.

To learn how to deploy the cluster environment with Terraform, refer to the Getting Started instructions on the Amazon EKS Workshop.

Amazon EKS Workshop features

Streamlined CLI and integrated development environment (IDE) experience

Once your workshop environment is deployed, most of the lab is completed through CLI commands. For every command in the workshop, you can easily left click anywhere in the instruction to copy the command, or press the clipboard on the top right to copy all commands.

A picture of a workshop CLI instruction, showing the "Copy Command" feature.

To reduce the amount of set-up time to start working through the workshop, we recommend using AWS Cloud9, a cloud-based integrated development environment that’s provisioned with Terraform as part of the workshop environment. The AWS Cloud9 IDE comes preloaded with all the binaries you’ll need for the workshop, including CLI tools like kubectl, aws, eksctl, and more.

Kustomize

Kubernetes is configured using declarative YAML files, and most of the workshop modules include steps to update the cluster’s YAML configuration. To streamline the edits for YAML files, we leverage Kustomize, an open-source configuration management tool that’s built into the kubectl CLI. This enables us to not only apply changes easily, but also easily see exactly what has changed.Environment reset

After completing a module, you can easily switch to other modules by running the reset-environment command. This command cleans up any artifacts in your cluster and returns it to the initial state. This allows you to easily jump between any module in the workshop, and even clean up an uncompleted module.

Contributing to the Amazon EKS Workshop

If you’d like to contribute to the Amazon EKS Workshop, then please take a look at our contribution guidelines. To align with the AWS open-source community values, we limit contributions to open-source tooling or vendor products/services that have an open-source component and/or are widely recognized as a standard.

Conclusion

With the new Amazon EKS Workshop, customers now have a reliable and continuously tested hands-on approach to learning about Amazon EKS and its ecosystem of open-source tooling. Get started today with the self-guided experience by using Terraform to deploy the workshop environment and then follow the step-by-step instructions in the standalone workshop modules.

Get started with the workshop: eksworkshop.com

Learn more about the project and start contributing: github.com/aws-samples/eks-workshop-v2.

To participate in an AWS-hosted version of Amazon EKS Workshop, reach out to your AWS account representative.