Skalieren Sie Ihre Buildautomatisierung mit TeamCity und Kubernetes

Stellen Sie TeamCity-Build-Agents in Ihrem Kubernetes-Cluster bereit, um eine robuste und skalierbare CI/CD-Lösung zu realisieren – in der Cloud oder auf „Bare Metal“.

CI/CD-Pipelines für Kubernetes mit TeamCity

Kubernetes ermöglicht eine Abstraktion von „Bare-Metal“-Servern, sodass Teams nicht mehr von diesen abhängig sind. Mithilfe von Kubernetes kann ein konsistenter, unterbrechungsfreier Service bereitgestellt werden: Das IT-Team kann einen Server jederzeit aus dem Betrieb nehmen, einer Wartung unterziehen und im Anschluss wieder in Betrieb stellen.

Mit Kubernetes können Sie außerdem die Ressourcennutzung optimieren, indem Sie mehrere Tasks auf demselben Server starten.

Mit der Integration von TeamCity und Kubernetes müssen Ops-Teams nicht mehr zwischen Overprovisioning und dem Risiko einer lückenhaften Serververfügbarkeit bei erhöhter Ressourcennutzung wählen.

Wählen Sie Ihre TeamCity-Variante:

Integrieren Sie TeamCity in Ihren Kubernetes-Cluster

Mithilfe des Kubernetes-Support-Plugins kann TeamCity Build-Agents in Ihrem Kubernetes-Cluster ausführen. Das Plugin ist in TeamCity integriert, sodass Sie es nicht separat herunterladen und installieren müssen.

  • Implementieren Sie eine skalierbare CI/CD-Architektur auf Kubernetes-Basis. Wenn Sie Build-Agents benötigen, werden diese automatisch gestartet, erledigen ihre Aufgaben und werden nach Abschluss des Builds wieder entfernt. TeamCity startet je nach Bedarf Container mit installierten TeamCity-Agents, um die Last der Build-Warteschlange zu verteilen.
  • Native Docker-Unterstützung: Mit TeamCity können Sie Ihre CI/CD-Pipeline für Projekte jeder Größe und Komplexität automatisieren und dabei für jeden Schritt Docker verwenden.
  • Führen Sie jeden Build in einer isolierten Umgebung aus, indem Sie für jedes Projekt ein separates Cloud-Profil einrichten, das auf einen eigenen Kubernetes-Cluster verweist.
  • Nutzen Sie die Elastizität der Cloud-Infrastruktur und profitieren Sie gleichzeitig von der intelligenten Ressourcenverteilung und dem belastbaren Aufbau von Kubernetes.
  • Parallelisieren Sie die Ausführung von Aufgaben mithilfe von Kubernetes-Pods. Pods werden den in der Cloud gehosteten Systemen mit dem Ziel einer höchstmöglichen Effizienz zugewiesen, um das Parallelisierungspotenzial bei der Ausführung von Aufgaben zu maximieren. Sobald eine Aufgabe abgeschlossen ist, werden die verwendeten Pods je nach Ihren Einstellungen entweder beendet, um Ressourcen freizugeben, oder weiter ausgeführt.

Verbessertes Deployment-Management mit Kubernetes

Durch die native Docker-Unterstützung ermöglicht TeamCity einen vollständig containerisierten CI/CD-Prozess.

Container-Images

Erstellen Sie neue Container-Images und veröffentlichen Sie sie mithilfe des Docker-Build-Runners in Ihrer Container-Registry, um sie in Ihren von Kubernetes verwalteten Vorproduktionsumgebungen einzusetzen.

Konfigurierbare Test- und Staging-Umgebungen

Konfigurieren Sie Test- und Staging-Umgebungen, die eng an die Produktionsumgebung angelehnt sind, und stellen Sie mit Kubernetes Ihre neuesten Builds für automatisierte Integrations- und End-to-End-Tests sowie für eine manuelle Verifizierung bereit.

Detaillierte Berichte

TeamCity liefert detaillierte Berichte zu Ihren automatisierten Tests. Die Ergebnisse werden sofort bereitgestellt und enthalten Links zu den entsprechenden Protokollen und Stack-Traces, damit Sie ohne Umschweife mit der Fehlersuche beginnen können.

Helm-Build-Runner zur Spiegelung Ihrer Live-Umgebung

Mit dem als Plugin verfügbaren Helm-Build-Runner können Sie Kubernetes-Workloads konfigurieren und dabei sicherstellen, dass Ihre Vorproduktionsumgebungen Ihre Live-Umgebung widerspiegeln.

Erste Schritte mit CI/CD in Kubernetes

Für eine vollständig skalierbare, hoch belastbare CI/CD-Pipeline sollten Sie einen Kubernetes-Cluster für Ihre CI-Build-Jobs konfigurieren und Ihre containerisierte Anwendung in Test- und Staging-Umgebungen bereitstellen, die von Kubernetes gehostet werden und Ihr Produktionssystem genau nachbilden.

So konfigurieren Sie TeamCity für die Verwendung von Ressourcen in einem Kubernetes-Cluster:

  • Richten Sie einen Kubernetes-Cluster ein, der Ihre TeamCity-Build-Agents hostet. Sie haben die Wahl zwischen Kubernetes-Hosting-Diensten wie GKE von Google Cloud oder Amazon EKS und dem Eigenhosting von Kubernetes in der Cloud oder auf Bare-Metal-Servern.
  • Um sowohl Build-Jobs als auch Testumgebungen auf demselben Cluster zu hosten, konfigurieren Sie separate Namensräume in Kubernetes.
  • Erteilen Sie TeamCity die erforderlichen Schreibrechte für Ihren Cluster.
  • Konfigurieren Sie in TeamCity ein Kubernetes-Cloud-Profil und legen Sie die Cloud-Agent-Einstellungen fest. Um die verfügbaren Rechenressourcen für jede Instanz eines TeamCity-Build-Agents festzulegen oder das Neustartverhalten zu konfigurieren, definieren Sie Ihre eigene Pod-Vorlage.
  • Richten Sie die TeamCity-Konfiguration so ein, dass für Build-Aufträge der Cloud-Agent verwendet wird.

Häufig gestellte Fragen

Wie funktioniert die Integration zwischen TeamCity und Kubernetes?

Jedes Mal, wenn ein neuer Job zur Build-Warteschlange hinzugefügt wird, identifiziert TeamCity ein kompatibles Build-Agent-Image und leitet die Anfrage dann an Kubernetes weiter. Der Container-Orchestrator findet entweder einen vorhandenen Pod mit dem richtigen Build-Agent oder fährt einen neuen Pod hoch, um die Anforderung zu erfüllen. Mehrere containerisierte Build-Jobs können problemlos auf demselben virtuellen System ausgeführt werden, ohne dass sie sich ins Gehege kommen.

Wie fange ich am besten mit Kubernetes und TeamCity an?

Durch die Kubernetes-Unterstützung in TeamCity können Sie die Vorteile einer hoch skalierbaren, stabilen Infrastruktur sowohl für Buildjobs als auch für automatisierte Tests nutzen. Lesen Sie unsere CI/CD-Leitfäden und erfahren Sie mehr über die Vorteile von CI/CD, den Sinn einer CI/CD-Pipeline und den Aufbau einer in der Cloud gehosteten CI/CD-Pipeline.

Bereit für den Start? Integrieren Sie TeamCity in Ihre Kubernetes-Cluster und führen Sie Ihren ersten Build in einer von Kubernetes gehosteten CI/CD-Pipeline aus.

Erste Schritte mit TeamCity

Leistungsstarkes CI/CD für Teams, die Kubernetes verwenden