Fazit

Die Migration der Microservices auf Kubernetes und die Implementierung einer CI/CD-Pipeline waren die zentralen Ziele dieses Projekts. Diese wurden erfolgreich erreicht, jedoch war der Weg dorthin mit einigen Herausforderungen verbunden, die wertvolle Einblicke und Lernmomente geboten haben.

Reflexion

Anfangsschwierigkeiten beim Clusteraufbau

Der Aufbau des Kubernetes-Clusters stellte sich als unerwartet schwierig heraus. Besonders die Stabilitaet der Worker-Nodes und ihre zuverlaessige Einbindung in den Cluster waren anfaenglich problematisch. Die Worker wurden unter bestimmten Bedingungen verloren, was die Funktionalitaet des gesamten Clusters beeintraechtigte. Durch tiefgehendes Debugging und iterative Anpassungen der Konfiguration konnten diese Probleme jedoch erfolgreich geloest werden. Dabei wurden Erkenntnisse ueber die Feinabstimmung von Kubernetes und die Verwaltung von Nodes gewonnen, die zukuenftig hilfreich sein werden.

Unerwarteter Einsatz von Tools

Waerend der Arbeit erwiesen sich einige zusaetzliche Tools als aeusserst nuetzlich, die urspruenglich nicht geplant waren. Diese Tools trugen entscheidend zur Optimierung der Projektumsetzung bei:

  • MetalLB: MetalLB ermoeglichte das einfache Load Balancing innerhalb des Clusters, insbesondere fuer externe Anfragen. Dieses Tool erleichterte die Bereitstellung und machte das System robuster und besser skalierbar.
  • ArgoCD: Die Integration von ArgoCD erwies sich als Game-Changer. Durch die Nutzung des GitOps-Ansatzes wurde die Synchronisation der Deployments automatisiert, was nicht nur die Entwicklungszeit reduzierte, sondern auch die Zuverlaessigkeit der Deployments erheblich steigerte.
  • Cloudflare Tunnel: Urspruenglich nicht eingeplant, stellte sich der Cloudflare Tunnel als aeusserst vorteilhaft heraus. Er bietet eine sichere Verbindung zwischen externen Benutzern und dem Cluster, ohne dass ein direkter Zugang zu Kubernetes erforderlich ist. Dies erhoehte die Sicherheit und Benutzerfreundlichkeit des Systems.

Technische und organisatorische Verbesserungen

Die Integration der HorizontalPodAutoscaler (HPA) brachte die erwartete Skalierbarkeit und erhoehte die Effizienz des Systems erheblich. Durch die automatische Anpassung der Ressourcen auf Basis der Nachfrage konnte eine optimierte Nutzung der Cluster-Ressourcen sichergestellt werden. Dies zeigte, wie leistungsfaehig Kubernetes in Verbindung mit modernen Tools sein kann.

Die Arbeit mit MetalLB, ArgoCD und dem Cloudflare Tunnel hat ausserdem gezeigt, wie wichtig Flexibilitaet und die Bereitschaft zur Anpassung waehrend eines Projekts sind. Die Entscheidung, diese Tools zu integrieren, hat die urspruenglichen Ziele nicht nur erfuellt, sondern uebertroffen.

Persoenliche und fachliche Erkenntnisse

Das Projekt hat nicht nur meine technischen Faehigkeiten erweitert, sondern auch meine Problemlosungskompetenz und Flexibilitaet gestaerkt. Besonders der Umgang mit unerwarteten Problemen hat mir gezeigt, wie wichtig ein pragmatischer und iterativer Ansatz in der Softwareentwicklung ist.

Die intensive Beschaeftigung mit Kubernetes, ArgoCD und weiteren modernen Technologien hat mir wertvolle praktische Faehigkeiten vermittelt, die ich in zukuenftigen Projekten anwenden kann. Die Herausforderungen, insbesondere im Bereich der Cluster-Stabilitaet und der neuen Tools, haben mir gezeigt, wie wichtig es ist, nicht nur auf bekannte Lösungen zu setzen, sondern auch Neues auszuprobieren und zu adaptieren.