Skip to content

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.

License

Notifications You must be signed in to change notification settings

imShakil/100-Days-Of-DevOps-Challenge-KodeKloud

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

84 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ 100 Days of DevOps Challenge [KodeKloud]

GitHub stars GitHub forks GitHub issues License: MIT

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.

🎯 What You'll Learn

  • Linux Administration - User management, networking, security
  • Containerization - Docker, Docker Compose, container orchestration
  • Kubernetes - Pods, deployments, services, volumes, troubleshooting
  • Version Control - Git workflows, branching, merging, hooks
  • Configuration Management - Ansible automation
  • Web Servers - Nginx, Apache, load balancing, SSL
  • Databases - MySQL, PostgreSQL, MariaDB
  • Infrastructure as Code - Terraform, YAML configurations, best practices

πŸš€ Quick Start

  1. Star this repository ⭐ to keep track of your progress
  2. Fork the repo to create your own copy
  3. Start with Day 001 - Linux User Setup
  4. Follow the daily challenges in order
  5. Share your progress using #100DaysOfDevOps

Want to start the official challenge? Use this KodeKloud link - it helps support this project!

Challenge Progress

067%

Learning Modules

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

Daily Challenges

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

Prerequisites

  • Basic Linux knowledge - Command line familiarity
  • Text editor - vim, nano, or VS Code
  • Virtual environment - VirtualBox, VMware, or cloud instances
  • Git basics - Version control fundamentals
  • Networking concepts - Basic understanding of ports, protocols

πŸ› οΈ Technologies Covered

Infrastructure & OS

  • Linux (CentOS, Ubuntu)
  • Shell Scripting (Bash)
  • System Administration
  • Network Configuration

Containerization

  • Docker - Containers, images, networking
  • Docker Compose - Multi-container applications
  • Container Registry - Image management

Orchestration

  • Kubernetes - Pods, deployments, volumes, services, replica set
  • kubectl - Cluster management
  • YAML - Configuration files

Version Control

  • Git - Branching, merging, rebasing
  • GitHub - Collaboration workflows
  • Git Hooks - Automation

Configuration Management

  • Ansible - Automation and configuration
  • YAML - Playbooks and inventory

Web Servers & Databases

  • Nginx - Web server, load balancer, SSL
  • Apache - LAMP stack configuration
  • MySQL/MariaDB - Database management

CI/CD, Automation and Provisioning

  • Terrafor - IaC tool to manage cloud resources
  • Jenkins - CI/CD pipelines for integration and delivery
  • Ansible Playbook - Automation resource management

🎯 Learning Path

Week 1-3: Linux Fundamentals

Master user management, permissions, networking, and system administration basics.

Week 4-5: Version Control

Learn Git workflows, branching strategies, and collaboration techniques.

Week 6-7: Containerization

Understand Docker concepts, image creation, and container orchestration.

Week 8-10: Kubernetes

Deploy and manage applications in Kubernetes clusters with advanced patterns.

Week 10-12: Jenkins, Terraform

Deploy CI/CD pipelines, provisioning infrastructures, and ansible automation.

🀝 Contributing

Contributions are welcome! If you think any solution steps would be better, Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/improvement)
  3. Commit your changes (git commit -am 'Add new solution')
  4. Push to the branch (git push origin feature/improvement)
  5. Create a Pull Request

πŸ“š Additional Resources

⭐ Show Your Support

If this repository helped you in your DevOps journey:

  • Star this repository ⭐
  • Fork it to create your own version
  • Share it with fellow developers
  • Follow me for more DevOps content

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ”— Connect


Happy Learning!

Remember: The best way to learn DevOps is by doing. Start with Day 1 and build your skills progressively!

About

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.

Topics

Resources

License

Stars

Watchers

Forks