60 lines
1.3 KiB
Markdown
60 lines
1.3 KiB
Markdown
# 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
|
|
``` |