Complete DevOps learning path with hands-on labs covering Linux, Docker, Kubernetes, Git, Ansible, and more!
This repository contains comprehensive solutions and detailed explanations for the 100 Days of DevOps Challenge by KodeKloud. Perfect for beginners and professionals looking to master DevOps tools and practices.
#100DaysOfDevOpsWant to start the official challenge? Use this KodeKloud link - it helps support this project!
| Module | Days | Topics Covered | Status |
|---|---|---|---|
| Linux Fundamentals | 1-20 | User management, SSH, scripting, networking | β Complete |
| Version Control | 21-34 | Git workflows, branching, hooks | β Complete |
| Containerization | 35-47 | Docker, Docker Compose, networking | β Complete |
| Kubernetes | 48-67 | Pods, deployments, volumes, troubleshooting | β Complete |
| CI/CD, IaC, Automation | 68-100 | Jenkins, Terraform, Ansible | β³ In Progress |
| Day | Challenge | Topics | Solution |
|---|---|---|---|
| 001 | Linux User Setup with Non-interactive Shell | Linux, Kubernetes | Solution |
| 002 | Temporary User Setup with Expiry Date | Linux | Solution |
| 003 | Secure SSH Root Access | Linux, Kubernetes | Solution |
| 004 | Script Execute Permissions | Linux, Git | Solution |
| 005 | Install and Configuration Selinux | Linux, Security | Solution |
| 006 | Setup a Cron Job | Linux, Kubernetes | Solution |
| 007 | Linux SSH Automation | Linux, Ansible | Solution |
| 008 | Setup Ansible | Linux, Ansible | Solution |
| 009 | Debugging MariaDB Issues | Linux, Database | Solution |
| 010 | Create a BASH Script | Linux, Networking | Solution |
| 011 | Install and Setup Tomcat Server | Linux, Networking | Solution |
| 012 | Linux Network Services | Linux, Networking | Solution |
| 013 | IPtables Installation And Configuration | Linux, Networking | Solution |
| 014 | Linux Process Troubleshooting | Linux, Networking | Solution |
| 015 | Setup SSL for NGINX | Linux, Nginx | Solution |
| 016 | Install and Configure NGINX as Load Balancer | Linux, Networking | Solution |
| 017 | Install and Configure PostgreSQL | Linux, Database | Solution |
| 018 | Configure LAMP Server (LAMP Stack) | Linux, Database | Solution |
| 019 | Install and Configure Web Application | Linux, Networking | Solution |
| 020 | Configure Nginx + PHP-FPM Using Unix Sock | Linux, Nginx | Solution |
| 021 | Setup Git Repository on Server | Git | Solution |
| 022 | Clone Git Repository | Git, Linux | Solution |
| 023 | Fork a repository | Git, Linux | Solution |
| 024 | Git Branch Create | Git | Solution |
| 025 | Git Branch Merge | Git, Linux | Solution |
| 026 | Git Manage Remotes | Git | Solution |
| 027 | Git Revert Some Changes | Git, Networking | Solution |
| 028 | Git Cherry Pick | Git | Solution |
| 029 | Git Pull Request | Git, Linux | Solution |
| 030 | Git Reset Hard | Git, Linux | Solution |
| 031 | Git Stash | Git, Linux | Solution |
| 032 | Git Rebase | Git | Solution |
| 033 | Git Merge Conflict Resolve | Git, Linux | Solution |
| 034 | Configure Git Hook | Git, Linux | Solution |
| 035 | Setup Docker Installation | Linux, Docker | Solution |
| 036 | Run a NGINX Container on Docker | Docker, Kubernetes | Solution |
| 037 | Copy File to Docker Container | Docker, Kubernetes | Solution |
| 038 | Docker Pull Images | Docker | Solution |
| 039 | Create a Docker Image From a Container | Docker, Git | Solution |
| 040 | Docker Execution | Linux, Docker | Solution |
| 041 | Create a Docker File | Docker, Networking | Solution |
| 042 | Create Docker Network | Docker, Networking | Solution |
| 043 | Docker Ports Mapping | Docker, Kubernetes | Solution |
| 044 | Creating a Docker Compose File | Docker, Networking | Solution |
| 045 | Resolve Dockerfile Issues | Docker, Networking | Solution |
| 046 | Deploy an App on Docker Containers | Docker, Kubernetes | Solution |
| 047 | Docker Python App | Docker, Networking | Solution |
| 048 | Deploy Pods in Kubernetes Cluster | Kubernetes, Docker | Solution |
| 049 | Deploy Applications with Kubernetes Deployments | Kubernetes, Docker | Solution |
| 050 | Set Resource Limits in Kubernetes Cluster | Kubernetes, Docker | Solution |
| 051 | Execute Rolling Updates in Kubernetes | Kubernetes, Docker | Solution |
| 052 | Execute Rollback in Kubernetes Cluster | Kubernetes, Docker | Solution |
| 053 | Resolve VolumeMounts Issue in Kubernetes | Kubernetes, Docker | Solution |
| 054 | Kubernetes Shared Volumes | Kubernetes, Docker | Solution |
| 055 | Kubernetes Sidecar Containers | Kubernetes, Docker | Solution |
| 056 | Deploy Nginx Web Server on Kubernetes Cluster | Kubernetes, Docker | Solution |
| 057 | Print Environment Variables | Kubernetes, Linux | Solution |
| 058 | Deploy Grafana on Kubernetes Cluster | Kubernetes, Docker | Solution |
| 059 | Troubleshoot Deployment Issues in Kubernetes | Kubernetes, Networking | Solution |
| 060 | Persistent Volumes in Kubernetes | Kubernetes, Docker | Solution |
| 061 | Init Containers in Kubernetes | Kubernetes, Docker | Solution |
| 062 | Manage Secrets in Kubernetes | Kubernetes, Docker | Solution |
| 063 | Deploy Iron Gallery App on Kubernetes | Kubernetes, Database | Solution |
| 064 | Fix Python App Deployed on Kubernetes Cluster | Kubernetes, Docker | Solution |
| 065 | Deploy Redis Deployment on Kubernetes | Kubernetes, Docker | Solution |
| 066 | Deploy MySQL on Kubernetes | Kubernetes, Docker | Solution |
| 067 | Deploy Guest Book App on Kubernetes | Kubernetes, Docker | Solution |
| 068 | Set Up Jenkins Server | Linux, Ci/Cd | Solution |
| 069 | Install Jenkins Plugins | Ci/Cd | Solution |
| 070 | Configure Jenkins User Access | Linux, Ci/Cd | Solution |
| 071 | Configure Jenkins Job for Package Installation | Ci/Cd | Solution |
| 072 | Jenkins Parameterized Builds | Ci/Cd | Solution |
| 073 | Jenkins Scheduled Jobs | Ci/Cd | Solution |
| 074 | Jenkins Database Backup Job | Database, Ci/Cd | Solution |
| 075 | Jenkins Slave Nodes | Ci/Cd | Solution |
| 076 | Jenkins Project Security | Ci/Cd, Security | Solution |
| 077 | Jenkins Deploy Pipeline | Kubernetes, Ci/Cd | Solution |
| 078 | Jenkins Conditional Pipeline | Ci/Cd | Solution |
| 079 | Jenkins Deployment Job | Kubernetes, Ci/Cd | Solution |
| 080 | Jenkins Chained Builds | Ci/Cd | Solution |
| 081 | Jenkins Multistage Pipeline | Ci/Cd | Solution |
| 082 | Create Ansible Inventory for App Server Testing | Linux, Ansible | Solution |
| 083 | Troubleshoot and Create Ansible Playbook | Ansible | Solution |
| 084 | Copy Data to App Servers using Ansible | Linux, Ansible | Solution |
| 085 | Create Files on App Servers using Ansible | Linux, Ansible | Solution |
| 086 | Ansible Ping Module Usage | Ansible | Solution |
| 087 | Ansible Install Package | Ansible | Solution |
| 088 | Ansible Blockinfile Module | Ansible | Solution |
| 089 | Ansible Manage Services | Kubernetes, Ansible | Solution |
| 090 | Managing ACLs Using Ansible | Ansible | Solution |
| 091 | Ansible Lineinfile Module | Ansible | Solution |
| 092 | Managing Jinja2 Templates Using Ansible | Ansible | Solution |
| 093 | Using Ansible Conditions | Ansible | Solution |
| 094 | Create VPC Using Terraform | Iac | Solution |
Master user management, permissions, networking, and system administration basics.
Learn Git workflows, branching strategies, and collaboration techniques.
Understand Docker concepts, image creation, and container orchestration.
Deploy and manage applications in Kubernetes clusters with advanced patterns.
Deploy CI/CD pipelines, provisioning infrastructures, and ansible automation.
Contributions are welcome! If you think any solution steps would be better, Hereβs how you can help:
git checkout -b feature/improvement)git commit -am 'Add new solution')git push origin feature/improvement)If this repository helped you in your DevOps journey:
This project is licensed under the MIT License - see the LICENSE file for details.
Happy Learning!
Remember: The best way to learn DevOps is by doing. Start with Day 1 and build your skills progressively!