• ROI Training

Kubernetes Essentials for AWS

Contact us to book this course
Curriculum icon
Curriculum

Cloud Computing

Delivery methods icon
Delivery methods

On-Site, Virtual

Duration icon
Duration

3 days

Kubernetes is an open-source, cloud-agnostic container orchestration system. It is the industry standard for deploying and managing cloud-native applications across environments. This course provides the knowledge necessary to use Docker and Kubernetes to deploy your microservice applications on Kubernetes clusters. While concepts apply across all platforms, hands-on labs and demonstrations in this course use Minikube and the capstone lab will deploy the case study app to Amazon Elastic Kubernetes Service (Amazon EKS).

Learning Objectives

  • Leverage Kubernetes for container orchestration and automated deployment
  • Build, run, and deploy container applications using Docker
  • Develop and test Kubernetes-based applications locally with Minikube
  • Automate application management using the kubectl CLI and configuration files
  • Deploy scalable, fault-tolerant applications using Deployments, Services, Jobs, CronJobs, and DaemonSets
  • Perform zero-downtime migrations with rolling updates, blue/green, and canary deployments
  • Persist application data with Persistent Volumes, StatefulSets, ConfigMaps, and Secrets
  • Simplify Kubernetes deployments using Helm
  • Manage Kubernetes security with Role-Based Access Control (RBAC)
  • Enhance Kubernetes networking with network policies

Who Should Attend

Architects, engineers, and developers who want to learn Kubernetes to build cloud-native, microservice applications and automate their deployment using Kubernetes on AWS using Elastic Kubernetes Service (Amazon EKS).

Hands-On Labs

This class includes hands-on labs throughout. Students will work on a case study application and enhance it throughout the course. The labs emphasize Kubernetes fundamentals.

Course outline

  • Introduction to Kubernetes
    • Containerization and Its Advantages
    • Container Orchestration
  • Kubernetes Advantages
    • Open-Source and Portable
    • Automation and Scalability
    • Cloud-Agnostic Concepts
  • Lab: Running the course case study
  • Docker Images
    • Basic Docker Commands
    • Building Docker Images with Dockerfile
  • Docker Containers
    • Running and Managing Containers
    • Deleting Containers and Images
    • Lab: Building Docker Images
  • Deploying Docker Images
    • Container Registries
    • Push and Pull Workflow
    • Lab: Using a Container Registry
  • Cluster Architecture
    • Clusters
    • Control Plane
    •  Worker Nodes
  • Configuring Clusters
    • Software Requirements
    • Configuring Cluster
    • Minikube
  • Managed Clusters in the Cloud
    • Amazon EKS
    • Provisioning Amazon EKS with eksctl
    • Lab: Creating a Cluster
  • Kubernetes Application Architecture
    • Objects
    • Pods
    • Deployments
    • Services
    • Namespaces 
    • Configurations
  • Using kubectl
    • Basic Commands
    • Creating Deployments
    • Creating Services
    • Retrieving Information
    • Executing Commands within a Pod
    • Accessing Pod Logs
    • Deleting Resources
    • Configuration Basics
    • Deploying Resources with Configuration
    • Lab: Using the kubectl CLI
  • Deployments
    • Basic Configuration
    • Labels
    • Replica Sets
    • Configuring Pods
    • Lab: Creating a Deployment
  • Exposing Deployments
    • Kubernetes Services
    • ClusterIP
    • NodePort
    • LoadBalancer
    • Service Configuration
    • Lab: Creating a ClusterIP and Load Balancer
  • Controlling Resources
    • Resources
    • Requests
    • Limits
  • Fault-Tolerance and Scalability
    • Liveness Probes
    • Readiness Probes
    • Auto-healing
    • Autoscaling
    • Creating a Horizontal Pod Autoscaler using the CLI
    • Configuring Autoscalers
    • Lab: Adding Resource Limits and Autoscaling
  • Deploying New Versions
    • Update Policies
    • Rolling Updates
    • Accessing Version History
    • Rolling Back Deployments
  • Testing New Versions
    • Blue/Green Deployments
    • Canary Deployments
    • Lab: Performing Rolling Updates and Blue/Green Deployments
  • Allocating Disk Space for Pods
    • Persistent Volumes
    • Persistent Volume  Claims
    • Storage Types
    • Mounting Volumes
    • MySQL Example
  • StatefulSets
    • Configuration
    • Volume Claim Templates
    • Cassandra Example
    • Lab: Deploying StatefulSets
  • Configuration Data
    • ConfigMaps
    • Secrets
  • What is Helm?
  • Charts
  • Installing Applications with Helm
  • Deleting Applications with Helm
  • Lab: Using Helm to Install a Database
  • Jobs
    • Configuration
    • Use Cases
  • CronJobs
    • Configuration
    • Use Cases
    • Lab: Running Kubernetes Jobs
  • DaemonSets
    • Configuration
    • Use Cases
    • Lab: Modifying the case study to use the Database
  • Role-Based Access Control
    • Roles
    • Permissions
    • RoleBinding
    • ClusterRoles and ClusterRoleBindings
    • Lab: Network Policies
  • Network Policies
    • Controlling Pod Ingress and Egress Network Traffic
    • Restricting Network Communication Between Namespaces
    • Lab: Network Policies
  • Istio Introduction
    • Benefits
    • Features
  • Provisioning Amazon EKS with eksctl
  • Capstone Lab: Deploy the Case Study to Amazon EKS

Ready to accelerate your team's innovation?