0% found this document useful (0 votes)
75 views5 pages

AWS EKS Bootcamp Overview and Setup

This document outlines the modules and topics covered in a DevOps bootcamp training program. It includes modules on Linux, version control with Git, build tools, cloud infrastructure with AWS and DigitalOcean, containers with Docker and Kubernetes, configuration management with Ansible and Terraform, continuous integration/delivery with Jenkins, and programming with Python.

Uploaded by

puttepu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
75 views5 pages

AWS EKS Bootcamp Overview and Setup

This document outlines the modules and topics covered in a DevOps bootcamp training program. It includes modules on Linux, version control with Git, build tools, cloud infrastructure with AWS and DigitalOcean, containers with Docker and Kubernetes, configuration management with Ansible and Terraform, continuous integration/delivery with Jenkins, and programming with Python.

Uploaded by

puttepu
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
  • Bootcamp Overview + Tools Installation Checklist
  • Introduction to DevOps
  • Introduction to Operating Systems
  • Intro to Artifact Repository Manager
  • Intro to Kubernetes
  • Introduction to Python
  • Project: Run Docker Applications - Part 1

1 - Bootcamp Overview + Tools Installation Checklist

2 - Introduction to DevOps
0 - Module Intro + Checklist
1 - Introduction to Operating Systems
2 - Introduction to Virtualization & Virtual Machines
3 - Setup a Linux Virtual Machine
4 - Linux File System
5 - Introduction to Command Line Interface (CLI - Part 1)
6 - Basic Linux Commands (CLI - Part 2)
7 - Package Manager - Installing Software on Linux
8 - Working with Vim Editor
9 - Linux Accounts & Groups (Users & Permissions Part 1)
10 - File Ownership & Permissions (Users & Permissions - Part 2)
11 - Basic Linux Commands - Pipes & Redirects (CLI - Part 3)
12 - Introduction to Shell Scripting Part 1
13 - Shell Scripting Part 2 - Concepts & Syntax
14 - Shell Scripting Part 3 - Concepts & Syntax
15 - Environment Variables
16 - Networking
17 - SSH - Secure Shell
0 - Module Intro + Checklist
1 - Introduction to Version Control and Git
2 - Basic Concepts of Git
3 - Setup Git Repository Remote and Local
4 - Working with Git
5 - Initialize a Git project locally
6 - Concept of Branches
7 - Merge Requests
8 - Deleting Branches
9 - Rebase
10 - Resolving Merge Conflicts
11 - Gitignore
12 - Git stash
13 - Going back in history
14 - Undoing commits
15 - Merging branches
16 - Git for Devops
1 - Databases in development process
2 - Database Types
0 - Module Intro + Checklist
1 - Introduction to Build Tools
2 - Install Build Tools
3 - Installation Help for Windows User - Part 1
4 - Installation Help for Windows User - Part 2
5 - Installation Help for MacOS-Unix User
6 - Build an Artifact
7 - Build Tools for Development
8 - Run the Application
9 - Build JS Applications
10 - Common Concepts and Differences of Build Tools
11 - Publish an Artifact
12 - Build Tools & Docker
13 - Build Tools for DevOps
0 - Module Intro + Checklist
1 - Intro to Cloud & IaaS
2 - Setup Server on DigitalOcean
3 - Deploy and run application artifact on Droplet
4 - Create and configure a Linux user on a cloud server
0 - Module Intro + Checklist
1 - Intro to Artifact Repository Manager
2 - Install and Run Nexus on a cloud server
3 - Introduction to Nexus
4 - Repository Types
5 - Publish Artifact to Repository
6 - Nexus REST API
7 - Blob Store
8 - Component vs Asset
9 - Cleanup Policies and Scheduled Tasks
0 - Module Intro + Checklist
1 - What is a Container
2 - Container vs Image
3 - Docker vs. Virtual Machine
4 - Docker Architecture and components
5 - Main Docker Commands
6 - Debug Commands
7 - Docker Demo - Project Overview
8 - Developing with Docker
9 - Docker Compose - Run multiple Docker containers
10 - Dockerfile - Build your own Docker Image
11 - Private Docker Repository
12 - Deploy docker application on a server
13 - Docker Volumes - Persisting Data
14 - Docker Volumes Demo
15 - Create Docker Hosted Repository on Nexus
16 - Deploy Nexus as Docker Container
0 - Module Intro + Checklist
1 - Intro to Build Automation
2 - Install Jenkins
3 - Introduction to Jenkins UI
4 - Install Build Tools in Jenkins
5 - Jenkins Basics Demo - Freestyle Job
6 - Docker in Jenkins
7 - Freestyle to Pipeline Job
8 - Intro to Pipeline Job
9 - Jenkinsfile Syntax
10 - Create complete Pipeline
11 - Intro to Multibranch Pipeline
12 - Jenkins Jobs Overview
13 - Credentials in Jenkins
14 - Jenkins Shared Library
15 - Webhooks - Trigger Pipeline Jobs automatically
16 - Dynamically Increment Application version in Jenkins Pipeline - Part 1
17 - Dynamically Increment Application version in Jenkins Pipeline - Part 2
0 - Module Intro + Checklist
1 - Introduction to AWS
2 - Create an AWS account
3 - IAM - Manage Users, Roles and Permissions
4 - Regions & Availability Zones
5 - VPC - Manage Private Network on AWS
6 - CIDR Blocks explained
7 - Introduction to EC2 Virtual Cloud Server
8 - Deploy to EC2 server from Jenkins Pipeline - CI/CD Part 1
9 - Deploy to EC2 server from Jenkins Pipeline - CI/CD Part 2
10 - Deploy to EC2 server from Jenkins Pipeline - CI/CD Part 3
11 - Introduction to AWS CLI
12 - AWS & Terraform Preview
13 - Container Services on AWS Preview
0 - Module Intro + Checklist
1 - Intro to Kubernetes
2 - Main Kubernetes Components
3 - Kubernetes Architecture
4 - Minikube and kubectl - Local Kubernetes Cluster
5 - Main kubectl commands
6 - YAML Configuration File
7 - Complete Demo Project - Deploying Application in Kubernetes Cluster
8 - Namespaces - Organizing Components
9 - Services - Connecting to Applications inside cluster
10 - Ingress - Connecting to Applications outside cluster
11 - Volumes - Persisting Application Data
12 - ConfigMap & Secret Volume Types
13 - StatefulSet - Deploying Stateful Applications
14 - Managed Kubernetes Services Explained
15 - Helm - Package Manager for Kubernetes
16 - Helm Demo - Managed K8s cluster
17 - Deploying Images in Kubernetes from private Docker repository
18 - Kubernetes Operators for Managing Complex Applications
19 - Helm and Operator Demo
20 - Secure your cluster - Authorization with RBAC
21 - Microservices in Kubernetes
22 - Demo project: Deploy Microservices Application
23 - Production & Security Best Practices
24 - Demo project: Create Helm Chart for Microservices
25 - Demo project: Deploy Microservices with Helmfile
0 - Module Intro + Checklist
1 - Container Services on AWS
2 - Create EKS cluster with AWS Management Console
3 - Configure Autoscaling in EKS cluster
4 - Create Fargate Profile for EKS Cluster
5 - Create EKS cluster with eksctl command line tool
6 - Deploy to EKS Cluster from Jenkins Pipeline
7 - BONUS: Deploy to LKE Cluster from Jenkins Pipeline
8 - Jenkins Credentials Note on Best Practices
9 - Complete CI/CD Pipeline with EKS and DockerHub
10 - Complete CI/CD Pipeline with EKS and ECR
0 - Module Intro + Checklist
1 - Introduction to Terraform
2 - Install Terraform & Setup Terraform Project
3 - Providers in Terraform
4 - Resources & Data Sources
5 - Change & Destroy Terraform Resources
6 - Terraform commands
7 - Terraform State
8 - Output Values
9 - Variables in Terraform
10 - Environment Variables in Terraform
11 - Create Git Repository for local Terraform Project
12 - Automate Provisioning EC2 with Terraform - Part 1
13 - Automate Provisioning EC2 with Terraform - Part 2
14 - Automate Provisioning EC2 with Terraform - Part 3
15 - Provisioners in Terraform
16 - Modules in Terraform - Part 1
17 - Modules in Terraform - Part 2
18 - Modules in Terraform - Part 3
19 - Automate Provisioning EKS cluster with Terraform - Part 1
20 - Automate Provisioning EKS cluster with Terraform - Part 2
21 - Automate Provisioning EKS cluster with Terraform - Part 3
22 - Complete CI/CD with Terraform - Part 1
23 - Complete CI/CD with Terraform - Part 2
24 - Complete CI/CD with Terraform - Part 3
25 - Remote State in Terraform
0 - Module Intro + Checklist
1 - Introduction to Python
2 - Installation and Local Setup
3 - Our first Python Program
4 - Python IDE vs Simple File Editor
5 - Strings and Number Data Types
6 - Variables
7 - Functions
8 - Accepting User Input
9 - Conditionals (if / else) and Boolean Data Type
10 - Error Handling with Try-Except
11 - While Loops
12 - Lists and For Loops
13 - Comments
14 - Sets
15 - Built-In Functions
16 - Dictionary Data Type
17 - Modules
18 - Project: Countdown App
19 - Packages, PyPI and pip
20 - Project: Automation with Python (Spreadsheet)
21 - OOP: Classes and Objects
22 - Project: API Request to GitLab
0 - Module Intro + Checklist
1 - Introduction to Boto Library (AWS SDK for Python)
2 - Install Boto3 and connect to AWS
3 - Getting familiar with Boto
4 - Terraform vs Python - understand when to use which tool
5 - Health Check: EC2 Status Checks
6 - Write a Scheduled Task in Python
7 - Configure Server: Add Environment Tags to EC2 Instances
8 - EKS cluster information
9 - Backup EC2 Volumes: Automate creating Snapshots
10 - Automate cleanup of old Snapshots
11 - Automate restoring EC2 Volume from the Backup
12 - Handling Errors
13 - Website Monitoring 1: Scheduled Task to Monitor Application Health
14 - Website Monitoring 2: Automated Email Notification
15 - Website Monitoring 3: Restart Application and Reboot Server
0 - Module Intro + Checklist
1 - Introduction to Ansible
2 - Install Ansible
3 - Setup Managed Server to Configure with Ansible
4 - Ansible Inventory and Ansible ad-hoc commands
5 - Configure AWS EC2 server with Ansible
6 - Managing Host Key Checking and SSH keys
7 - Introduction to Playbooks
8 - Ansible Modules
9 - Collections in Ansible
10 - Project: Deploy Nodejs application - Part 1
11 - Project: Deploy Nodejs application - Part 2
12 - Project: Deploy Nodejs application - Part 3
13 - Ansible Variables - make your Playbook customizable
14 - Project Deploy Nexus - Part 1
15 - Project Deploy Nexus - Part 2
16 - Ansible Configuration - Default Inventory File
17 - Project: Run Docker applications - Part 1
18 - Project: Run Docker applications - Part 2
19 - Project: Terraform & Ansible
20 - Dynamic Inventory for EC2 Servers
21 - Project: Deploying Application in K8s
22 - Project: Run Ansible from Jenkins Pipeline - Part 1
23 - Project: Run Ansible from Jenkins Pipeline - Part 2
24 - Project: Run Ansible from Jenkins Pipeline - Part 3
25 - Ansible Roles - Make your Ansible content more reusable and modular

Common questions

Powered by AI

Virtualization involves creating multiple virtual machines (VMs) on a single physical host, each with its own operating system, which leads to significant resource overhead due to the duplicate OS instances. Containerization, on the other hand, uses a single OS kernel to run multiple isolated applications within containers, sharing resources while maintaining process isolation. This results in efficient resource utilization and lower overhead compared to VMs .

Helm streamlines Kubernetes application management by using Charts, which bundle applications and their dependencies, reducing the complexity of managing multiple YAML files. It includes version control, which enhances collaboration, rollback capabilities, and facilitates CI/CD integration, providing a robust solution to handle deployment across multiple environments and simplifying updates over manual methods .

Shell scripting automates repetitive tasks and streamlines workflows by executing a series of commands, which is essential in achieving continuous integration and deployment. Version control systems like Git complement this by managing changes to these scripts, offering version history, collaborative capabilities, and rollback to previous script versions, thus ensuring reliable and consistent deployment processes .

Environment variables abstract configuration from the code, allowing applications to be easily ported across different environments without altering the source code. They enable quick updates and configuration changes, support variable injection via container orchestration tools like Kubernetes, and ensure secure and flexible application deployments in cloud environments .

Merging branches in Git can lead to conflicts when changes made in different branches overlap, especially when developers alter the same lines of code. Strategies to resolve these conflicts include manually editing conflicting files, using merge tools to visualize differences, understanding and deciding code appropriateness, and frequent pull requests to minimize divergence. It’s crucial to conduct thorough testing post-merge to ensure stability .

