Terraform on AWS EKS Kubernetes for Site Reliability Engineering (SRE) and Infrastructure as a Code (IaC)

Inquire now

Duration  8 days – 56 hrs

 

Overview

 

This comprehensive training course is designed to provide participants with the knowledge and skills needed to deploy, manage, and maintain Kubernetes clusters on AWS using Terraform. The course focuses on the principles of Site Reliability Engineering (SRE) and Infrastructure as Code (IaC) to ensure efficient, scalable, and reliable infrastructure management. Participants will gain hands-on experience in setting up AWS EKS clusters, writing Terraform scripts, and applying SRE practices to manage and monitor Kubernetes environments.

 

Objectives

 

  • Understand the fundamentals of Kubernetes and AWS EKS.
  • Use Terraform to define and provision AWS infrastructure.
  • Apply SRE principles to ensure reliability, scalability, and maintainability.
  • Automate the deployment and management of Kubernetes clusters using Terraform.
  • Implement monitoring, logging, and alerting for EKS clusters.
  • Manage infrastructure as code with best practices for collaboration and version control.
  • Secure and optimize Kubernetes environments on AWS.

 

Audience

 

  • DevOps engineers
  • Site Reliability Engineers (SREs)
  • Infrastructure engineers
  • Cloud architects
  • IT professionals looking to automate and manage AWS Kubernetes infrastructure

Pre-requisites

  • Basic understanding of AWS services and concepts
  • Familiarity with Kubernetes fundamentals
  • Basic knowledge of Terraform and IaC principles
  • Experience with command-line interfaces and version control systems (e.g., Git)

Course Content

 

Terraform

 

  • Introduction to Infrastructure as Code (IaC)
  • Terraform Install Tools, Command and Language Basics
  • Terraform Settings, Providers, and Resources
  • Terraform Input Variables, Output Values, Datasources
  • Terraform Loops, MetaArguments, Splat Operator and Functions
  • AWS VPC 3-Tier Architecture Design using Terraform
  • Bastion Host AWS EC2 Instances, Security Groups, TF Provisioners with Terraform
  • AWS EKS Cluster, Public and Private Node Groups using Terraform

 

Kubernetes

 

  • Kubernetes Fundamentals
  • Kubernetes Deployment and Service using YAML
  • Terraform Kubernetes Provider – Kubernetes Deployment & Service
  • Terraform Remote State Storage – AWS S3 & DynamoDB
  • AWS EKS IAM Roles for Service Accounts (IRSA) using Terraform
  • AWS EKS EBS CSI Driver Install with Self-Managed AddOn Option using Terraform
  • AWS EKS EBS Demo using k8s YAML  (UserMgmt WebApp with MySQL DB)
  • AWS EKS EBS Demo using k8s Terraform  (UserMgmt WebApp with MySQL DB)
  • AWS EKS EBS Volumes Retain and Resize Settings
  • AWS EBS CSI EKS Add-On

Roles and Permission

 

  • Provision AWS IAM Admin User as EKS Admin
  • Provision AWS IAM Basic User as EKS Admin
  • Provision of AWS Users (Admin & Basic) as EKS Admins using Terraform
  • Provision EKS Admins using IAM Roles & IAM Groups
  • Provision EKS Admins using IAM Roles & IAM Groups using Terraform
  • Provision EKS ReadOnly User using IAM Roles, Groups & k8s CR, CRB Provision EKS Developer Users using IAM Roles, Groups & k8s R, RB
  • AWS Load Balancer Controller Install using Terraform Helm Provider

 

Ingress

 

  • Ingress Basics
  • Ingress Context Path based Routing
  • Ingress SSL and SSL Redirect
  • Install ExternalDNS using Terraform Helm Provider
  • Ingress with ExternalDNS
  • Kubernetes LB Service with ExternalDNS
  • Ingress Name based Virtual Host Routing
  • Ingress SSL Discovery Host
  • Ingress SSL Discovery TLS
  • Ingress Groups
  • Ingress Target Type IP
  • Ingress Internal Load Balancer
  • Ingress Cross Namespaces

 

Network Load Balancer

 

  • AWS Network Load Balancer with AWS Load Balancer Controller
  • AWS NLB TLS, External DNS with AWS LBC
  • AWS NLB Internal LB with AWS LBC

Deploy AWS Fargate using Terraform

 

  • AWS EKS Fargate Profiles using Terraform
  • Run EKS Workloads on AWS Fargate
  • AWS Fargate Only EKS Cluster using Terraform

 

Deploy AWS EFS using Terraform

 

  • AWS EFS CSI Controller Install using Terraform Helm Provider
  • AWS EFS Static Provisioning – Automate with Terraform
  • AWS EFS Dynamic Provisioning – Automate with Terraform
  • AWS EFS File System Mount for Fargate Workloads

 

Scaling

 

  • Kubernetes Cluster Autoscaler Controller Install
  • Kubernetes Cluster Autoscaler Controller Test
  • Kubernetes Horizontal Pod Autoscaling with Terraform
  • Kubernetes Vertical Pod Autoscaling with Terraform

 

Monitoring

 

  • AWS EKS Monitoring and Logging with kubectl
  • AWS EKS Monitoring and Logging with Terraform

 

