Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

51 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Kubernetes Projects & Applications Repository

A comprehensive collection of Kubernetes deployment examples, troubleshooting guides, and application deployments for learning and reference purposes.

πŸ“‹ Table of Contents

🎯 Overview

This repository contains hands-on Kubernetes examples covering various concepts including:

  • Pod deployments and management
  • ReplicationControllers and high availability
  • Volume management and shared storage
  • Service configuration and networking
  • Application deployments (NGINX, Tomcat, Django, Java)
  • Common troubleshooting scenarios

πŸ“¦ Projects

Kubernetes Fundamentals

1. All-Commands

Updated: 4 months ago
A comprehensive reference guide containing all essential Kubernetes commands for daily operations and management.

2. Kubernetes Time-Check Pod

Updated: 4 months ago
Demonstrates basic pod creation with a time-check application, useful for understanding pod lifecycle and scheduling.

3. Kubernetes Shared Volumes

Updated: 4 months ago
Illustrates how to implement shared volumes between containers in Kubernetes, covering volume types and mount configurations.

4. Deploy Highly Available Pods with ReplicationController

Updated: 4 months ago
Shows how to use ReplicationControllers to ensure high availability and automatic pod scaling/recovery.

5. Update Deployment and Service in Kubernetes

Updated: Last month
Covers strategies for updating running deployments and services with zero-downtime deployments.

Application Deployments

6. Deploy an NGINX Application on k8s

Updated: 4 months ago
Step-by-step guide to deploying NGINX web server on Kubernetes, including service exposure and configuration.

Key Features:

  • Basic NGINX deployment
  • Service configuration
  • Port mapping
  • LoadBalancer/NodePort setup

7. Deploy Tomcat App on Kubernetes

Updated: 3 months ago
Complete guide for deploying Apache Tomcat application server on Kubernetes cluster.

Key Features:

  • Tomcat container deployment
  • Resource allocation
  • Environment configuration
  • Service exposure

8. Django Notes App

Updated: 8 months ago
A full-stack Django application deployment showcasing Python web application hosting on Kubernetes.

Technologies:

  • Django framework
  • Python runtime
  • Database connectivity
  • StatefulSet or Deployment configuration

9. Java Quotes App

Updated: 8 months ago
Java-based application deployment demonstrating microservices architecture on Kubernetes.

Technologies:

  • Java application server
  • Container optimization
  • Service mesh integration
  • External dependencies management

10. MySQL Database

MySQL database deployment configurations and best practices for running stateful applications on Kubernetes.

Key Features:

  • StatefulSet configuration
  • Persistent volume claims
  • Secret management for credentials
  • Backup and recovery strategies

Troubleshooting Guides

11. Resolve Pod Deployment Issue

Updated: 4 months ago
Common pod deployment problems and their solutions, including image pull errors, resource constraints, and scheduling issues.

Covers:

  • ImagePullBackOff errors
  • CrashLoopBackOff debugging
  • Resource quota issues
  • Node affinity problems

12. Resolve VolumeMounts Issue in Kubernetes

Updated: 4 months ago
Troubleshooting guide for volume mounting problems, permission issues, and storage class configurations.

Covers:

  • Permission denied errors
  • Mount path conflicts
  • PVC binding issues
  • Storage class problems

13. Troubleshoot Deployment Issues in Kubernetes

Updated: 3 months ago
Comprehensive guide for diagnosing and fixing deployment-related problems.

Covers:

  • Rollout failures
  • Container restart loops
  • Configuration errors
  • Network connectivity issues

πŸ”§ Prerequisites

Before working with these projects, ensure you have:

  • Kubernetes Cluster: v1.20+ (minikube, kind, or cloud provider)
  • kubectl: Latest stable version
  • Container Runtime: Docker or containerd
  • Basic Knowledge:
    • Container concepts
    • YAML syntax
    • Basic Linux commands
    • Networking fundamentals

