Aus dem Kurs: Kubernetes lernen

Docker und Kubernetes – Tutorial zu Kubernetes

Aus dem Kurs: Kubernetes lernen

Docker und Kubernetes

Viele Entwickler tun sich schwer zu verstehen, wie Docker und Kubernetes zusammenarbeiten und wo sie jeweils den Anwendungsentwicklungsprozess unterstützen. Deshalb hier ein Beispiel für einen Anwendungsentwicklungsprozess. Sie entwickeln eine JavaScript-Webanwendung auf Ihrem lokalen Computer. Für diese JavaScript-Anwendung brauchen Sie eine lokale MongoDB-Datenbank und vielleicht eine Benutzeroberfläche für MongoDB, wie zum Beispiel Mongo Express. Statt die beiden direkt auf dem Computer zu installieren und zu konfigurieren, können Sie sehr einfach beides als Docker-Container starten und so Ihre lokale Entwicklungsumgebung ziemlich schnell und einfach einrichten. Nun entwickeln Sie eine Funktionalität fertig und committen Sie Ihre Code-Änderungen in ein Git-Repository. Dieser Commit löst den Jenkins oder ein anderes CI/CD Build aus, der daraufhin die Anwendung neu baut und ein Docker Image Artifact erzeugt, wo die Anwendung mit sämtlichen Abhängigkeiten und Konfigurationen zusammengepackt wird. Der CI Build pusht dann dieses Docker Image in ein privates Docker Repository Ihrer Firma oder Ihres Projekts. Das heißt, bis zu diesem Schritt haben wir nur Docker verwendet. Also wann kommt Kubernetes ins Spiel? Da wir jetzt eine neue Version der Anwendung gebaut haben, muss es nun auf eine Development-Umgebung deployed werden, damit Entwickler oder Tester diese testen können. Und diese Development-Umgebung läuft als Kubernetes-Cluster. Das heißt, Sie haben ein paar Server, wo Kubernetes-Prozesse installiert sind und so den Kubernetes-Cluster bilden. Aber auf diesem Server ist auch Docker installiert, um die Docker-Container hier starten zu können. Das heißt, sobald das Image im Repository liegt, wird es vom Docker Image Repository in das Cluster heruntergeladen und startet heir als Docker-Container mit zum Beispiel drei Kopien, die dann jeweils auf jedem Kubernetes-Node laufen.

Inhalt