From c8fd64d3d0fc16dbc26be5c6560e6f68945e913f Mon Sep 17 00:00:00 2001
From: Mattia Harlacher <mha146039@stud.gibb.ch>
Date: Thu, 27 Mar 2025 13:34:21 +0100
Subject: [PATCH] Update 2 files

- /Tag 8 KW 12/Tag 8.md
- /Tag 9 KW 13/Tag 9.md
---
 Tag 8 KW 12/Tag 8.md |   1 +
 Tag 9 KW 13/Tag 9.md | 150 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 151 insertions(+)
 create mode 100644 Tag 8 KW 12/Tag 8.md
 create mode 100644 Tag 9 KW 13/Tag 9.md

diff --git a/Tag 8 KW 12/Tag 8.md b/Tag 8 KW 12/Tag 8.md
new file mode 100644
index 0000000..2e918bb
--- /dev/null
+++ b/Tag 8 KW 12/Tag 8.md	
@@ -0,0 +1 @@
+Projektdokumentation in Tag 9
\ No newline at end of file
diff --git a/Tag 9 KW 13/Tag 9.md b/Tag 9 KW 13/Tag 9.md
new file mode 100644
index 0000000..ce44fee
--- /dev/null
+++ b/Tag 9 KW 13/Tag 9.md	
@@ -0,0 +1,150 @@
+# MongoDB mit Kubernetes Deployment und Docker Registry - Dokumentation
+
+## Voraussetzungen
+
+- **Docker** installiert.
+- **Kubernetes** installiert und konfiguriert.
+- **MongoDB Kompass (Kompass)** installiert.
+- Zugriff auf eine **Docker-Registry** (z.B. `git-registry.gibb.ch`).
+
+---
+
+## 1. Docker Image Erstellen und Pushen
+
+### Dockerfile erstellen
+
+Erstelle ein `Dockerfile` für MongoDB, das deinen Dump importiert. Ein Beispiel für das `Dockerfile`:
+
+```Dockerfile
+FROM mongo:latest
+
+WORKDIR /data/db
+
+COPY dump /dump
+
+EXPOSE 27017
+
+# MongoDB Dump importieren
+CMD ["sh", "-c", "mongod --bind_ip_all --fork --logpath /var/log/mongodb.log && mongorestore --host localhost --drop --dir /dump && tail -f /dev/null"]
+
+
+# Docker Image erstellen
+
+Erstelle das Docker-Image mit folgendem Befehl:
+```bash
+docker build -t my-mongo-image .
+```
+
+## Docker Image taggen
+
+Tagge das Image mit dem Namen der Docker-Registry:
+```bash
+docker tag my-mongo-image git-registry.gibb.ch/mha146039/m347-images:latest
+```
+
+## Image pushen
+
+Push das Image in die Docker-Registry:
+```bash
+docker push git-registry.gibb.ch/mha146039/m347-images:latest
+```
+
+# MongoDB auf Kubernetes Deployen
+
+## Kubernetes Deployment YAML erstellen
+
+Erstelle eine `mongo-deployment.yaml` Datei für das Deployment und den Service:
+```yaml
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: mongo-deployment
+  labels:
+    app: mongo
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: mongo
+  template:
+    metadata:
+      labels:
+        app: mongo
+    spec:
+      containers:
+        - name: mongo
+          image: git-registry.gibb.ch/mha146039/m347-images:latest
+          ports:
+            - containerPort: 27017
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: mongo-service
+spec:
+  selector:
+    app: mongo
+  ports:
+    - protocol: TCP
+      port: 27017
+      targetPort: 27017
+  type: NodePort
+```
+
+## Deployment anwenden
+
+Führe diesen Befehl aus, um das Deployment auf Kubernetes zu erstellen:
+```bash
+kubectl apply -f mongo-deployment.yaml
+```
+
+## Deployment und Service Status prüfen
+
+Prüfe den Status des Deployments und der Pods:
+```bash
+kubectl get deployments
+kubectl get pods
+```
+
+Prüfe den Status des Services:
+```bash
+kubectl get svc mongo-service
+```
+
+Das zeigt dir die NodePort-Nummer, über die MongoDB von außerhalb des Clusters erreichbar ist.
+
+# MongoDB Compass - Verbindung zu MongoDB herstellen
+
+## MongoDB Verbindung aufbauen
+
+Um mit MongoDB Compass eine Verbindung zu deiner MongoDB-Instanz auf Kubernetes herzustellen, benötigst du folgende Informationen:
+
+### NodePort herausfinden
+
+Finde den NodePort mit folgendem Befehl heraus:
+```bash
+kubectl get svc mongo-service
+```
+
+### Beispiel-Ausgabe:
+```bash
+NAME             TYPE       CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
+mongo-service    NodePort   10.107.128.1              27017:30007/TCP  2m
+```
+
+In diesem Fall ist der NodePort `30007`.
+
+### Beispiel-Verbindungsstring
+
+Verwende diesen Verbindungsstring, um eine Verbindung herzustellen:
+```bash
+mongodb://localhost:<NodePort>
+```
+
+## Verbindung in MongoDB Compass herstellen
+
+1. Öffne MongoDB Compass.
+2. Gib unter Hostname `localhost` ein.
+3. Gib unter Port den NodePort ein (z.B. `30007`).
+4. Falls Authentifizierung aktiviert ist, gib Benutzername und Passwort ein.
+5. Klicke auf **Connect**, um die Verbindung herzustellen.
-- 
GitLab