Docker volumes provide a mechanism to persist data generated by and used within containers, allowing stateful applications to maintain their state despite container restarts or termination. This ensures data continuity, facilitates backup, and isolates container data from the container image itself, which is crucial for applications requiring consistent data storage .

Python scripts can automate routine tasks, manage API interactions, and handle data operations, while Ansible, as an orchestration tool, uses playbooks to provision and manage cloud resources. Combining Python’s scripting capabilities with Ansible’s infrastructure automation allows the seamless execution of complex workflows, improved orchestration efficiency, and dynamic management of resources based on real-time data inputs .

Terraform automates cloud infrastructure provisioning through declarative configuration files, enabling consistent and repeatable infrastructure setups. Unlike manual provisioning, which is time-consuming and error-prone, Terraform allows for version-controlled and auditable configurations, easy rollback and updates, and integrates with CI/CD for rapid deployment across complex environments .

Jenkins Pipelines enable automated, repeatable CI/CD processes through scripted workflows, reducing manual error-prone deployments. By employing declarative pipeline syntax, teams can define entire build, test, and deploy lifecycle stages, ensuring consistency and facilitating parallel and sequential task execution, which accelerates delivery and enhances reliability in software development .

Docker containers have faster deployment times because they share the host OS and can start in seconds, allowing for rapid scaling and efficient utilization. Virtual machines have slower deployment due to the need to boot separate OS instances. Containers are more portable and easily integrated into CI/CD pipelines, whereas VMs might be heavier and slower to replicate or move across environments .

1 - Bootcamp Overview + Tools Installation Checklist
2 - Introduction to DevOps 
0 - Module Intro + Checklist 
1 - Introducti
1 - Intro to Artifact Repository Manager 
2 - Install and Run Nexus on a cloud server
3 - Introduction to Nexus 
4 - Reposito
1 - Intro to Kubernetes 
2 - Main Kubernetes Components 
3 - Kubernetes Architecture
4 - Minikube and kubectl - Local Kuberne
23 - Complete CI/CD with Terraform - Part 2 
24 - Complete CI/CD with Terraform - Part 3 
25 - Remote State in Terraform 
0 -
17 - Project: Run Docker applications - Part 1 
18 - Project: Run Docker applications - Part 2 
19 - Project: Terraform & Ans

You might also like