Einleitung
Mit der Veröffentlichung von Sitecore 10 unterstützen wir jetzt die Ausführung der Anwendung in Containern und die Bereitstellung in Kubernetes (K8s). In einem früheren Artikel, "Sitecore, Docker und Continuous Integration", haben wir erläutert, wie Sie Ihre Images automatisch erstellen. In diesem Artikel betrachten wir die letzten Phasen, die ausgeführt werden, sobald die neu erstellten Images in der Container Registry verfügbar sind. Bevor wir jedoch eintauchen, möchten wir einige wichtige Ressourcen für Entwickler hervorheben. Sie können einen vollständigen Satz von K8s-Spezifikationen von dev.sitecore.com herunterladen. Außerdem finden Sie eine vollständige Installationsanleitung, die Sie von einer sauberen Instanz von K8s zu einer vollständig bereitgestellten, laufenden Instanz von Sitecore 10 führt.
Wenn Sie neu bei Kubernetes sind und nicht mit den Konzepten von Clustern, Nodes, Pods und den anderen Elementen, die ihm zugrunde liegen, vertraut sind, dann sollten Sie sich wahrscheinlich darüber informieren, bevor Sie weitermachen. Die Kubernetes-Site bietet einige großartige Tutorials, um Einführung in die wichtigsten Konzepte.
Sobald Sie mit der Bereitstellung von Sitecore auf K8s vertraut sind, können Sie die gleichen Spezifikationen als Grundlage für den Aufbau und die Automatisierung Ihrer Bereitstellung verwenden.
Sehen Sie sich das Video zu diesem Artikel unten an, das Demos zu diesen Konzepten enthält. Oder schauen Sie es sich an auf Entdecken Sie Sitecore auf YouTube.
Automatisieren einer containerbasierten Bereitstellung
Die Automatisierung einer containerbasierten Bereitstellung unterscheidet sich ein wenig von einer typischen Bereitstellung. In diesem Diagramm sehen Sie den Ablauf des gesamten End-to-End-Prozesses:
Wie bereits erwähnt, betrachten wir in diesem Artikel die letzten Phasen, die ausgeführt werden, sobald die neu erstellten Images in der Container Registry verfügbar sind:
Sobald die Images erstellt wurden, werden die Spezifikationen aktualisiert, um auf das neue Tage zu verweisen, und diese werden an die K8s-Instanz übertragen. K8s erstellt dann neue Pods basierend auf den neuen Container-Images und schaltet den Traffic mit kontrollierter Geschwindigkeit auf diese neuen Pods um. Sie können auch steuern, wie dieser Wechsel vorgenommen wird – vielleicht möchten Sie sich für eine Blau/Grün-Bereitstellung mit einer manuellen Umstellung entscheiden, oder vielleicht möchten Sie eine Canary-Bereitstellung durchführen, damit nur einige Benutzer die neue Version sehen. Beide Ansätze, zusammen mit anderen Bereitstellungsansätzen, sind bei der Arbeit mit K8s erreichbar.
Bereitstellen von Inhaltsänderungen
Keine Sitecore-Implementierung ist vollständig ohne ein Content-Update. Glücklicherweise macht die neue Sitecore-CLI, die mit Version 10 veröffentlicht wurde, dies zum Kinderspiel! Mit nur wenigen Befehlen können Sie sich bei Identity Server authentifizieren, Ihre Inhaltsänderungen per Push übertragen und schließlich eine vollständige Veröffentlichung der Änderungen durchführen.
Dies kann Ihnen die Gewissheit geben, dass das, was sich in Ihrem Quellcodeverwaltungssystem befindet, auch das ist, was in der Produktion ausgeführt wird, nicht nur aus der Codeperspektive, sondern auch unter Einbeziehung Ihrer entwicklereigenen Inhalte.
Beispiel für eine MVP-Website
Wenn Sie ein vollständiges End-to-End-Beispiel für diesen Prozess sehen möchten, können Sie dies auf dem neuen MVP-Site-Repo sehen, das wir kürzlich als Open Source veröffentlicht haben. In diesem Repository finden Sie eine vollständige YAML-Definition für eine Bereitstellung in Azure Kubernetes Service (AKS).