Nextcloud Stufe 2: PhpMyAdmin¶
Aktuell ist die Datenbank nur im Cluster per Headless Service erreichbar. Das ist im Produktivbetrieb auch durchaus best practice. Da wir aber testen wollen, ob die Datenbank auch funktioniert, setzen wir PhpMyAdmin ein.
Deine Aufgabe ist es, ein Kubernetes-Manifest zu erstellen, das eine Instanz von phpMyAdmin bereitstellt. phpMyAdmin wird verwendet, um die MariaDB-Datenbank für eine Nextcloud-Instanz zu verwalten. Das Manifest soll aus zwei Teilen bestehen: einem Deployment, das die phpMyAdmin-Anwendung konfiguriert und bereitstellt, und einem Service, der den Zugriff auf phpMyAdmin über einen bestimmten Port ermöglicht.
Deployment erstellen¶
- Definiere ein Deployment mit dem Namen
phpmyadminim Namespacenextcloud. - Setze die Anzahl der Replikate (replicas) auf
1, da wir nur eine Instanz von phpMyAdmin benötigen. - Erstelle ein Container-Template für phpMyAdmin, das das Image
phpmyadmin:5.2.1verwendet. - Lege den Container-Port auf
80fest, da phpMyAdmin über diesen Port erreichbar sein soll. - Füge Umgebungsvariablen hinzu:
env:
- name: PMA_HOST
value: nextcloud-db
- name: PMA_PORT
value: "3306"
- name: PMA_USER
value: "nextcloud"
- name: PMA_PASSWORD
value: "nextcloudpassword"
- Definiere Ressourcenanforderungen und -limits für den phpMyAdmin-Container:
- Limits:
- CPU:
500m(500 Millikernprozessoren) - Speicher:
512Mi(512 Megabyte)
- CPU:
- Requests:
- CPU:
500m(500 Millikernprozessoren) - Speicher:
512Mi(512 Megabyte)
- CPU:
Service erstellen¶
- Definiere einen Service mit dem Namen
phpmyadminim Namespacenextcloud. - Setze den Port auf
80, um den phpMyAdmin-Service auf diesem Port verfügbar zu machen. - Setze
targetPortauf80, damit der Service den Container-Port korrekt weiterleitet. - Setze den Servicetyp auf
NodePort, um den Zugriff auf phpMyAdmin von außerhalb des Kubernetes-Clusters zu ermöglichen.
Wende das Manifest an. Prüft nun mit kubectl, ob Deployment und Service erfolgreich angelegt wurden. Tunnelt euch nun zu PhpMyAdmin, indem ihr
minikube service phpmyadmin -n nextcloud
ausführt. Im Browser solltet ihr nun PhpMyAdmin sehen, der mit der Datenbank verbunden ist.