.. | ||
app.py | ||
deployment.yaml | ||
Dockerfile | ||
namespace.yaml | ||
prepare-app.sh | ||
README.md | ||
requirements.txt | ||
service.yaml | ||
start-app.sh | ||
statefulset.yaml | ||
stop-app.sh |
Blog Application with Kubernetes
This project deploys a simple blog application with Flask and PostgreSQL on Kubernetes.
Application Features
- Create and publish blog articles with title and content
- View all articles in a responsive interface
- Delete articles with a single click
- Persistent storage for database content
Architecture
The application consists of:
- Flask web application for creating and deleting blog articles
- PostgreSQL database to store the articles
- Kubernetes deployment for orchestration and scaling
Technologies Used
- Frontend: HTML, CSS, Flask Templates
- Backend: Python, Flask
- Database: PostgreSQL
- Container: Docker
- Orchestration: Kubernetes, Minikube
Deployment Instructions
Prerequisites
- Docker
- Minikube
- kubectl
Step 1: Preparation
Run the preparation script to create the namespace and build the Docker image:
chmod +x prepare-app.sh
./prepare-app.sh
Step 2: Deployment
Launch the application with:
chmod +x start-app.sh
./start-app.sh
Step 3: Access the Application
Get the application URL with:
minikube service blog-app-service -n myapp-namespace --url
Open this URL in your browser to access the blog application.
Step 4: Shutdown
When finished, clean up all resources with:
chmod +x stop-app.sh
./stop-app.sh