Zum Inhalt springen
Alle Insights

Docker-Images für Windchill: was hineingehört, was nicht

Ein Image, das einmal gebaut und unverändert weitergereicht wird, ist die Basis eines containerisierten Windchill. So entscheiden wir, was hineingehört.

2 Min. LesezeitDockerKubernetes

Die erste Frage in jedem Windchill-Container-Projekt ist nicht, welcher Cluster es sein soll, sondern was das Image enthalten soll. Wenn das stimmt, wird alles Weitere einfach, von den Pipelines bis zum Rollback. Wenn nicht, enden Sie mit einem Image pro Umgebung und derselben Konfigurationsdrift wie auf virtuellen Maschinen.

Die Regel: einmal bauen, beim Deployment konfigurieren

Ein Image sollte in Test und Produktion identisch sein. Alles, was sich zwischen Umgebungen unterscheidet, wird beim Start des Containers injiziert, nie fest eingebaut.

Im Image:

  • Die Windchill-Installation mit bekanntem Release- und Patch-Stand
  • Ihr kompiliertes Customizing, von der Pipeline aus einem getaggten Commit gebaut
  • Die Laufzeitumgebung, die das Release benötigt, und sonst nichts
  • Ein Startskript, das die Konfiguration aus der Umgebung liest und auf seine Abhängigkeiten wartet

Außerhalb des Images:

  • Hostnamen, URLs und standortspezifische Properties, als Umgebungsvariablen oder gemountete Dateien bereitgestellt
  • Passwörter, Schlüssel und Zertifikate, aus einem Secret Store wie Azure Key Vault gelesen
  • Vaults, Logs und andere Daten, die einen Container überdauern müssen, auf persistenten Volumes
  • Die Datenbank, die als Managed Service oder auf dedizierten Servern läuft

Ein Image, mehrere Rollen

Windchill ist nicht ein einzelner Prozess. Web-Frontends, Method Server, Hintergrund-Queues und Suche haben unterschiedliche Aufgaben und unterschiedliche Skalierungsanforderungen. Wir bauen ein Image und starten es in verschiedenen Rollen, damit garantiert jede Komponente denselben Code ausführt.

Health-Checks, die die Wahrheit sagen

Kubernetes kann einen defekten Container nur ersetzen, wenn es weiß, dass er defekt ist. Ein laufender Prozess reicht nicht: Unsere Readiness-Checks rufen die Anwendung auf und bestätigen, dass sie eine Anfrage bedienen kann, sodass Traffic nur Pods erreicht, die wirklich bereit sind.

Images taggen wie Releases

Jedes Image wird mit der Release-Version und dem Commit getaggt, aus dem es gebaut wurde, nie nur mit latest. Wenn um drei Uhr nachts etwas schiefgeht, lautet die erste Frage, was gerade läuft, und das Tag sollte sie beantworten.

Bevor Sie beginnen

Prüfen Sie die Support-Position von PTC für containerisierte Deployments Ihres Release, und planen Sie, wie Datenbank und Vault-Storage gesichert und wiederhergestellt werden. Container ändern, wie Windchill ausgerollt wird, nicht, was es braucht, um sicher zu bleiben.

Nächster Schritt

Zeigen Sie uns Ihr Windchill. Wir zeigen Ihnen die Pipeline.

Nennen Sie uns Ihr Release, Ihre Systemlandschaft und die Änderung, die immer wieder verschoben wird. Innerhalb einer Woche erhalten Sie einen schriftlichen Plan mit Umfang, Team und Zeitplan.