Megosztás a következőn keresztül:


Rövid útmutató: Windows-tárolók üzembe helyezése a Service Fabricben

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.

Az IIS alapértelmezett webhelye

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
  • A tárolóalkalmazás üzembe helyezése az Azure-on

Megjegyzés

Javasoljuk, hogy az Azure Az PowerShell-modullal kommunikáljon az Azure-ral. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Előfeltételek

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 azÚj> projekt fájlja>lehetőséget.

Válassza a Service Fabric-alkalmazás lehetőséget, adja neki 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őbe írja be 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.

Új szolgáltatás párbeszédpanel

Az operációs rendszer buildjének megadása a tárolórendszerképhez

Előfordulhat, hogy a Windows Server egy bizonyos verziójával épített tárolók a Windows Server egy más verzióját futtató gazdagépen nem működnek. A Windows Server 1709-es verziójával létrehozott tárolók például nem futnak Windows Server 2016 futtató gazdagépeken. További tudnivalókat a Windows Server tároló operációs rendszerének és a gazdagép operációs rendszerének kompatibilitását ismertető cikket.

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.

    <ContainerHostPolicies CodePackageRef="Code"> 
      <ImageOverrides> 
        ...
	      <Image Name="mcr.microsoft.com/windows/servercore/iis:windowsservercore-1803" /> 
          <Image Name= "mcr.microsoft.com/windows/servercore/iis:windowsservercore-ltsc2016" Os="14393" /> 
          <Image Name="mcr.microsoft.com/windows/servercore/iis:windowsservercore-1709" Os="16299" /> 
      </ImageOverrides> 
    </ContainerHostPolicies> 

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 értéket false (hamis) értékre. A fiók és a jelszó üres a Docker Hub lévő 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.

<RepositoryCredentials AccountName="" Password="" PasswordEncrypted="false" />

Fürt létrehozása

A következő példaszkript egy ötcsomópontos Service Fabric-fürtöt hoz létre X.509-tanúsítvánnyal védve. 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 fürt létrehozásával kapcsolatos további információkért tekintse meg a Service Fabric-fürt létrehozása című témakört.

Ha szükséges, telepítse a Azure PowerShell a Azure PowerShell útmutató utasításait követve.

A következő szkript futtatása előtt futtassa Connect-AzAccount a parancsot a PowerShellben, hogy kapcsolatot hozzon létre az Azure-ral.

Másolja az alábbi szkriptet a vágólapra, és nyissa meg Windows PowerShell ISE-t. Illessze be a tartalmat az üres Untitled1.ps1 ablakba. Ezután adja meg a változók értékeit a szkriptben: subscriptionId, certpwd, certfolder, adminuser, adminpwdstb. A megadott könyvtárnak certfolder léteznie kell a szkript futtatása előtt.

#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 created
Select-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 parancsot a kimenetben. Például:

...
ClusterEndpoint : https://southcentralus.servicefabric.azure.com/runtime/clusters/b76e757d-0b97-4037-a184-9046a7c818c0

A fürt tanúsítványának telepítése

Most telepítjük a PFX-et a CurrentUser\My 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 könyvtá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 PowerShell-szkript változója által certfolder megadott könyvtárra van állítva. Innen fut a Import-PfxCertificate parancs:

PS C:\mycertificates> Import-PfxCertificate -FilePath .\mysfclustergroup20190130193456.pfx -CertStoreLocation Cert:\CurrentUser\My -Password (ConvertTo-SecureString Password#1234 -AsPlainText -Force)

A parancs visszaadja az ujjlenyomatot:

  ...
  PSParentPath: Microsoft.PowerShell.Security\Certificate::CurrentUser\My

Thumbprint                                Subject
----------                                -------
0AC30A2FA770BEF566226CFCF75A6515D73FC686  CN=mysfcluster.SouthCentralUS.cloudapp.azure.com

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 CN= szöveget követő tartalmat a PowerShell-ablakban a fenti parancs futtatásakor, és adja hozzá a Import-PfxCertificate portot 19000 . Például: mysfcluster.SouthCentralUS.cloudapp.azure.com:19000. Másolja a Kapcsolati végpont mezőbe. Jegyezze meg 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éknek meg kell egyeznie az előző lépésben futtatott Import-PfxCertificate tanúsítvány ujjlenyomatával.

Publish (Közzététel) párbeszédpanel

Kattintson a Közzététel gombra.

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 azt a címet, amelyet az előző lépésben a Kapcsolati végpont mezőben megadott. 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.

Meg kell jelennie az IIS alapértelmezett weblapjának: Az IIS alapértelmezett weblapja

A fölöslegessé vált elemek eltávolítása

A fürt futása közben továbbra is díjat 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.