Självstudie: Distribuera en Service Fabric-app till ett kluster i Azure
Den här självstudien är del två i en serie. Här får du se hur du distribuerar ett Azure Service Fabric-program till ett nytt kluster i Azure.
I den här guiden får du lära dig att:
- Skapa ett kluster.
- distribuera ett program till ett fjärrkluster med Visual Studio.
I den här självstudieserien får du lära du dig att:
- Skapa ett .NET Service Fabric-program.
- Distribuera programmet till ett fjärrkluster.
- Lägg till en HTTPS-slutpunkt i en ASP.NET Core klientdelstjänst.
- Konfigurera CI/CD med hjälp av Azure Pipelines.
- Konfigurera övervakning och diagnostik för programmet.
Förutsättningar
Innan du börjar den här självstudien:
- Om du inte har någon Azure-prenumeration kan du skapa ett kostnadsfritt konto.
- Installera Visual Studio 2019 och installera arbetsbelastningarna Azure-utveckling och ASP.NET och webbutveckling .
- Installera Service Fabric SDK.
Anteckning
Ett kostnadsfritt konto kanske inte uppfyller kraven för att skapa en virtuell dator. Detta förhindrar att självstudien slutförs. Dessutom kan ett icke-arbets- eller icke-skolkonto stöta på behörighetsproblem när du skapar certifikatet på nyckelvalvet som är associerat med klustret. Om du får ett fel som rör skapande av certifikat använder du portalen för att skapa klustret i stället.
Ladda ned exempelprogrammet för röstning
Om du inte skapade exempelprogrammet för röstning i del ett av den här självstudieserien kan du ladda ned det. Kör följande kod i ett kommandofönster för att klona databasen för exempelprogrammet till den lokala datorn.
git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart
Öppna programmet i Visual Studio, kör som administratör, och kompilera programmet.
Skapa ett kluster
Nu när programmet är klart kan du skapa ett Service Fabric-kluster och sedan distribuera programmet till klustret. Ett Service Fabric-kluster är en nätverksansluten uppsättning virtuella eller fysiska datorer där dina mikrotjänster distribueras och hanteras.
I den här självstudien får du skapa ett nytt testkluster med tre noder i Visual Studio IDE och sedan publicera programmet till klustret. Se självstudien om att skapa och hantera ett kluster för att få information om hur du skapar ett produktionskluster. Du kan också distribuera programmet till ett befintligt kluster som du skapade tidigare via Azure-portalen, med hjälp av PowerShell- eller Azure CLI-skript, eller från en Azure Resource Manager-mall.
Anteckning
Programmet Röstning, och många andra program, använder omvänd Service Fabric-proxy för att kommunicera mellan tjänster. Kluster som skapas från Visual Studio har en omvänd proxy som är aktiverad som standard. Om du distribuerar till ett befintligt kluster måste du aktivera omvänd proxy i klustret för att programmet Röstning ska fungera.
Hitta tjänsten VotingWebs slutpunkt
Klientwebbtjänsten för röstningsprogrammet lyssnar på en viss port (8080 om du har följt stegen i del ett i den här självstudieserien. När programmet distribueras till ett kluster i Azure, körs både klustret och programmet bakom en Azure-lastbalanserare. Programporten måste öppnas med hjälp av en regel i Azure-lastbalanseraren. Regeln skickar inkommande trafik via lastbalanseraren till webbtjänsten. Du hittar porten i filen VotingWeb/PackageRoot/ServiceManifest.xml i elementet Endpoint.
<Endpoint Protocol="http" Name="ServiceEndpoint" Type="Input" Port="8080" />
Notera tjänstens slutpunkt, som krävs i ett senare steg. Om du distribuerar till ett befintligt kluster öppnar du den här porten genom att skapa en belastningsutjämningsregel och avsökning i Azure-lastbalanseraren med hjälp av ett PowerShell-skript eller via lastbalanseraren för det här klustret i Azure Portal.
Skapa ett testkluster i Azure
Högerklicka på Voting i Solution Explorer och välj Publicera.
I Connection Endpoint (Anslutningsslutpunkt) väljer du Skapa ett nytt kluster. Om du distribuerar till ett befintligt kluster väljer du klusterslutpunkten i listan. Dialogrutan Skapa Service Fabric-kluster öppnas.
På fliken Kluster anger du klusternamnet (till exempel ”mytestcluster”), väljer din prenumeration, väljer en region för klustret (till exempel USA, södra centrala), anger antalet klusternoder (vi rekommenderar att tre noder för ett testkluster) och anger en resursgrupp (till exempel ”mytestclustergroup”). Klicka på Nästa.
På fliken Certifikat anger du sökvägen för lösenord och utdata för klustercertifikatet. Ett självsignerat certifikat har skapats som en PFX-fil och sparats i den angivna utdatasökvägen. Certifikatet används för både nod till nod- och klient till nod-säkerhet. Använd inte ett självsignerat certifikat för produktionskluster. Det här certifikatet används av Visual Studio för att autentisera med klustret och distribuera program. Välj Importera certifikat för att installera PFX i certifikatarkivet CurrentUser\My på din dator. Klicka på Nästa.
På fliken VM Detail (VM-information) anger du användarnamn och lösenord för kluster-administratörskontot. Välj Avbildning av virtuell dator för klusternoderna och Storlek på virtuell dator för varje nod i klustret. Klicka på fliken Avancerat.
I Portar anger du tjänstslutpunkten VotingWeb från föregående steg (till exempel 8080). När klustret har skapats öppnas programportarna i Azure Load Balancer för att vidarebefordra trafik till klustret. Klicka på Skapa för att skapa klustret, vilket tar flera minuter.
Publicera programmet till klustret
När det nya klustret är klart kan du distribuera det till programmet Röstning direkt från Visual Studio.
Högerklicka på Voting i Solution Explorer och välj Publicera. Dialogrutan Publish (Publicera) visas.
I Anslutningens slutpunkt väljer du slutpunkten för klustret som du skapade i föregående steg. Till exempel "mytestcluster.southcentralus.cloudapp.azure.com:19000". Om du väljer Advanced Connection Parameters (Avancerade anslutningsparametrar) bör certifikatinformationen fyllas i automatiskt.
Välj Publicera.
När programmet har distribuerats öppnar du en webbläsare och anger klusteradressen följt av :8080. Alternativt anger du en annan port om en sådan har konfigurerats. Ett exempel är http://mytestcluster.southcentralus.cloudapp.azure.com:8080
. Du ser nu att programmet körs i klustret i Azure. På röstningswebbplatsen provar du att lägga till och ta bort röstningsalternativ och rösta för ett eller flera av dessa alternativ.
Nästa steg
I den här självstudiedelen lärde du dig att:
- Skapa ett kluster.
- distribuera ett program till ett fjärrkluster med Visual Studio.
Gå vidare till nästa kurs: