zkt25/z2
2025-04-02 08:39:41 +00:00
..
app.py Upload folders 2025-04-02 08:39:41 +00:00
deployment.yaml Upload folders 2025-04-02 08:39:41 +00:00
Dockerfile Upload folders 2025-04-02 08:39:41 +00:00
namespace.yaml Upload folders 2025-04-02 08:39:41 +00:00
prepare-app.sh Upload folders 2025-04-02 08:39:41 +00:00
README.md Upload folders 2025-04-02 08:39:41 +00:00
requirements.txt Upload folders 2025-04-02 08:39:41 +00:00
service.yaml Upload folders 2025-04-02 08:39:41 +00:00
start-app.sh Upload folders 2025-04-02 08:39:41 +00:00
statefulset.yaml Upload folders 2025-04-02 08:39:41 +00:00
stop-app.sh Upload folders 2025-04-02 08:39:41 +00:00

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