
Explore how to run and manage containerized workloads on AWS using Amazon EKS, with hands-on demonstrations of cluster creation, node groups, load balancing, storage, and scaling.
Explore the fundamentals of container orchestration and the challenges of managing Kubernetes at scale, and learn how Amazon ECS simplifies Kubernetes deployment with managed infrastructure, seamless integrations, and enterprise-grade capabilities.
Explore container orchestration and how Kubernetes automates deployment, scaling, and management of containerized apps with features like self-healing, load balancing, rolling updates, service discovery, and persistent storage.
Examine the limitations of native Kubernetes in production, including complex setup, manual lifecycle management, and security gaps. Compare enterprise platforms and managed services like EKS.
Discover Amazon EKS, a fully managed Kubernetes service that lets you run workloads with existing Kubernetes tools and manifests while AWS manages the control plane for high availability and security.
Explore why container orchestration matters, examine native Kubernetes limitations, and learn how Amazon ECS provides a Kubernetes service on AWS with high availability, auto scaling, security, observability, and ECR integration.
Set up the essentials to start working with Amazon ECS, provide a brief ECS architecture overview, and install the IAM roles and the tools cube, CTL, and the AWS CLI.
Understand the EKS architecture, including the control plane and worker nodes that run pods, plus AWS managed infrastructure, VPC, and kubectl setup.
Create a demo IAM role for the ECS cluster, attach the Amazon ECS cluster policy, and add the Amazon ECS VPC Resource Controller policy for the upcoming demonstration.
Create the IAM node group role for EKS worker nodes, attaching the Amazon ECS CNI policy, the Amazon EKS worker node policy, and the Amazon EC2 Container Registry read-only policy.
Install kubectl and the AWS CLI to access the Kubernetes API server for an Amazon EKS cluster, configure credentials, verify versions, and prepare for upcoming demonstrations.
Built a foundation of Amazon ECS architecture, detailing control plane and data plane, the IAM cluster rule, the Node Groups role, and installing kubectl and the AWS CLI.
Walk through hands-on tasks with Amazon ECS by creating a cluster via the AWS console, exploring the control plane, and accessing the cluster with kubectl and the AWS CLI.
Demonstrates creating a custom EKS cluster in the AWS console, selecting Kubernetes version, configuring iam roles and networking, and enabling observability and essential add-ons.
Explore the EKS UI through a hands-on cluster walkthrough, reviewing cluster details, nodes, add-ons, observability, and upgrade readiness for Kubernetes 1.31 with compatibility checks.
Upgrade the EKS cluster from version 1.31 to 1.32 after updating core DNS, kube proxy, and VPC CNI addons for compatibility; monitor progress and verify the control plane upgrade.
Configure kubeconfig using aws eks update-kubeconfig, grant IAM access, and use kubectl to connect to an EKS cluster, then verify client and server versions and node readiness.
Create an ecs cluster from the console, examine the control plane components toward the ui, upgrade the cluster version, and connect with kubectl and the aws cli.
Explore how workloads run on managed node groups and Fargate profiles, then create a node group, set up Fargate, deploy pods, and enable logging with the AWS logging ConfigMap.
Compare node groups and AWS Fargate in Amazon EKS, detailing control, scalability, networking, and cost, to guide choosing the right compute mode for workloads.
Create a managed node group to provide ready nodes for scheduling core DNS, external DNS, and the metric server, resolving pending pods.
Demonstrates creating an IAM role for an ECS Fargate profile, attaching the Fargate pod execution policy and CloudWatch Logs access so Fargate pods can publish logs to CloudWatch.
Add and configure a Fargate profile in an EKS cluster to run pods on demand, specifying namespaces, labels, and private subnets while leveraging a pod execution role.
Deploy a pod to Fargate using the Fargate profile, demonstrate scheduling in demo ns and database ns with and without a Fargate label, and observe dynamic Fargate node provisioning.
Enable fluentbit-based log shipping for Fargate pods by creating the AWS-logging configmap in the AWS observability namespace, and verify logs flow to CloudWatch log groups.
Explore two compute options in amazon ecs: managed node groups and fargate; provision ec2-based workers, define a fargate profile, deploy workloads, and configure pod logging with the aws login configmap.
expose applications in ECS using the load balancer service type, start with a classic load balancer, then update to a network load balancer with annotations, and clean up resources.
Expose Kubernetes pods to the internet with load balancer services in EKS, choosing between classic CLB and network load balancer with annotations, subnet tagging, and health checks.
Expose the application to external traffic with a Kubernetes service of type load balancer on ECS, and tag public subnets for a classic load balancer DNS name.
Configure a network load balancer using Kubernetes service annotations to replace the default classic load balancer, enabling internet-facing IP targets and direct pod routing.
Perform a clean sweep of demo namespace resources by deleting the deployment and services via manifest files, letting EKS controllers remove the associated AWS load balancers, and verify cleanup.
Expose an ECS app with a load balancer, switch to a network load balancer via service annotations, verify pod traffic in the AWS console, and clean up resources.
Learn to use Amazon EBS and EFS for persistent storage in ECS, with EBS for single-port storage using PVCs and statefulsets, and EFS for shared storage across pods and Fargate.
Explore how Kubernetes uses ephemeral and persistent storage, with Amazon EBS as the persistent block storage via the EBS CSI driver, IRSA, and stateful sets.
Configure a custom trust policy and attach the Amazon EBS CSI Driver Policy, then set up an OpenID Connect provider for service account authentication.
Install the latest EBS CSI driver on the EKS cluster, configure and annotate the service account with the IAM role, and verify the deployment to enable EBS volume provisioning.
Learn to use the EBS CSI driver on an Amazon EKS cluster to provision and attach gp2 EBS volumes via PVCs, with wait-for-first-consumer binding and delete reclaim policy.
Demonstrates dynamic persistent storage with volume claim templates in a stateful set, using the EBS CSI driver to auto-create PVCs and EBS volumes per pod.
Discover how Amazon EFS enables true shared access across pods on different nodes and Fargate, versus EBS, with a hands-on setup of the CSI driver, storage class, and PVCs.
Demonstrates using EFS as a persistent volume in EKS, creating an IAM role with export identity, installing the EFS CSI driver, and mounting a pre-created EFS file system.
Demonstrates configuring and using an elastic file system (EFS) with the EFS CSI driver in EKS to enable shared read-write-many storage across multiple pods, node groups, and Fargate profiles.
Explore how Amazon EBS provides block storage for individual pods with PVCs and StatefulSets, and how EFS enables shared storage across pods and Fargate for storage in ECS workloads.
Learn to set up AWS load balancer controller in EKS to provision an application load balancer, deploy via helm, create IAM resources, apply CRDs, and route traffic to cluster services.
Learn how the AWS load balancer controller provisions and configures an application load balancer for Kubernetes ingress, routing paths like /participate and /submissions to backend services.
Demonstrate creating an IAM policy and role to enable AWS Load Balancer Controller for an EKS cluster, including JSON policy setup and OIDC trust with the kube-system service account.
Demonstrates deploying the AWS Load Balancer Controller as the ALB ingress controller for an EKS cluster, including IAM role annotation, helm deployment, and CRD installation.
Demonstrates deploying an application and exposing two services, participate and submissions, via the Alb ingress controller with path-based routing, verifying the Alb DNS name, and cleaning up resources.
Learn how the AWS load balancer controller integrates Kubernetes with AWS application load balancers, creates an OIDC-based IAM role, and provisions an ALB from a Kubernetes ingress.
Learn how Kubernetes scales worker nodes automatically with the Cluster Autoscaler in Amazon EKS. Set up a secure IAM rule using auto discovery to scale on demand.
Learn how the cluster autoscaler scales EKS node groups to meet pod demand. See a demo scaling from 2 to 5 nodes with graceful termination and cooldown.
Create an AWS IAM policy and role for the cluster autoscaler in Amazon EKS, following the official docs, and configure the trust with the OIDC provider and kube-system service account.
Observe the cluster autoscaler in action on Amazon EKS with autodiscover and IAM role annotations. Nodes scale from 2 to 5 as pods reach 20, and scale in during cooldown.
Explore how the cluster autoscaler integrates with Amazon EKS to manage node scaling automatically, deploying an auto discovery mode and an OIDC trust IAM role to scale out and in.
Learn how to create and manage Amazon ECR repositories, authenticate from a client machine, push Docker images, and use them in ECS deployments within a Kubernetes workflow.
Learn to create and configure an Amazon ECR repository, set immutable tagging, choose encryption with AWS KMS, and manage permissions to securely store container images.
Authenticate to Amazon ECR from Ubuntu via the AWS CLI. Grant ECR IAM permissions, pull a public welcome app image, tag as v1, v2, v3, latest, and push to ECR.
Update a Kubernetes deployment to pull the image from AWS ECR, deploy to EKS, and verify pods, using an IAM role for seamless private image access.
Create and configure ECR repositories, authenticate and push Docker images from Ubuntu, and tag, manage, and scan images for secure deployment to EKS with IAM roles.
Amazon EKS brings the power of Kubernetes to AWS cloud, helping you run containerized applications at scale without the burden of managing your own control plane. While it offers flexibility and control, setting up and managing EKS involves working with IAM roles, cluster configuration, networking, storage, and scaling.
This course is designed for DevOps engineers, cloud practitioners, and platform engineers who want a practical, hands-on approach to mastering Amazon EKS.
What’s in this course?
We will start with the fundamentals of container orchestration and EKS architecture, then move into real-world demonstrations covering cluster creation, version upgrades, node group setup, load balancing, persistent storage, autoscaling, and ECR integration. Each section combines clear conceptual explanations with demonstrations using both the AWS Management Console and CLI, helping you build confidence as you go.
Whether you are new to EKS or looking to strengthen your skills, this course gives you the tools to deploy and operate EKS environments efficiently and securely.
Special Note:
This course is designed to showcase all practical concepts through live demonstrations. Every concept is presented in real-time, and any issues or errors that arise are promptly troubleshooted and addressed as they occur, allowing you to learn from real-world scenarios.
Course Structure:
Lectures
Live Demonstrations
Assessments
Course Contents:
Introduction to Amazon EKS
Getting Started with Amazon EKS
Creating an EKS Cluster
Worker Nodes and Compute Options in EKS
Exposing Applications with Load Balancers in EKS
Storage Options
Managing Networking and Ingress
Scaling Node Groups
ECR Integration
All sections include hands-on demonstrations. Learners are encouraged to set up their own Amazon EKS environments, follow along with the exercises, and reinforce their understanding through practical application.