Optional Tools

  • Helm: For package management
  • k9s: Terminal-based UI for Kubernetes
  • kubectx/kubens: For context and namespace switching
  • Lens: Kubernetes IDE

πŸš€ Getting Started

1. Clone the Repository

git clone <repository-url>
cd <repository-name>

2. Verify Cluster Access

kubectl cluster-info
kubectl get nodes

3. Choose a Project

Navigate to any project directory and follow the specific README instructions:

cd Deploy-NGINX-App
kubectl apply -f .

4. Verify Deployment

kubectl get pods
kubectl get services
kubectl get deployments

πŸ“ Repository Structure

.
β”œβ”€β”€ All-Commands/
β”‚   └── all-commands.md
β”œβ”€β”€ Deploy-HA-Pods-ReplicationController/
β”‚   └── README.md
β”œβ”€β”€ Deploy-Tomcat-App/
β”‚   └── README.md
β”œβ”€β”€ Deploy-NGINX-App/
β”‚   └── README.md
β”œβ”€β”€ Kubernetes-Shared-Volumes/
β”‚   └── README.md
β”œβ”€β”€ Kubernetes-Time-Check-Pod/
β”‚   └── Questions
β”œβ”€β”€ Resolve-Pod-Deployment-Issue/
β”‚   └── webserver-pod.yml
β”œβ”€β”€ Resolve-VolumeMounts-Issue/
β”‚   └── Commands.md
β”œβ”€β”€ Troubleshoot-Deployment-Issues/
β”‚   └── Commands.md
β”œβ”€β”€ Update-Deployment-Service/
β”‚   └── README.md
β”œβ”€β”€ django-notes-app/
β”‚   └── [application files]
β”œβ”€β”€ java-quotes-app/
β”‚   └── [application files]
β”œβ”€β”€ mysql/
β”‚   └── [configuration files]
└── README.md

πŸ“š Learning Path

Beginner

  1. Start with All-Commands for basic kubectl syntax
  2. Deploy simple NGINX Application
  3. Understand pod lifecycle with Time-Check Pod

Intermediate

  1. Learn high availability with ReplicationController
  2. Explore storage with Shared Volumes
  3. Deploy applications: Tomcat, Django, Java

Advanced

  1. Master troubleshooting guides
  2. Implement Update Deployment strategies
  3. Configure databases with MySQL deployment

πŸ› οΈ Common Commands Reference

Pod Management

kubectl get pods
kubectl describe pod <pod-name>
kubectl logs <pod-name>
kubectl exec -it <pod-name> -- /bin/bash

Deployment Management

kubectl get deployments
kubectl rollout status deployment/<deployment-name>
kubectl rollout history deployment/<deployment-name>
kubectl rollout undo deployment/<deployment-name>

Service Management

kubectl get services
kubectl expose deployment <deployment-name> --port=80 --type=LoadBalancer
kubectl describe service <service-name>

Troubleshooting

kubectl get events --sort-by=.metadata.creationTimestamp
kubectl top nodes
kubectl top pods
kubectl describe node <node-name>

🀝 Contributing

Contributions are welcome! Please follow these guidelines:

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

Contribution Areas

  • New application deployments
  • Additional troubleshooting guides
  • Documentation improvements
  • Bug fixes and updates
  • Best practices and optimizations

πŸ“ Project Timeline

  • 8 months ago: Initial Django and Java applications
  • 4 months ago: Core Kubernetes fundamentals and commands
  • 3 months ago: Tomcat deployment and troubleshooting guides
  • Last month: Latest deployment updates

πŸ”— Useful Resources

πŸ“„ License

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

πŸ‘₯ Maintainers

This repository is maintained for educational purposes. For questions or issues, please open a GitHub issue.


Last Updated: February 2026
Status: Active Development
Kubernetes Version Compatibility: 1.20+

About

Kubernetes hands-on labs and real-world deployment examples for DevOps practice.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors