zkt25/sk1
2025-04-28 23:20:13 +02:00
..
backend exam files 2025-04-28 23:20:13 +02:00
frontend exam files 2025-04-28 23:20:13 +02:00
kubi exam files 2025-04-28 23:20:13 +02:00
cluster-issuer.yaml exam files 2025-04-28 23:20:13 +02:00
default-backend.yaml exam files 2025-04-28 23:20:13 +02:00
ingress-svc.yaml exam files 2025-04-28 23:20:13 +02:00
prepare-app.sh exam files 2025-04-28 23:20:13 +02:00
README.md exam files 2025-04-28 23:20:13 +02:00
remove-app.sh exam files 2025-04-28 23:20:13 +02:00

Calculator Web Application on Azure Kubernetes Service (AKS)


##Application Description This project is a simple web-based calculator that performs basic mathematical operations. It allows users to calculate expressions and save the results. A "Show History" button displays previously saved calculations.

Built with:

  • Frontend: HTML/CSS/JavaScript served via Nginx

  • Backend: Flask (Python) application connected to a PostgreSQL database

  • Database: PostgreSQL 15


##Public Cloud Environment

  • Provider: Microsoft Azure

  • Service Used: Azure Kubernetes Service (AKS)

  • Certificate Issuer: cert-manager with Let's Encrypt

  • Domain: https://aliscloudwork.tech


##Kubernetes and Cloud Components

  • Deployments:

    • Frontend Deployment (Nginx server)
    • Backend Deployment (Flask server)
    • PostgreSQL Deployment (Database server)
  • Services:

    • Frontend Service (ClusterIP)
    • Backend Service (ClusterIP)
    • PostgreSQL Service (ClusterIP)
    • Ingress Controller Service (LoadBalancer)
  • Ingress:

    • Ingress resource used to route traffic and enable HTTPS
  • Persistent Volume:

    • PostgreSQL database uses a Persistent Volume Claim (PVC) for data persistence
  • Certificate Management:

    • cert-manager with Let's Encrypt to generate HTTPS certificates automatically

##Files Included

  • prepare-app.sh: Script to deploy all Kubernetes objects and services automatically

  • remove-app.sh: Script to delete all Kubernetes objects and services

  • kubi/*.yaml: Kubernetes deployment, service, ingress, PVC configuration files

  • backend/Dockerfile: Dockerfile for the Flask backend application

  • frontend/Dockerfile: Dockerfile for the Nginx frontend application

  • frontend/default.conf: Nginx configuration file for routing

  • README.md: This documentation file


##How to View and Use the Application Open a web browser and visit: https://aliscloudwork.tech

Use the calculator to perform operations.

Click the "Show History" button to view saved calculations.


##Running Scripts

  • To deploy the application:
    • bash prepare-app.sh
  • To delete the application:
    • bash remove-app.sh

##External Sources and Tools Used

  • DockerHub for container images

  • Let's Encrypt for SSL certificates

  • cert-manager for Kubernetes certificate automation

  • Azure CLI for AKS management

  • Official documentation for Nginx, Flask, Kubernetes YAML syntax


##Final Notes

  • HTTPS is fully functional.

  • Kubernetes ensures all components are modular and recover automatically.

  • Database uses persistent storage for calculation history.