Du möchtest dein Docker Compose Setup auf Kubernetes deployen? Diese Anleitung zeigt dir, wie du mit dem Tool Kompose ganz einfach deine Docker Compose Datei in Kubernetes-Manifeste umwandelst und auf einem Kubernetes-Cluster ausführst – egal ob du Windows, Mac oder Linux nutzt.
Einführung
Mit Docker Compose kannst du Anwendungen schnell und einfach lokal entwickeln und testen. Für den produktiven Betrieb oder größere Projekte ist Kubernetes die bessere Wahl. Mit Kompose wandelst du deine Docker Compose Konfiguration automatisch in Kubernetes-Manifeste um – und kannst so ganz einfach auf Kubernetes migrieren.
Voraussetzungen
Bevor du startest, benötigst du folgende Tools:
- Docker und Docker Compose (z.B. Docker Desktop)
- Kubernetes-Cluster (z.B. Minikube, Docker Desktop Kubernetes, Microk8s oder Cloud-Cluster)
- kubectl (Kubernetes Command Line Tool)
- Kompose (Tool zur Umwandlung von Docker Compose in Kubernetes Manifeste)
1. Docker Compose Setup lokal testen
Bevor du migrierst, solltest du dein Setup lokal testen.
- Erstelle deine
docker-compose.yml
Datei mit allen Services. - Starte die Container lokal:
docker compose up -d
- Prüfe, ob alle Container laufen und erreichbar sind:
docker ps
- Öffne die Webinterfaces im Browser (z.B. `http://localhost:9191` für PowerDNS-Admin).
- Teste die Funktionalität.
2. Kompose installieren
Windows
- Lade die Kompose Windows-Executable von der offiziellen GitHub-Seite herunter:
- Lege die Datei in einen Ordner, der im PATH ist (z.B.
C:\Program Files\Kompose
). - Öffne PowerShell und teste die Installation:
kompose version
Mac
- Mit Homebrew installieren:
brew install kompose
- Oder manuell von GitHub herunterladen (wie bei Windows).
- Teste die Installation:
kompose version
Linux
- Lade das Binary herunter und mache es ausführbar:
curl -L https://github.com/kubernetes/kompose/releases/download/v1.34.0/kompose-linux-amd64 -o kompose
chmod +x kompose
sudo mv kompose /usr/local/bin/
- Teste die Installation:
kompose version
3. Docker Compose in Kubernetes Manifeste umwandeln
- Wechsle in das Verzeichnis mit deiner
docker-compose.yml
:
cd /pfad/zu/deinem/projekt
- Führe Kompose aus:
kompose convert
- Es werden mehrere
.yaml
Dateien erzeugt (Deployments, Services, Volumes).
4. Kubernetes Cluster vorbereiten
Windows \& Mac
- Docker Desktop:
- Öffne Docker Desktop.
- Gehe zu
Settings
→Kubernetes
. - Aktiviere Kubernetes und klicke auf
Apply & Restart
.
Linux
- Minikube installieren und starten:
minikube start
- Prüfe den Cluster:
kubectl get nodes
5. Kubernetes Manifeste deployen
- Deploye alle Manifeste:
kubectl apply -f .
- Prüfe den Status:
kubectl get pods
kubectl get services
- Warte, bis alle Pods den Status
Running
haben.
6. Zugriff auf Services und Webinterfaces
- Nutze
kubectl get services
, um die IPs und Ports zu sehen. - Öffne Webinterfaces über NodePort oder LoadBalancer im Browser:
- Beispiel:
http://<IP-des-Clusters>:<NodePort>
- Bei Docker Desktop Kubernetes:
http://localhost:<NodePort>
- Beispiel:
7. Tipps und Fehlerbehebung
- Prüfe Logs mit:
kubectl logs <pod-name>
- Prüfe Netzwerk und Firewall.
- Nutze
kubectl describe pod <pod-name>
für Details.
8. Datenmigration (optional)
Wenn du Daten aus deiner lokalen Datenbank übernehmen möchtest:
- Exportiere Daten aus Docker-Container:
docker exec -it pdns-db mysqldump -u root -p powerdns > powerdns.sql
- Importiere sie in Kubernetes-Pods:
- Kopiere die Datei in den Pod:
kubectl cp powerdns.sql <pod-name>:/tmp/powerdns.sql
- **Importiere die Daten:**
kubectl exec -it <pod-name> -- mysql -u root -p powerdns < /tmp/powerdns.sql
9. Fazit
Mit dieser Anleitung kannst du dein Docker Compose Setup einfach und sicher in Kubernetes migrieren – egal ob du Windows, Mac oder Linux nutzt.
Kompose wandelt deine Konfiguration automatisch in Kubernetes-Manifeste um und kubectl übernimmt das Deployment und die Verwaltung.
Viel Erfolg bei deiner Kubernetes-Migration!
⁂
Schreibe einen Kommentar