Tutorial: Bereitstellen einer Service Fabric-Anwendung in einem Cluster in Azure
Dieses Tutorial ist der zweite Teil einer Reihe. Lernen Sie, wie Sie eine Azure Service Fabric-Anwendung in einem neuen Cluster in Azure bereitstellen.
In diesem Tutorial lernen Sie Folgendes:
- Erstellen eines Clusters
- Bereitstellen einer Anwendung in einem Remotecluster mit Visual Studio
Die Tutorialreihe veranschaulicht folgende Vorgehensweisen:
- Erstellen einer .NET Service Fabric-Anwendung
- Bereitstellen der Anwendung in einem Remotecluster (dieses Tutorial)
- Hinzufügen eines HTTPS-Endpunkts zu einem ASP.NET Core-Front-End-Dienst
- Konfigurieren von CI/CD mit Azure Pipelines
- Einrichten der Überwachung und Diagnose für die Anwendung
Voraussetzungen
Bevor Sie mit diesem Tutorial beginnen können, müssen Sie Folgendes tun:
- Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen.
- Installieren Sie Visual Studio 2019 mit den Workloads Azure-Entwicklung und ASP.NET und Webentwicklung.
- Installieren Sie das Service Fabric SDK.
Hinweis
Ein kostenloses Konto erfüllt unter Umständen nicht die Anforderungen zum Erstellen eines virtuellen Computers. Um das Tutorial abzuschließen, müssen Sie einen virtuellen Computer erstellen. Außerdem kann ein Konto, das kein Geschäfts-, Schul- oder Unikonto ist, Beim Erstellen des Zertifikats im Schlüsseltresor, das dem Cluster zugeordnet ist, möglicherweise Berechtigungsprobleme auftreten. Wenn beim Erstellen des Zertifikats ein Fehler auftritt, verwenden Sie stattdessen das Azure-Portal, um den Cluster zu erstellen.
Herunterladen der Beispielanwendung „Voting“
Falls Sie die Beispielanwendung „Voting“ aus Teil 1 dieser Tutorialreihe nicht erstellt haben, können Sie sie herunterladen. Führen Sie in einem Befehlsfenster den folgenden Code aus, um das Beispielanwendungsrepository auf Ihrem lokalen Computer zu klonen:
git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart
Öffnen Sie Visual Studio, indem Sie die Option Als Administrator ausführen verwenden. Öffnen Sie die Anwendung, und erstellen Sie dann die Anwendung.
Erstellen eines Clusters
Die Anwendung ist nun bereit, und Sie können einen Service Fabric-Cluster erstellen und die Anwendung im Cluster bereitstellen. Ein Service Fabric-Cluster enthält eine per Netzwerk verbundene Gruppe von virtuellen oder physischen Computern, auf denen Ihre Microservices bereitgestellt und verwaltet werden.
In diesem Tutorial erstellen Sie einen neuen Testcluster mit drei Knoten in der Visual Studio-IDE (integrierte Entwicklungsumgebung) und veröffentlichen dann die Anwendung in diesem Cluster. Informationen zum Erstellen eines Produktionsclusters finden Sie in Erstellen und verwalten eines Service Clusters. Sie können die Anwendung auch in einem vorhandenen Cluster bereitstellen, den Sie zuvor mithilfe des Azure-Portal, Azure PowerShell- oder Azure CLI-Skripts oder über eine Azure Resource Manager-Vorlage erstellt haben.
Hinweis
Die Voting-Anwendung und zahlreiche andere Anwendungen verwenden den Service Fabric-Reverseproxy für die Kommunikation zwischen Diensten. Cluster, die Sie mithilfe von Visual Studio erstellen, haben standardmäßig Reverseproxy aktiviert. Bei der Bereitstellung in einem vorhandenen Cluster müssen Sie den Reverseproxy im Cluster aktivieren, damit die Voting-Anwendung funktioniert.
Suchen des VotingWeb-Dienstendpunkts
Der Front-End-Webdienst der Voting-Anwendung lauscht an einem bestimmten Port (Port 8080, wenn Sie die Schritte in Teil 1 dieser Tutorialreihe ausgeführt haben). Bei der Bereitstellung eines Clusters in Azure durch die Anwendung werden sowohl der Cluster als auch die Anwendung hinter einem Azure-Lastenausgleichsmodul ausgeführt. Der Anwendungsport muss mithilfe eine Regel im Azure-Lastenausgleich geöffnet werden. Die Regel sendet eingehenden Datenverkehr über den Lastenausgleich an den Webdienst. Der Anwendungsport wird in der Datei /VotingWeb/PackageRoot/ServiceManifest.xml, im Endpoint
Element, festgelegt.
<Endpoint Protocol="http" Name="ServiceEndpoint" Type="Input" Port="8080" />
Notieren Sie sich den Dienstendpunkt, den Sie in einem späteren Schritt verwenden. Öffnen Sie diesen Port, wenn Sie als Bereitstellungsziel einen bereits vorhandenen Cluster verwenden. Erstellen Sie hierzu eine Lastenausgleichsregel und einen Test im Azure-Lastenausgleich – entweder per Azure PowerShell-Skript oder im Azure-Portal über den Lastenausgleich für diesen Cluster.
Erstellen eines Testclusters in Azure
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Voting, und klicken Sie auf Veröffentlichen.
Wählen Sie unter Verbindungsendpunkt die Option Neuen Cluster erstellen. Wählen Sie bei der Bereitstellung in einem vorhandenen Cluster den Clusterendpunkt in der Liste aus. Das Dialogfeld „Service Fabric-Cluster erstellen“ wird geöffnet.
Geben Sie auf der Registerkarte Cluster unter Clustername einen Namen (etwa mytestcluster) ein, und wählen Sie Ihr Abonnement und eine Region für den Cluster (beispielsweise „USA, Süden-Mitte“) aus. Geben Sie außerdem die Anzahl von Clusterknoten (empfohlene Anzahl für einen Testcluster: drei Knoten) und eine Ressourcengruppe (etwa mytestclustergroup
) ein. Wählen Sie Weiter aus.
Geben Sie auf der Registerkarte Zertifikat das Kennwort und den Ausgabepfad für das Clusterzertifikat ein. Ein selbstsigniertes Zertifikat wird als PFX-Datei erstellt und am angegebenen Ausgabepfad gespeichert. Das Zertifikat wird für sowohl die Knoten-zu-Knoten-Sicherheit als auch für die Client-zu-Knoten-Sicherheit verwendet. Verwenden Sie kein selbstsigniertes Zertifikat für Produktionscluster. Visual Studio benutzt dieses Zertifikat für die Authentifizierung beim Cluster und für die Bereitstellung von Anwendungen.
Wählen Sie Zertifikat importieren, um die PFX-Datei auf Ihrem Computer unter CurrentUser\My certificate store“ zu installieren. Wählen Sie anschließend Weiter aus.
Geben Sie auf der Registerkarte VM-Detail unter Benutzername und Kennwort den Benutzernamen und das Kennwort für das Clusteradministratorkonto ein. Wählen Sie den Wert für das Image des virtuellen Computers für die Clusterknoten und den Wert für Größe des virtuellen Computers für die einzelnen Clusterknoten aus.
Wählen Sie die Registerkarte Erweitert . Für Ports, geben Sie den VotingWeb-Dienstendpunkt aus dem vorherigen Schritt (beispielsweise 8080) ein. Bei der Erstellung des Clusters werden diese Anwendungsports im Azure-Lastenausgleich geöffnet, damit Datenverkehr an den Cluster weitergeleitet werden kann.
Wählen Sie Erstellen, um den Cluster zu erstellen. Der Vorgang dauert einige Minuten.
Veröffentlichen der Anwendung im Cluster
Wenn der neue Cluster bereit ist, können Sie die Voting-Anwendung direkt in Visual Studio bereitstellen.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Voting, und klicken Sie auf Veröffentlichen. Das Dialogfeld Veröffentlichen wird angezeigt.
Wählen Sie für Verbindungsendpunkt den Endpunkt des im vorherigen Schritt erstellten Clusters aus. Beispiel: mytestcluster.southcentralus.cloudapp.azure.com:19000
. Wenn Sie Erweiterte Verbindungsparameter auswählen, sollten die Zertifikatinformationen automatisch ausgefüllt werden.
Wählen Sie Veröffentlichen aus.
Öffnen Sie nach der Bereitstellung der Anwendung einen Browser, und geben Sie die Clusteradresse gefolgt von :8080
ein. Oder Sie können einen anderen Port eingeben, sofern einer konfiguriert ist. z. B. http://mytestcluster.southcentralus.cloudapp.azure.com:8080
. Die Anwendung wird im Cluster in Azure ausgeführt. Versuchen Sie auf der Abstimmungswebseite, Abstimmungsoptionen hinzuzufügen und zu löschen.
Nächster Schritt
Fahren Sie mit dem nächsten Tutorial fort: