You will manage container images using Amazon Elastic Container Registry (ECR) and learn how to automate application deployment. You will deploy applications using CI/CD tools. You will learn how to monitor and scale your environment by using metrics, logging, tracing, and horizontal/vertical scaling. You will learn how to design and manage a large container environment by designing for efficiency, cost, and resiliency. You will configure AWS networking services to support the cluster and learn how to secure your Amazon EKS environment.
Objectives
Review and examine containers, Kubernetes and Amazon EKS fundamentals and the impact of containers on workflows.
Build an Amazon EKS cluster by selecting the correct compute resources to support worker nodes.
Secure your environment with AWS Identity and Access Management (IAM) authentication by creating an Amazon EKS service role for your cluster
Deploy an application on the cluster. Publish container images to ECR and secure access via IAM policy.
Automate and deploy applications, examine automation tools and pipelines. Create a GitOps pipeline using WeaveFlux.
Collect monitoring data through metrics, logs, tracing with AWS X-Ray and identify metrics for performance tuning. Review scenarios where bottlenecks require the best scaling approach using horizontal or vertical scaling.
Assessthe tradeoffs between efficiency, resiliency, and cost and impact for tuning one over the other. Describe and outline a holistic, iterative approach to optimizing your environment. Design for cost, efficiency, and resiliency.
Configure the AWS networking services to support the cluster. Describe how EKS/Amazon Virtual Private Cloud (VPC) functions and simplifies inter-node communications. Describe the function of VPC Container Network Interface (CNI). Review the benefits of a service mesh.
Upgrade your Kubernetes, Amazon EKS, and third party tools.
Audience
This course is intended for:
Those who will provide container orchestration management in the AWS Cloud including:
DevOps engineers
Systems administrators
Duration
Three days
Outline for Running Containers on Amazon Elastic Kubernetes Service Training
Module 0: Course Introduction
Course preparation activities and agenda
Module 1: Container Fundamentals
Design principles for building applications
What are containers?
Components of a container
Writing Dockerfiles
Module 2: Kubernetes Fundamentals
Challenges of managing many containers
What is Kubernetes and why is it important?
Components of the Kubernetes control plane
Kubernetes worker nodes and pods
Key Kubernetes objects
Managing Kubernetes with kubectl
Hands-On Lab 1: Deploying Kubernetes Pods
Module 3: Amazon EKS Fundamentals
How Amazon EKS manages the Kubernetes control plane
Fundamentals of Amazon EKS security
Use cases for extending Amazon EKS to the data plane
Running worker nodes on managed node groups
Running containers on AWS Fargate with Amazon EKS
Amazon EKS tasks versus Kubernetes tasks
Module 4: Building an Amazon EKS Cluster
Visual review of the Amazon EKS architecture to be built in labs
IAM authentication
Amazon VPC and AWS networking fundamentals
Different methods to create a cluster
High-level steps in cluster creation
Function of eksctl
Preparing for labs: Review the lab activities for the course
Hands-On Lab 02: Building an Amazon EKS cluster
Module 5: Deploying Applications to Your Amazon EKS Cluster
Publishing container images to Amazon ECR
Deploying applications with Helm
Continuous deployment in Amazon EKS
GitOps and Amazon EKS
Hands-On Lab 03: Deploying applications
Module 6: Architecting on Amazon EKS Part 1: Observe and Optimize
Configuring observability in an Amazon EKS cluster
Collecting metrics
Using metrics to automatically scale EC2 Auto Scaling groups
Managing logs
Application tracing in Amazon EKS
Gaining and applying insight from observability
Hands-On Lab 04: Monitoring Amazon EKS
Module 7: Architecting on Amazon EKS Part 2: Balancing Efficiency, Resiliency, and Cost
Optimizing your Amazon EKS application architecture
Relationship between cost, efficiency, and resilience
Anatomy of an Amazon EKS cluster from a cost perspective
Using tagging with pod placement for cost accountability
Sizing containers and worker nodes efficiently
Module 8: Managing Networking in Amazon EKS
Review: VPC fundamentals
The importance of major communication components
Communication flow in a noncontainerized architecture
Challenges of network communication in Kubernetes
Comparing the Docker communication solution with the Kubernetes model
How Amazon EKS and Amazon VPC simplify inter-node communications
Managing pod communication in Amazon EKS
The relationship between communications and scalability
Running worker nodes in a subnet not associated with the cluster
Managing service name resolution
Using a service mesh with Amazon EKS
Configuring AWS App Mesh
Hands-On Lab 05: Exploring Amazon EKS Communication
Module 9: Securing Amazon EKS Clusters
How IAM integrates with Kubernetes Role Based Access Control (RBAC)
Managing cluster endpoint access control
Auditing access with AWS CloudTrail logs
Mitigating security risks during the build of a container image
Securing network communications
Managing secrets
Hands-On Lab 06: Securing Amazon EKS
Module 10: Managing Upgrades in Amazon EKS
Contrasting Kubernetes version updates and Amazon EKS platform version updates
Upgrading your Kubernetes version
Upgrading your Amazon EKS version
Maintaining your third-party applications