Kubernetes Concepts Covered

 

  • Kubernetes Deployments
  • Kubernetes Pods
  • Kubernetes Service of Type LoadBalancer
  • Kubernetes Service of Type ClusterIP
  • Kubernetes Ingress Service
  • Kubernetes Ingress Class
  • Kubernetes Storage Class
  • Kubernetes Storage Persistent Volume
  • Kubernetes Storage Persistent Volume Claim
  • Kubernetes RBAC
  • Kubernetes Role
  • Kubernetes Role Binding
  • Kubernetes Cluster Role
  • Kubernetes Cluster Role Binding
  • Kubernetes Cluster Autoscaler
  • Kubernetes Vertical Pod Autoscaler
  • Kubernetes Horizontal Pod Autoscaler
  • Kubernetes DaemonSets
  • Kubernetes Namespaces
  • Kubernetes Service Accounts
  • Kubernetes Groups
  • Kubernetes ConfigMaps
  • Kubernetes Requests and Limits
  • Kubernetes Worker Nodes

 

Terraform Concepts covered

 

  • Settings Block
  • Providers Block
  • Multiple Providers usage
  • Dependency Lock File Importance
  • Resources Syntax and Behavior
  • Resources Meta-Argument – depends_on
  • Resources Meta-Argument – count
  • Resources Meta-Argument – for_each
  • Resources Meta-Argument – lifecycle
  • Input Variables – Basics
  • Input Variables – Assign When Prompted
  • Input Variables – Assign with terraform.tfvars
  • Input Variables – Assign with auto tfvars
  • Input Variables – Lists
  • Input Variables – Maps
  • File Function
  • Output Values
  • Local Values
  • Datasources
  • Backends – Remote State Storage
  • File Provisioner
  • remote-exec Provisioner
  • local-exec Provisioner
  • Null Resource
  • Modules from Public Registry
  • element function
  • Remote State Datasource
  • Terraform Datasources

Terraform Providers used

 

  • AWS Terraform Provider
  • Kubernetes Terraform Provider
  • Kubectl Terraform Provider
  • HTTP Terraform Provider
  • Null Terraform Provider
  • Helm Terraform Provider

Inquire now

Best selling courses

CLOUD COMPUTING

Terraform

Terraform is a configuration orchestration tool for building and managing infrastructure on cloud & data centers. The course is instructor-led, live training (onsite or remote), and is designed for Engineers with little or no previous experience managing infrastructure. The course talks about in-depth Terraform syntax and techniques used to automate the setup and deployment of infrastructure.

Duration  3 days – 21 hrs    Overview    The ITIL Leadership – Digital and IT Strategy training course is designed for senior IT professionals, managers, and leaders who seek to navigate the complex landscape of digital transformation and IT strategy. This course focuses on providing strategic insights, leadership skills, and practical approaches for aligning...

PROGRAMMING / CODING

Spring Architecture and Design

Spring Cloud is a platform for building Java-based distributed systems and microservices. Building complex enterprise applications is challenging. Any change made to a part of the systems could trigger the need for changing the design of the entire system. By the end of this training, participants will have a solid understanding of Service-Oriented Architecture (SOA) and Microservice Architecture as well practical experience using Spring Cloud and related Spring technologies for rapidly developing their own cloud-scale, cloud-ready microservices.

BUSINESS INTELLIGENCE

Dax

Duration 5 days – 35 hrs   Overview The DAX (Data Analysis Expressions) Training Course is designed to provide participants with a comprehensive understanding of DAX, the powerful formula language used in Power BI, Excel, and SQL Server Analysis Services. This course covers the essential concepts, functions, and techniques required to create advanced calculations and...

OPERATING SYSTEMS

Linux Fundamentals

Linux Fundamental provides students a thorough introduction to Linux™ for those who are new to the Linux environment. Delegates will learn how to manage files and directories, utilize the vi editor, work with Linux security mechanisms to protect files and programs, work with the Linux shell to control the flow and processing of data through pipelines, design and write shell programs of moderate complexity, and manage multiple concurrent processes in order to achieve higher utilization of Linux. They will learn how to perform basic operations on the system and how quickly to solve problem.

PROGRAMMING / CODING

Google Apps Script

The Google Apps Script training course give you a detailed knowledge on coding like Automating data calculation, Fetching and sending data from third party software like Trello & Salesforce, connecting different sheets, Documents and other tools, Setting a trigger based on an event. This course is ideal for someone who use google sheets and have no coding background.

This workshop teaches the participants how to design and develop server side applications using the event-driven, non-blocking model framework Node.js. This program inducts the participant in some of the advanced concepts of the JavaScript language so that the participant is well equipped to build end-to-end application using JavaScript.

Duration: 3 days – 21 hrs   Overview This training course is designed to provide participants with a comprehensive understanding of Portfolio Management and Contract Management, focusing on best practices, tools, and techniques. The course covers the strategic alignment of projects within a portfolio, effective management of contracts, risk management, and optimization of resources to...

// BG EARTH WHEN NOT PLAYING

We use cookies on our website to personalize your experience by storing your preferences and recognizing repeat visits. By clicking “Accept”, you agree to the use of all cookies. You can also select “Cookie Settings” to adjust your preferences and provide more specific consent. Cookie Policy