Welcome to the KodeKloud Engineer Lab Solutions repository! This repository is dedicated to providing comprehensive solutions for various labs provided by KodeKloud, covering a range of technologies including Docker, Kubernetes, and more.
KodeKloud offers an excellent platform for mastering DevOps and Cloud technologies through hands-on labs and practical exercises. This repository aims to consolidate solutions and answers for these labs, helping learners deepen their understanding and enhance their problem-solving skills.
Click to expand 🐧Linux Labs Tasks
- 🔧 Custom Apache User Setup
- 👥 Group Creation and User Assignment
- 🔧 Linux User Setup with Non-Interactive Shell
- 🔒 Service User Creation without Home Directory
- ⏳ Temporary User Setup with Expiry
- 🔄 Linux User Data Transfer
- 🔐 Secure Root SSH Access
- 🔙 Data Backup for Developer
- 🔧 Script Execution Permissions
- ⚙️ File Permission Correction
- 🔄 String Replacement
- 🔒 Secure Data Transfer
- 🔒 Restrict Cron Access
- 🖥️ Default GUI Boot Configuration
- 🕒 Timezone Alignment
- 🔐 Firewall Configuration
- 🔧 Process Limit Adjustment
- 🔒 SElinux Installation and Configuration
- 🕒 Create a Cron Job
- 📜 Linux Banner
- 👥 Linux Collaborative Directories
- 🔄 Linux String Substitute (sed)
- 🔐 Linux SSH Authentication
- 🔍 Linux Find Command
- 📦 Install a Package
- 🔧 Install Ansible
- 🔧 Configure Local Yum Repos
- 🛠️ Linux Services
- 🔒 Linux Configure sudo
- 🔍 DNS Troubleshooting
- 🛠️ Linux Firewalld Setup
- 📧 Linux Postfix Mail Server
- 🔧 Linux Postfix Troubleshooting
- 🔧 Install and Configure HaProxy LBR
- 🔍 HaProxy LBR Troubleshooting
- 🔧 MariaDB Troubleshooting
- 🔧 Linux Bash Scripts
- 🔧 Add Response Headers in Apache
- 🔍 Apache Troubleshooting
- 🔐 Linux GPG Encryption
- 🔄 Linux LogRotate
- 🔐 Application Security
- 🔄 Apache Redirects
- 🔧 Install and Configure SFTP
- 🔧 Install and Configure Tomcat Server
- 🔗 Linux Network Services
- 🔧 IPtables Installation and Configuration
- 🔄 Linux Nginx as Reverse Proxy
- 🔒 Configure Protected Directories in Apache
- 🔍 Linux Process Troubleshooting
- 🔒 PAM Authentication for Apache
- 🔒 Setup SSL for Nginx
- 🔧 Install and Configure Nginx as an LBR
- 🔍 LEMP Troubleshooting
- 🔧 Install and Configure PostgreSQL
- 🔄 Bash Scripts if/else Statements
- 🔧 Configure LAMP Server
- 🔧 Install and Configure DB Server
- 🔧 Install and Configure Web Application
- 🔧 Install and Configure PHP-FPM
- 🔗 Configure Nginx + PHP-FPM Using Unix Sock
Click to expand 🔄Git Labs Tasks
- 📄 Update Git Repository with Sample HTML File
- 🛠️ Set Up Git Repository on Storage Server
- 🍴 Fork a Git Repository
- 🗑️ Delete Git Branch
- 🔄 Clone Git Repository on Storage Server
- 🔧 Install and Create Repository
- 🌿 Git Create Branches
- 🔗 Git Merge Branches
- 🌍 Git Manage Remotes
- 🔄 Git Revert Some Changes
- 🍒 Git Cherry Pick
- 🔄 Manage Git Pull Requests
- 🚨 Git Hard Reset
- 🧹 Git Clean
- 📦 Git Stash
- 🔄 Git Rebase
- 🛠️ Manage Git Repositories
- ⚙️ Resolve Git Merge Conflicts
- 🔌 Git Hook
- ⚙️ Git Setup from Scratch
Click to expand 🔧Ansible Labs Tasks
- 🔧 Troubleshoot and Create Ansible Playbook
- 📦 Create Ansible Inventory for App Server Testing
- 🔒 Configure Default SSH User for Ansible
- 📤 Copy Data to App Servers using Ansible
- 🗂️ Create Files on App Servers using Ansible
- 🔍 Ansible Ping Module Usage
- 📦 Ansible Install Package
- 📂 Ansible Archive Module
- 📥 Ansible Unarchive Module
- 📝 Ansible Blockinfile Module
- 🔗 Creating Soft Links Using Ansible
- 🔒 Managing ACLs Using Ansible
- 🛠️ Ansible Manage Services
- 📝 Ansible Lineinfile Module
- 🔄 Ansible Replace Module
- 🔍 Ansible Facts Gathering
- 👥 Ansible Create Users and Groups
- 🧩 Managing Jinja2 Templates Using Ansible
- 🛠️ Ansible Setup Httpd and PHP
- 🔄 Using Ansible Conditionals
Click to expand 🐳Docker Labs Tasks
- 📁 Copy File to Docker Container
- 📦 Create a Docker Image From Container
- 🌐 Create a Docker Network
- 🗑️ Delete Docker Container
- 🚀 Deploy Nginx Container on Application Server
- 🔧 Docker EXEC Operations
- 🔗 Docker Ports Mapping
- 🔄 Docker Update Permissions
- 🔒 Docker Volumes Mapping
- 📦 Install Docker Packages
- 📥 Pull Docker Image
- 💾 Save, Load and Transfer Docker Image
- 🛠️ Troubleshoot Docker Container Issue
- 📝 Write a Docker Compose File
- 📜 Write a Docker File
Click to expand ☸ Kubernetes Labs Tasks
- ⏲️ Create Countdown Job in Kubernetes
- 🌐 Deploy Apache Web Server on Kubernetes Cluster
- 🚀 Deploy Applications with Kubernetes Deployments
- 🦄 Deploy Drupal App on Kubernetes
- 📊 Deploy Grafana on Kubernetes Cluster
- 📚 Deploy Guest Book App on Kubernetes
- 🔄 Deploy Highly Available Pods with Replication Controller
- 🖼️ Deploy Iron Gallery App on Kubernetes
- 🔧 Deploy Ansible on Kubernetes
- 🛠️ Deploy Lamp Stack on Kubernetes Cluster
- 🐬 Deploy MySQL on Kubernetes
- 🌐 Deploy Nginx Web Server on Kubernetes Cluster
- 🌐 Deploy Node App on Kubernetes
- 📦 Deploy Pods in Kubernetes Cluster
- 🔐 Deploy Redis Deployment on Kubernetes
- 🔄 Deploy Replica Set in Kubernetes
- 🔧 Deploy Tomcat App on Kubernetes
- 🌍 Environment Variables in Kubernetes
- 🔄 Execute Rolling Updates in Kubernetes
- 🔧 Fix issue with LAMP Environment in Kubernetes
- 🐍 Fix Python App Deployed on Kubernetes Cluster
- 🔧 Init Containers in Kubernetes
- ⚙️ Kubernetes LEMP Setup
- ⚙️ Kubernetes Nginx and Php FPM Setup
- 🔄 Kubernetes Shared Volumes
- 🔄 Kubernetes Sidecar Containers
- 🛠️ Kubernetes Troubleshooting
- 🔑 Manage Secrets in Kubernetes
- 📦 Persistent Volumes in Kubernetes
- 🔍 Print Environment Variables
- 🔄 Resolve Pod Deployment Issue
- 🔄 Resolve Volume Mounts Issue in Kubernetes
- ↩️ Revert Deployment to Previous Version in Kubernetes
- 🔄 Rolling Updates And Rolling Back Deployments in Kubernetes
- 📅 Schedule Cronjobs in Kubernetes
- 📈 Set Resource Limits in Kubernetes Pods
- ⏰ Set Up Time Check Pod in Kubernetes
- 🔄 Setup Kubernetes Namespaces and PODs
- 🔧 Troubleshoot Deployment issues in Kubernetes
- 🔄 Update Deployment and Service in Kubernetes
To get started with this repository:
-
Clone the Repository
git clone https://github.com/prudvikeshav/KodekloudEngineer.git cd KodekloudEngineer
-
Navigate to the Lab Folder
- Navigate to the specific folder for the lab you are interested in, e.g.,
docker-labs
.
- Navigate to the specific folder for the lab you are interested in, e.g.,
-
Review the Questions and Solutions
- Each folder contains files that outline the lab exercise questions and their solutions.
We welcome contributions from the community! If you would like to contribute:
-
Fork the Repository
-
Create a New Branch
git checkout -b feature/your-feature-name
-
Add Your Solutions
- Add or update the lab solutions in the relevant folders.
-
Commit Your Changes
git add . git commit -m "Add/update solutions for [Lab Name]"
-
Push Your Changes
git push origin feature/your-feature-name
-
Create a Pull Request
- Go to the repository on GitHub and create a Pull Request with a clear description of your changes.
- Ensure that solutions are well-documented and easy to understand.
- Follow the format of existing solution files for consistency.
- Test your solutions before submitting.
This project is licensed under the MIT License - see the LICENSE file for details.
Thanks to the KodeKloud team for providing such valuable hands-on labs.
Happy Learning! 🎉