Containers

Learn how to run containers on Amazon Elastic Kubernetes Service with our new instructor-led course

This post was contributed by Ed Van Sickle, Product Manager, AWS Training

Are you looking for a training course that is more than introductory level on Amazon EKS containers?

Good news! We have one.

AWS Training & Certification released “Running Containers on Amazon Elastic Kubernetes Container Service (Amazon EKS)” in October 2020. The course is a three day instructor-led course intended for DevOps/Cloud engineers who have a basic understanding of containers, Kubernetes, and Amazon EKS, but want more in-depth content and hands-on labs to gain more experience with Amazon EKS.

Here is what we  cover in the course:

To start, we review the basics of containers, Kubernetes, and Amazon EKS. Next, you will learn about and build an Amazon EKS cluster. In this module, we show you how to assign permissions, configure the network, create the cluster, and customize a kubeconfig file to control access to the cluster. In the lab, you will install and use kubectl and eksctl. Using eksctl, you will create a cluster with a managed node group. You will see how the eksctl utility creates an EC2 Auto Scaling group for the cluster. You will add a prebuilt application to your cluster and see how traffic flows through a load balancer to the various nodes in the Amazon EKS cluster. Finally, the lab ends with the creation of replicas to offset a container failure and keep the application running.

Building from here, the next module covers tools (both AWS and open source) for application deployment. First, you need to put your images in a repository. You will learn about Amazon Elastic Container Registry (ECR) and how to create and push images to ECR. Next, we cover CI/CD pipelines and tools, focusing on AWS CodePipeline, GitOps, and Helm. In your lab, you will create a delivery pipeline using AWS CodePipeline to manage your container images, and also use GitOps to provide system convergence when updating or installing new applications. You will use Weave Flux to detect and avoid configuration drifts.

Now that you’ve created your cluster, enabled it for scaling, deployed applications, and configured automation, we show how to manage your cluster environment. Gaining insight and collecting metrics helps you to maintain and optimize performance. Using CloudWatch Container Insights and AWS X-Ray, you will learn how to identify the key metrics to assess and manage your workloads. You learn the tradeoffs between cost, efficiency, and resilience, and how to design an architecture that balances these factors. In your lab, you will configure and deploy Fluent Bit to collect logs, then use CloudWatch Container Insights to collect metrics, and finally use AWS X-Ray to view application traces.

Now, on to the peak of the course, which is a deep dive on networking and security. We cover container to container communication, pod to pod communication, and ingress from outside the cluster. We wrap up networking with managing IP space ( do’s and don’ts) and using AWS App Mesh to automate the communication of services. For security, we take a detailed look at the interaction between IAM and Kubernetes RBAC, and how to control access to both the AWS and Kubernetes APIs. Your labs for these modules show the benefits of AWS App Mesh and applying security using both IAM and RBAC.

Our final module covers updates and upgrades for both Amazon EKS and Kubernetes. You will learn what goes into planning and preparing for an upgrade, and we will show you how to perform updates/upgrades.

I am highly encouraged by the results our customer beta delivery and feedback.  Students told us that the instructor and the labs were what they liked most about the course. They also felt that the breadth of information and the different modules made for a great experience.

It is exciting to launch this new course and introduce this training to our AWS customers. I hope you enjoy it and learn a lot.  To enroll in an upcoming class, visit AWS Training.