Skip to content
This repository was archived by the owner on Jan 12, 2026. It is now read-only.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

170 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System Engineering & Management: Webanwendung mit AKS und Terraform

Dieses Projekt ist Teil der Vorlesung "System Engineering & Management" und beinhaltet die Entwicklung und Bereitstellung einer containerisierten Webanwendung auf Azure Kubernetes Service (AKS). Die Infrastruktur wird mit Terraform verwaltet.

Projektstruktur

projektordner/
├── terraform/                     # Terraform-Konfigurationen
│   ├── main.tf                    # Hauptdatei für Ressourcen
│   ├── variables.tf               # Definierte Variablen (optional)
│   ├── outputs.tf                 # Outputs (optional)
│   ├── terraform.tfstate          # Terraform-Zustand (nicht in Git einchecken)
│   └── .terraform/                # Terraform-Caches (nicht in Git einchecken)
├── webapp/                        # Webanwendung (Node.js, Docker)
│   ├── Dockerfile                 # Docker-Konfigurationsdatei
│   ├── package.json               # Abhängigkeiten der Web-App
│   ├── server.js                  # Beispielserver
├── .gitignore                     # Dateien, die nicht ins Git-Repo gehören
├── README.md                      # Projektbeschreibung

Infrastruktur-Komponenten

  1. Azure Resource Group:

    • Organisiert alle Azure-Ressourcen.
    • Name: webapp-rg.
  2. Azure Container Registry (ACR):

    • Speichert Docker-Images für die Anwendung.
    • Name: webappacr.
  3. Azure Kubernetes Service (AKS):

    • Orchestriert und skaliert containerisierte Anwendungen.
    • Cluster-Name: webapp-aks.

Voraussetzungen

Schritte zur Bereitstellung

  1. Terraform initialisieren:

    cd terraform
    terraform init
  2. Plan erstellen:

    terraform plan
  3. Ressourcen bereitstellen:

    terraform apply
  4. Kubernetes konfigurieren:

    • Anmeldeinformationen abrufen:
      az aks get-credentials --resource-group webapp-rg --name webapp-aks
    • Testen:
      kubectl get nodes
  5. Docker-Image erstellen und pushen: Sobald der Entwickler das Docker-Image bereitstellt:

    docker build -t webappacr.azurecr.io/webapp:latest .
    docker push webappacr.azurecr.io/webapp:latest
  6. Web-App in AKS bereitstellen: Kubernetes-Manifestdateien verwenden (z. B. deployment.yaml).

Nützliche Befehle

  • Docker bei ACR anmelden:

    az acr login --name webappacr
  • Kubernetes-Cluster testen:

    kubectl get nodes
  • Container-Logs anzeigen:

    kubectl logs <pod-name>

To-Do

  • Docker-Image für Webanwendung erstellen.
  • Kubernetes-Deployment für die Web-App bereitstellen.
  • CI/CD-Pipeline einrichten (z. B. mit GitHub Actions).

Hinweis: Bitte stelle sicher, dass sensible Daten wie Zugangsdaten nicht in das Git-Repository eincheckt werden. Nutze .gitignore, um Dateien wie terraform.tfstate auszuschließen.

About

Repo for the course 143101a System Engineering and Management

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages