Rövid útmutató: Windows-tárolók üzembe helyezése a Service Fabricben
Cikk
Az Azure Service Fabric egy elosztott rendszerplatform, amely skálázható és megbízható mikroszolgáltatások és tárolók üzembe helyezésére és kezelésére szolgál.
A meglévő alkalmazások Service Fabric-fürtökön lévő Windows-tárolókban való futtatásához nem szükséges módosítania az alkalmazást. Ez a rövid útmutató bemutatja, hogyan helyezheti üzembe a Docker-tárolók előre összeállított rendszerképeit egy Service Fabric-alkalmazásban. Ha végzett, rendelkeznie kell egy futó Windows Server Core 2016 Server- és IIS-tárolóval. Ez a rövid útmutató egy Windows-tároló üzembe helyezését ismerteti. Olvassa el ezt a rövid útmutatót egy Linux-tároló üzembe helyezéséhez.
Ennek a rövid útmutatónak a segítségével megtanulhatja az alábbiakat:
Docker-rendszerképtároló becsomagolása
A kommunikáció konfigurálása
Service Fabric-alkalmazás felépítése és becsomagolása
Docker-rendszerképtároló becsomagolása a Visual Studióval
A Service Fabric SDK és -eszközök egy szolgáltatássablont biztosítanak, amelynek segítségével a tároló üzembe helyezhető egy Service Fabric-fürtben.
Indítsa el a Visual Studiót „rendszergazdaként”. Válassza a File (Fájl)>New (Új)>Project (Projekt) lehetőséget.
Válassza ki a Service Fabric-alkalmazást, nevezze el a "MyFirstContainer" nevet, majd kattintson a Létrehozás gombra.
A Hosted Containers and Applications (Üzemeltetett tárolók és alkalmazások) sablonokból válassza a Container (Tároló) elemet.
A Rendszerkép neve mezőben adja meg a "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2016", a Windows Server Core Server és az IIS alaprendszerképét.
Konfigurálja úgy a tárolóport–gazdagépport leképezést, hogy a szolgáltatáshoz a 80-as porton beérkező kérések a tárolón a 80-as portra legyenek leképezve. Állítsa a Tárolóport beállítást 80, a Gazdaport beállítást pedig szintén 80 értékre.
Nevezze el a szolgáltatást „MyContainerService” néven, majd kattintson az OK gombra.
Az operációs rendszer buildjének megadása a tárolórendszerképhez
A Service Fabric-futtatókörnyezet 6.1-es vagy újabb verziójával több operációsrendszer-képet is megadhat tárolónként, és mindegyik rendszerképet megcímkézheti azon operációs rendszer buildverziójával, amelybe az üzembe helyezése történik. Így meggyőződhet arról, hogy az alkalmazása különböző verziójú Windows operációs rendszereket futtató gazdagépeken is működik. További tudnivalókat a specifikus tárolórendszerképek operációs rendszer buildje alapján végzett megadását ismertető cikkben talál.
A Microsoft különböző rendszerképeket tesz közzé a Windows Server különböző verzióira épülő IIS-verziókhoz. Ahhoz, hogy a Service Fabric biztosan azon Windows Server verziójával kompatibilis tárolót telepítsen, amely azon fürtcsomópontokon fut ahová az alkalmazását is telepíti, az ApplicationManifest.xml fájlhoz adja hozzá a következő sorokat. A Windows Server 2016 buildverziója 14393, a 1709-es verzió buildverziója 16299.
A szolgáltatásjegyzék továbbra is csak egy rendszerképet ad meg a nanoserverhez, mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2016.
A ApplicationManifest.xml fájlban is módosítsa a PasswordEncrypted függvényt hamisra. A fiók és a jelszó üres a Docker Hubon található nyilvános tárolórendszerképhez, ezért kikapcsoljuk a titkosítást, mert az üres jelszó titkosítása buildelési hibát eredményez.
Az alábbi példaszkript egy X.509-tanúsítvánnyal védett ötcsomópontos Service Fabric-fürtöt hoz létre. A parancs létrehoz egy önaláírt tanúsítványt, és feltölti azt egy új kulcstartóba. A rendszer emellett a tanúsítványt egy helyi könyvtárba is átmásolja. A Service Fabric-fürt létrehozása című témakörből többet is megtudhat arról, hogyan hozhat létre fürtöt ezzel a szkripttel.
A következő szkript futtatása előtt a PowerShellben futtassa Connect-AzAccount a kapcsolatot az Azure-ral.
Másolja a következő szkriptet a vágólapra, és nyissa meg a Windows PowerShell ISE-t. Illessze be a tartalmat az üres Untitled1.ps1 ablakba. Ezután adja meg a szkript változóinak értékeit: subscriptionId, certpwd, certfolder, adminuser, adminpwdstb. A megadott könyvtárnak certfolder léteznie kell a szkript futtatása előtt.
PowerShell
#Provide the subscription Id$subscriptionId = 'yourSubscriptionId'# Certificate variables.$certpwd="Password#1234" | ConvertTo-SecureString -AsPlainText -Force$certfolder="c:\mycertificates\"# Variables for VM admin.$adminuser="vmadmin"$adminpwd="Password#1234" | ConvertTo-SecureString -AsPlainText -Force# Variables for common values$clusterloc="SouthCentralUS"$clustername = "mysfcluster"$groupname="mysfclustergroup"$vmsku = "Standard_D2_v2"$vaultname = "mykeyvault"$subname="$clustername.$clusterloc.cloudapp.azure.com"# Set the number of cluster nodes. Possible values: 1, 3-99$clustersize=5# Set the context to the subscription Id where the cluster will be createdSelect-AzSubscription -SubscriptionId$subscriptionId# Create the Service Fabric cluster.New-AzServiceFabricCluster -Name$clustername -ResourceGroupName$groupname -Location$clusterloc `
-ClusterSize $clustersize -VmUserName$adminuser -VmPassword$adminpwd -CertificateSubjectName$subname `
-CertificatePassword $certpwd -CertificateOutputFolder$certfolder `
-OS WindowsServer2016DatacenterwithContainers -VmSku$vmsku -KeyVaultName$vaultname
Miután megadta a változók értékeit, nyomja le az F5 billentyűt a szkript futtatásához.
A szkript futtatása és a fürt létrehozása után keresse meg a ClusterEndpoint kimenetben. Példa:
Most telepítjük a PFX-et a CurrentUser\Saját tanúsítványtárolóban. A PFX-fájl a fenti PowerShell-szkript környezeti változójának használatával certfolder megadott könyvtárban lesz.
Váltson erre a könyvtárra, majd futtassa a következő PowerShell-parancsot, lecserélve a címtárban található certfolder PFX-fájl nevét és a certpwd változóban megadott jelszót. Ebben a példában az aktuális könyvtár a Változó által certfolder a PowerShell-szkriptben megadott könyvtárra van állítva. Innen fut a Import-PfxCertificate parancs:
Jegyezze meg a következő lépés ujjlenyomatértékét.
Alkalmazás üzembe helyezése az Azure-ban a Visual Studio használatával
Az alkalmazást a létrehozása után telepítheti a fürtben, közvetlenül a Visual Studióból.
A Solution Explorerben (Megoldáskezelőben) kattintson a jobb gombbal a MyFirstContainer elemre, majd kattintson a Publish (Közzététel) parancsra. Ekkor megjelenik a Publish (Közzététel) párbeszédpanel.
Másolja a következő CN= tartalmat a PowerShell-ablakban a Import-PfxCertificate fenti parancs futtatásakor, és adjon hozzá portot 19000 . Például: mysfcluster.SouthCentralUS.cloudapp.azure.com:19000. Másolja a Kapcsolatvégpont mezőbe. Ne feledje ezt az értéket, mert egy későbbi lépésben szüksége lesz rá.
Kattintson az Advanced Connection Parameters (Speciális kapcsolati paraméterek) elemre, és ellenőrizze a kapcsolati paraméterek információit. A FindValue és a ServerCertThumbprint értékeknek meg kell egyeznie az előző lépésben futtatott Import-PfxCertificate tanúsítvány ujjlenyomatával. Ezután válassza a Közzététel lehetőséget.
A fürtben szereplő minden alkalmazásnak egyedi névvel kell rendelkeznie. Ha névütközés van, nevezze át a Visual Studio-projektet, és telepítse újra.
Nyisson meg egy böngészőt, és keresse meg az előző lépés Kapcsolatvégpont mezőjében megadott címet. Azt is megteheti, hogy beilleszti előre a http:// sémaazonosítót, vagy hozzáfűzheti a :80 portot az URL-címhez. Például: http://mysfcluster.SouthCentralUS.cloudapp.azure.com:80.
Az IIS alapértelmezett weblapjának kell megjelennie:
A fölöslegessé vált elemek eltávolítása
A fürt futása közben továbbra is díjakat kell fizetnie. Fontolja meg a fürt törlését.
Következő lépések
Ennek a rövid útmutatónak a segítségével megtanulta a következőket:
Docker-rendszerképtároló becsomagolása
A kommunikáció konfigurálása
Service Fabric-alkalmazás felépítése és becsomagolása
A tárolóalkalmazás üzembe helyezése az Azure-on
Ha többet szeretne megtudni a Windows-tárolók Service Fabricben való használatával kapcsolatban, folytassa a Windows-tárolóalkalmazások oktatóanyagával.
Erstellen von End-to-End-Lösungen in Microsoft Azure zum Erstellen von Azure Functions-Lösungen, Implementieren und Verwalten von Web-Apps, Entwickeln von Lösungen mit Azure Storage u. v. m.