This repository contains all my notes for past Kodekloud Engineer tasks which are all performed in a live Linux environment. These tasks simulate actual enterprise challenges and mimics the day-to-day work of System Administrators and Devops Engineers.
For each task, a set of requirements are given. The documentations for the servers are also provided. It is up for the "engineer" to find the solution for each problem.
/Start ├── Get your basic │ └── 12 Factor App ✔️ ├── Learn The Basics Of DevOps, Networking And Application │ ├── DevOps Pre-Requisite Course ✔️ │ └── Fundamentals of DevOps ├── Learn Linux │ ├── Learning Linux Basics Course & Labs ✔️ │ └── Shell Scripts for Beginners ├── Learn Programming │ ├── Golang │ └── Python ├── Learn Version Control │ └── Git for Beginers ├── Learn Popular CI/CD Tools ├── Ace Container Concepts ├── Learn Container Orchestration ├── Infrastructure As Code ├── Get To The Advanced Learning └── Get Career Ready!
Role/Level | Points Needed | My Position |
---|---|---|
Systems Administrator | Entry-level | ✅ |
DevOps Engineer | 25,000 | |
Senior DevOps Engineer | 75,000 | |
DevOps Architect | 150,000 |
More details can be found here.
Profiles can now be shared publicly. These allows engineers to showcase the challenges they have solved.
See my public profile here: Kodekloud Engineer
Task | Description |
---|---|
☐ | In queue |
✔️ | Done |
❌ | Error |
☐ Task 001 - Create a Linux User with Non-Interactive Shell
☐ Task 002 - Linux Run levels
☐ Task 003 - Linux SSH Authentication
☐ Task 004 - Create a Cron job
☐ Task 005 - Create a user
☐ Task 006 - MariaDB Troubleshooting
☐ Task 007 - Linux Banner
☐ Task 008 - Selinux Installation
☐ Task 009 - DNS Troubleshooting
☐ Task 010 - Linux Services
☐ Task 011 - NFS Troubleshooting
☐ Task 012 - Linux User without Home
☐ Task 013 - Linux User Expiry
☐ Task 014 - Linux Archives
☐ Task 015 - Disable Root Login
☐ Task 016 - Apache Troubleshooting
☐ Task 017 - Create a group
☐ Task 018 - Linux String Substitute
☐ Task 019 - Linux Firewalld Rules
☐ Task 020 - Linux Remote Copy
☐ Task 021 - HAproxy LBR Troubleshooting
☐ Task 022 - Linux Bash Scripts
☐ Task 023 - Configure Local Yum Repos
☐ Task 024 - Linux Resource Limits
☐ Task 025 - Configure Protected Directories
☐ Task 026 - Linux NGINX as Reverse Proxy
☐ Task 027 - Web Server Security
☐ Task 028 - Setup SSL for NGINX
☐ Task 029 - Application Security
☐ Task 030 - Install a package - git
☐ Task 031 - Linux Find Command
☐ Task 032 - Install and Configure HAproxy LBR
☐ Task 033 - Linux Firewalld Setup
☐ Task 034 - Install and Configure NFS Server
☐ Task 035 - PAM Authentication for Apache
☐ Task 036 - Install and Configure PostgreSQL
☐ Task 037 - Linux Process Troubleshooting
☐ Task 038 - Install and Configure SFTP
☐ Task 039 - Install and Configure Tomcat
☐ Task 040 - IPTables Installation and Configuration
☐ Task 041 - Linux network Services
☐ Task 042 - Install and Configure Web Application
☐ Task 043 - Install and Configure DB Server
☐ Task 044 - Linux SSH Authentication
☐ Task 045 - MariaDB Troubleshooting
☐ Task 046 - Install and Configure Web Application
☐ Task 047 - Create a Linux User with Non-Interactive Shell
☐ Task 048 - Configure Local Yum Repos
☐ Task 049 - Linux Firewalld Setup
☐ Task 050 - Install and Configure PostgreSQL
☐ Task 051 - Linux Firewalld Rules
☐ Task 052 - Apache Troubleshooting
☐ Task 053 - Create a Linux User with Non-Interactive Shell
☐ Task 054 - Setup SSL for NGINX
☐ Task 055 - Install and Configure HAProxy LBR
☐ Task 056 - Save. Load, and Transfer Docker Image
☐ Task 057 - Manage Secrets in Kubernetes
☐ Task 058 - Creating Soft Links Using Ansible
☐ Task 059 - Ansible Basic Playbook
☐ Task 060 - Git Fork a Repository
☐ Task 061 - Deploy Grafana on Kubernetes Cluster
☐ Task 062 - Deploy Jenkins on Kubernetes
☐ Task 063 - Create Namespaces on Kubernetes Cluster
☐ Task 064 - Ansible Copy Module
☐ Task 065 - Manage Git Repositories
☐ Task 066 - Update an Existing Deployment in Kubernetes
☐ Task 067 - Managing Jinja2 Templates Using Ansible
☐ Task 068 - Puppet Install a Package
☐ Task 069 - Ansible Lineinfile Module
☐ Task 070 - Setup Puppet Certs Autosign
☐ Task 071 - Create a Docker Network
☐ Task 072 - Create Deployments in Kubernetes Cluster
☐ Task 073 - Ansible Inventory Update
☐ Task 074 - Create Replicaset in Kubernetes Cluster
☐ Task 075 - Puppet String Manipulation
☐ Task 076 - Run a Docker Container
☐ Task 077 - Init Containers in Kubernetes
☐ Task 078 - Rollback a Deployment in Kubernetes
☐ Task 079 - Puppet Setup SSH Keys
☐ Task 080 - Deploy MySQL on Kubernetes
☐ Task 081 - Ansible Facts Gathering
☐ Task 082 - Create Cronjobs in Kubernetes
☐ Task 083 - Deploy Tomcat App on Kubernetes
☐ Task 084 - Fix Python App Deployed on Kubernetes Cluster
☐ Task 085 - Rolling Updates in Kubernetes
☐ Task 086 - Ansible Archive Module
☐ Task 087 - Ansible Config File Update
☐ Task 088 - Ansible Create Users and Groups
☐ Task 089 - Kubernetes Sidecar Containers
☐ Task 090 - Using Ansible Conditionals
☐ Task 091 - Ansible Setup Httpd and PHP
☐ Task 092 - Print Environment Variables
☐ Task 093 - Set Limits for Resources in Kubernetes
☐ Task 094 - Kubernetes Troubleshooting
☐ Task 095 - Ansible Blockinfile Module
☐ Task 096 - Countdown job in Kubernetes
☐ Task 097 - Docker Ports Mapping
☐ Task 098 - Troubleshoot Issue With Pods
☐ Task 099 - Ansible Replace Module
☐ Task 100 - Puppet Create a FIle
☐ Task 101 - ReplicationController in Kubernetes
☐ Task 102 - Puppet Setup Database
☐ Task 103 - Ansible Unarchive Module
☐ Task 104 - Puppet Multi-Packages Installation
☐ Task 105 - Git Create Branches
☐ Task 106 - Puppet Setup File Permissions
☐ Task 107 - Create Pods in Kubernetes Cluster
☐ Task 108 - Persistent Volumes in Kubernetes
☐ Task 109 - Git Revert Some Changes
☐ Task 110 - Fix issue with PhpFpm Application Deployed on Kubernetes
☐ Task 111 - Fix Issue with VolumeMounts in Kubernetes
☐ Task 112 - Git Manage Remotes
☐ Task 113 - Troubleshoot Deployment issues in Kubernetes
☐ Task 114 - Resolve Git Merge Conflicts
☐ Task 115 - Git Install and Create Repository
☐ Task 116 - Rolling Updates And Rolling Back Deployments in Kubernetes
☐ Task 117 - Ansible Ping Module Usage
☐ Task 118 - Deploy Node App on Kubernetes
☐ Task 119 - Pull Docker Image
☐ Task 120 - Deploy Nginx and Phpfpm on Kubernetes
☐ Task 121 - Git Setup from Scratch
☐ Task 122 - Kubernetes Redis Deployment
☐ Task 123 - Puppet Manage Services
☐ Task 124 - Install Docker Package
☐ Task 125 - Environment Variables in Kubernetes
☐ Task 126 - Managing ACLs Using Ansible
☐ Task 127 - Kubernetes Time Check Pod
☐ Task 128 - Deploy Guest Book App on Kubernetes
☐ Task 129 - Setup Puppet Certs
☐ Task 130 - Git Repository Update
☐ Task 131 - Deploy Nginx Web Server on Kubernetes Cluster
☐ Task 132 - Puppet Create Symlinks
☐ Task 133 - Puppet Setup NTP Server
☐ Task 134 - Deploy Nagios on Kubernetes
☐ Task 135 - Git Merge Branches
☐ Task 136 - Ansible File Module
☐ Task 137 - Docker Volumes Mapping
☐ Task 138 - Git Clone Repositories
☐ Task 139 - Create a Docker Image From Container
☐ Task 140 - Docker Copy Operations
☐ Task 141 - Docker EXEC Operations
☐ Task 142 - Deploy Apache Web Server on Kubernetes Cluster
☐ Task 143 - Puppet Add Users
☐ Task 144 - Git Install and Create Bare Repository
☐ Task 145 - Kubernetes Shared Volumes
☐ Task 146 - Puppet Setup NTP Server (Repeat task)
☐ Task 147 - Ansible Inventory Update (Repeat task)
☐ Task 148 - Ansible Basic Playbook (Repeat task)
☐ Task 149 - Ansible Setup Httpd and PHP (Repeat task)
☐ Task 150 - Create Replicaset in Kubernetes Cluster (Repeat task)
☐ Task 151 - Fix Python App Deployed on Kubernetes Cluster (Repeat task)
☐ Task 152 - Puppet Install a Package (Repeat task)
☐ Task 153 - Puppet Setup NTP Server (Repeat task)
Level 1
☐ Lab 001 - Create a user
☐ Lab 002 - Create a group
☐ Lab 003 - Create a Linux User with non-interactive shell
☐ Lab 004 - Linux User Without Home
☐ Lab 005 - Linux User Expiry
☐ Lab 006 - Linux User Files
☐ Lab 007 - Disable Root Login
☐ Lab 008 - Linux Archives
☐ Lab 009 - Linux File Permissions
☐ Lab 010 - Linux Access Control List
☐ Lab 011 - Linux String Substitute
☐ Lab 012 - Linux Remote Copy
☐ Lab 013 - Cron schedule deny to users
☐ Lab 014 - Linux Run Levels
☐ Lab 015 - Linux TimeZones Setting
☐ Lab 016 - Linux NTP Setup
☐ Lab 017 - Linux Firewalld Rules
☐ Lab 018 - Linux Resource Limits
☐ Lab 019 - Selinux Installation
Level 2
☐ Lab 001 - Create a Cron Job
☐ Lab 002 - Linux Banner
☐ Lab 003 - Linux Collaborative Directories
☐ Lab 004 - Linux String Substitute (sed)
☐ Lab 005 - Linux SSH Authentication
☐ Lab 006 - Linux Find Command
☐ Lab 007 - Install a package
☐ Lab 008 - Install Ansible
☐ Lab 009 - Configure Local Yum repos
☐ Lab 010 - Linux Services
☐ Lab 011 - Linux Configure sudo
☐ Lab 012 - DNS Troubleshooting
☐ Lab 013 - Linux Firewalld Setup
☐ Lab 014 - Linux Postfix Mail Server
☐ Lab 015 - Linux Postfix Troubleshooting
☐ Lab 016 - Install and Configure HaProxy LBR
☐ Lab 017 - Haproxy LBR Troubleshooting
☐ Lab 018 - MariaDB Troubleshooting
☐ Lab 019 - Linux Bash Scripts
☐ Lab 020 - Add Response Headers in Apache
☐ Lab 021 - Apache Troubleshooting
☐ Lab 022 - Linux GPG Encryption
☐ Lab 023 - Linux LogRotate
☐ Lab 024 - Application Security
Level 3
☐ Lab 001 - Apache Redirects
☐ Lab 002 - Install And Configure SFTP
☐ Lab 003 - Install and Configure Tomcat Server
☐ Lab 004 - Linux Network Services
☐ Lab 005 - IPtables Installation And Configuration
☐ Lab 006 - Linux Nginx as Reverse Proxy
☐ Lab 007 - Configure protected directories in Apache
☐ Lab 008 - Linux Process Troubleshooting
☐ Lab 009 - PAM Authentication For Apache
☐ Lab 010 - Setup SSL for Nginx
Level 4
☐ Lab 001 - Install and Configure Nginx as an LBR
☐ Lab 002 - LEMP Troubleshooting
☐ Lab 003 - Install and Configure PostgreSQL
☐ Lab 004 - Bash scripts if/else statements
☐ Lab 005 - Configure LAMP server
☐ Lab 006 - Install and Configure DB Server
☐ Lab 007 - Install and Configure Web Application
☐ Lab 008 - Install and Configure PHP-FPM
☐ Lab 009 - Configure Nginx + PHP-FPM Using Unix Sock
Level 1
☐ Lab 001 - Git Install and Create Bare Repository
☐ Lab 002 - Git Clone Repositories
☐ Lab 003 - Git Fork a Repository
☐ Lab 004 - Git Repository Update
☐ Lab 005 - Git Delete Branches
Level 2
☐ Lab 001 - Git Install and Create Repository
☐ Lab 002 - Git Create Branches
☐ Lab 003 - Git Merge Branches
☐ Lab 004 - Git Manage Remotes
☐ Lab 005 - Git Revert Some Changes
Level 3
☐ Lab 001 - Git Cherry Pick
☐ Lab 002 - Manage Git Pull Requests
☐ Lab 003 - Git hard reset
☐ Lab 004 - Git Clean
☐ Lab 005 - Git Stash
Level 4
☐ Lab 001 - Git Rebase
☐ Lab 002 - Manage Git Repositories
☐ Lab 003 - Resolve Git Merge Conflicts
☐ Lab 004 - Git Hook
☐ Lab 005 - Git Setup from Scratch
Level 1
☐ Lab 001 - Ansible Basic Playbook
☐ Lab 002 - Ansible Inventory Update
☐ Lab 003 - Ansible Config File Update
☐ Lab 004 - Ansible Copy Module
☐ Lab 005 - Ansible File Module
Level 2
☐ Lab 001 - Ansible Ping Module Usage
☐ Lab 002 - Ansible Install Package
☐ Lab 003 - Ansible Archive Module
☐ Lab 004 - Ansible Unarchive Module
☐ Lab 005 - Ansible Blockinfile Module
Level 3
☐ Lab 001 - Creating Soft Links Using Ansible
☐ Lab 002 - Managing ACLs Using Ansible
☐ Lab 003 - Ansible Manage Services
☐ Lab 004 - Ansible Lineinfile Module
☐ Lab 005 - Ansible Replace Module
Level 4
☐ Lab 001 - Ansible Facts Gathering
☐ Lab 002 - Ansible Create Users and Groups
☐ Lab 003 - Managing Jinja2 Templates Using Ansible
☐ Lab 004 - Ansible Setup Httpd and PHP
☐ Lab 005 - Using Ansible Conditionals
Level 1
☐ Lab 001 - Install Docker Package
☐ Lab 002 - Run a Docker Container
☐ Lab 003 - Docker Delete Container
☐ Lab 004 - Docker Copy Operations
☐ Lab 005 - Docker Container Issue
Level 2
☐ Lab 001 - Pull Docker Image
☐ Lab 002 - Docker Update Permissions
☐ Lab 003 - Create a Docker Image From Container
☐ Lab 004 - Docker EXEC Operations
☐ Lab 005 - Write a Docker File
Level 3
☐ Lab 001 - Create a Docker Network
☐ Lab 002 - Docker Volumes Mapping
☐ Lab 003 - Docker Ports Mapping
☐ Lab 004 - Save, Load and Transfer Docker Image
☐ Lab 005 - Write a Docker Compose File
Level 4
☐ Lab 001 - Resolve Dockerfile Issues
☐ Lab 002 - Resolve Docker Compose Issues
☐ Lab 003 - Deploy an App on Docker Containers
☐ Lab 004 - Docker Node App
☐ Lab 005 - Docker Python App
Level 1
☐ Lab 001 - Create Pods in Kubernetes Cluster
☐ Lab 002 - Create Deployments in Kubernetes Cluster
☐ Lab 003 - Create Namespaces in Kubernetes Cluster
☐ Lab 004 - Set Limits for Resources in Kubernetes
☐ Lab 005 - Rolling Updates in Kubernetes
☐ Lab 006 - Rollback a Deployment in Kubernetes
☐ Lab 007 - Create Replicaset in Kubernetes Cluster
☐ Lab 008 - Create Cronjobs in Kubernetes
☐ Lab 009 - Countdown job in Kubernetes
☐ Lab 010 - Kubernetes Time Check Pod
☐ Lab 011 - Troubleshoot Issue With Pods
☐ Lab 012 - Update an Existing Deployment in Kubernetes
☐ Lab 013 - ReplicationController in Kubernetes
☐ Lab 014 - Fix Issue with VolumeMounts in Kubernetes
Level 2
☐ Lab 001 - Kubernetes Shared Volumes
☐ Lab 002 - Kubernetes Sidecar Containers
☐ Lab 003 - Deploy Nginx Web Server on Kubernetes Cluster
☐ Lab 004 - Print Environment Variables
☐ Lab 005 - Rolling Updates And Rolling Back Deployments in Kubernetes
☐ Lab 006 - Deploy Jenkins on Kubernetes
☐ Lab 007 - Deploy Grafana on Kubernetes Cluster
☐ Lab 008 - Deploy Tomcat App on Kubernetes
☐ Lab 009 - Deploy Node App on Kubernetes
☐ Lab 010 - Troubleshoot Deployment issues in Kubernetes
☐ Lab 011 - Fix issue with LAMP Environment in Kubernetes
Level 3
☐ Lab 001 - Deploy Apache Web Server on Kubernetes Cluster
☐ Lab 002 - Deploy Lamp Stack on Kubernetes Cluster
☐ Lab 003 - Init Containers in Kubernetes
☐ Lab 004 - Persistent Volumes in Kubernetes
☐ Lab 005 - Manage Secrets in Kubernetes
☐ Lab 006 - Environment Variables in Kubernetes
☐ Lab 007 - Kubernetes LEMP Setup
☐ Lab 008 - Kubernetes Troubleshooting
☐ Lab 009 - Deploy Iron Gallery App on Kubernetes
☐ Lab 010 - Fix Python App Deployed on Kubernetes Cluster
Level 4
☐ Lab 001 - Deploy Redis Deployment on Kubernetes
☐ Lab 002 - Deploy MySQL on Kubernetes
☐ Lab 003 - Kubernetes Nginx and PhpFPM Setup
☐ Lab 004 - Deploy Drupal App on Kubernetes
☐ Lab 005 - Deploy Guest Book App on Kubernetes
Level 1
☐ Lab 001 - Jenkins Installation
☐ Lab 002 - Jenkins Plugins
☐ Lab 003 - Jenkins Create Users
☐ Lab 004 - Jenkins Folders
☐ Lab 005 - Jenkins Install Packages
Level 2
☐ Lab 001 - Jenkins Views
☐ Lab 002 - Jenkins Parameterized Builds
☐ Lab 003 - Jenkins Workspaces
☐ Lab 004 - Jenkins Database Backup Job
☐ Lab 005 - Jenkins Scheduled Jobs
Level 3
☐ Lab 001 - Jenkins Slave Nodes
☐ Lab 002 - Jenkins Project Security
☐ Lab 003 - Jenkins Build Images
☐ Lab 004 - Jenkins Deploy Pipeline
☐ Lab 005 - Jenkins Conditional Pipeline
Level 4
☐ Lab 001 - Jenkins Deployment Job
☐ Lab 002 - Jenkins Chained Builds
☐ Lab 003 - Jenkins MR Jobs
☐ Lab 004 - Jenkins Multistage Pipeline
☐ Lab 005 - Jenkins Setup Node App