Help improve this page
Want to contribute to this user guide? Choose the Edit this page on GitHub link that is located in the right pane of every page. Your contributions will help make our user guide better for everyone.
Learn Amazon EKS by example
Overview
This Amazon EKS User Guide contains general-purpose procedures to create your first EKS cluster from the command line or Amazon Web Services Management Console and a solid reference for all major Amazon EKS components. However, as an Amazon EKS cluster administrator or developer, you can gain a deeper understanding of Amazon EKS by following learning paths that exist in sites outside of this guide. These sites can help you:
-
Set up specific types of clusters. Specific cluster types can be based on your workload types or security requirements. For example, you may want to tune a cluster to run batch, machine learning, or compute-intensive workloads.
-
Enhance your clusters. You can add advanced features to your cluster to provide things like observability,flexible storage, autoscaling, or specialized cluster networking.
-
Automate updates. Using features like GitOps, you can set up to provision cluster infrastructure and workloads automatically, based on changes that occur to those components in your Git repositories.
-
Use advanced cluster setup tools. While
eksctl
provides a quick way to create a cluster, there are other tools that can make it easier to configure and upgrade more complex clusters. These include tools like Terraformand CloudFormation .
To start out on your Amazon EKS learning path, I recommend that you visit some of the sites described on this page. If you run into problems along the way, there are also resources to help you get through them. For example, the Re:post Knowledge Center
Amazon EKS Workshop
Starting with a basic understanding of Kubernetes and containers, the Amazon EKS workshop
-
Amazon EKS Basics: Watch the video on the Introduction
page to learn about how Amazon EKS implements Kubernetes features on the Amazon cloud. If you need an even more basic understanding of Kubernetes, watch the What is Kubernetes video. -
Amazon EKS Setup: If you have an Amazon account, the Setup
section helps you set up a CloudShell environment to you for creating a cluster. It offers a choice of eksctl (a simple cluster creation command line) and Terraform (a more infrastructure-as-code approach to creating a cluster) for creating your Amazon EKS cluster. -
Amazon EKS Getting started: Try out a simple web store from the Sample application
section. You can use this throughout the other exercises. In this section, you can also learn about packaging container images and how microservices are managed using Kubernetes Pods, Deployments, Services, StatefulSets and Namespaces. Then use Kustomize to deploy changes to Kubernetes manifests. -
Amazon EKS Fundamentals: Using Amazon features such as the Amazon Load Balancer Controller
, the workshop shows you how to expose your applications to the outside world. For storage, the workshop showcases how to use Amazon EBS for block storage, Amazon EFS for filesystem storage, and Amazon FSx for NetApp ONTAP to manage ONTAP file systems in Amazon. For node management, the workshop helps you set up Managed Node Groups . -
Amazon EKS advanced features: More advanced features offered through the Amazon EKS workshop include labs for setting up:
-
Autoscaling: This includes node autoscaling (with Cluster Autoscaler
or Karpenter ) and workload autoscaling (with Horizontal Pod Autoscaler and Cluster Proportional Autoscaler ). -
Observability: Learn about Logging
, OpenSearch , Container Insights on Amazon EKS , and Cost Visibility with Kubecost in a set of Observability labs . -
Security: This set of Security labs
let you explore Secrets Management , Amazon GuardDuty , Pod Security Standards , and Kyverno policy management . -
Networking: Learn networking features for Amazon EKS from Networking
labs that include Amazon VPC CNI (supporting network plugins) and Amazon VPC Lattice (for configuring clusters across VC and user accounts). -
Automation: Labs on Automation
step you through GitOps methods of managing your clusters and projects like Amazon Controllers for Kubernetes and Crossplane for managing Amazon EKS control planes.
-
Amazon EKS hands-on cluster setup tutorials
A set of Amazon EKS Cluster Setup tutorials
Building clusters
These tutorials help you build clusters that can be used for special purposes. These special purposes include the ability to run:
Enhancing clusters
Once you have an existing cluster, you can extend and enhance that cluster in ways that allow it to run specialized workloads and otherwise enhance the clusters. These tutorials include ways to:
Optimizing Amazon services
Using these tutorials, you can better integrate your clusters with Amazon services. These tutorials include those that help you:
Amazon EKS Samples
The Amazon EKS Samples
Keep in mind that these samples are for learning and testing purposes only and are not intended to be used in production.
Amazon Tutorials
The Amazon Tutorials
Developers Workshop
If you are a software developer, looking to create or refactor applications to run on Amazon EKS, the Amazon EKS Developers workshop
Start with the Amazon EKS Python Workshop
Terraform Workshop
While eksctl
is a simple tool for creating a cluster, for more complex infrastructure-as-code types of Amazon EKS deployments, Terraform
Amazon Amazon EKS Training
Amazon offers formal training for learning about Amazon EKS. A three-day training course entitled Running Containers on Amazon Elastic Kubernetes Service
-
Kubernetes and Amazon EKS fundamentals
-
How to build Amazon EKS clusters
-
Securing Amazon EKS with Amazon IAM and Kubernetes RBAC authorization
-
GitOps automation tools
-
Monitoring tools
-
Techniques for improving cost, efficiency, and resiliency