Olvasás angol nyelven

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 modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg Az Azure PowerShell telepítése témakört. 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 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.

Ú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 készült tárolók például nem futnak Windows Server 2016 rendszerű 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.

XML
    <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 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.

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

Fürt létrehozása

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.

Szükség esetén telepítse az Azure PowerShellt az Azure PowerShell útmutatójában található utasítások alapján.

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 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 kimenetben. Példa:

PowerShell
...
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\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:

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

A parancs az ujjlenyomatot adja vissza:

PowerShell
  ...
  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 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: Az IIS alapértelmezett webhelye

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.