Nasazení clusteru Service Fabric v centru Azure StackDeploy a Service Fabric cluster in Azure Stack Hub

Pomocí položky Service Fabric clusteru z Azure Marketplace nasaďte zabezpečený Service Fabric Cluster v Azure Stack hub.Use the Service Fabric Cluster item from the Azure Marketplace to deploy a secured Service Fabric cluster in Azure Stack Hub.

Další informace o práci s Service Fabric najdete v tématu Přehled scénářů zabezpečení azure Service Fabric a Service Fabric v dokumentaci k Azure.For more information about working with Service Fabric, see Overview of Azure Service Fabric and Service Fabric cluster security scenarios in the Azure documentation.

Cluster Service Fabric v centru Azure Stack nepoužívá poskytovatele prostředků Microsoft. ServiceFabric.The Service Fabric cluster in Azure Stack Hub doesn't use the resource provider Microsoft.ServiceFabric. Místo toho se v centru Azure Stack Service Fabric cluster používá sada škálování virtuálních počítačů s předinstalovaným softwarem pomocí Konfigurace požadovaného stavu (DSC).Instead, in Azure Stack Hub, the Service Fabric cluster is a virtual machine scale set with preinstalled software using Desired State Configuration (DSC).

PředpokladyPrerequisites

K nasazení Service Fabric clusteru se vyžadují tyto požadavky:The following are required to deploy the Service Fabric cluster:

  1. Certifikát clusteruCluster certificate
    Jedná se o certifikát serveru X. 509, který přidáte do Key Vault při nasazování Service Fabric.This is the X.509 server certificate you add to Key Vault when deploying Service Fabric.

    • Propojené sítě v tomto certifikátu se musí shodovat s plně kvalifikovaným názvem domény (FQDN) Service Fabricho clusteru, který vytvoříte.The CN on this cert must match the Fully Qualified Domain Name (FQDN) of the Service Fabric cluster you create.

    • Formát certifikátu musí být PFX, protože jsou vyžadovány veřejné i privátní klíče.The certificate format must be PFX, as both the public and private keys are required. Viz požadavky pro vytvoření tohoto certifikátu na straně serveru.See requirements for creating this server-side cert.

      Poznámka

      Pro účely testování můžete použít místo certifikátu serveru X. 509 podepsaného svým držitelem (samo-signed certificate).You can use a self-signed certificate inplace of the X.509 server certificate for test purposes. Certifikáty podepsané svým držitelem nemusí odpovídat plně kvalifikovanému názvu domény clusteru.Self-signed certificates do not need to match the FQDN of the cluster.

  2. Certifikát klienta správceAdmin Client certificate
    Jedná se o certifikát, který klient používá k ověření v clusteru Service Fabric, který může být podepsaný svým držitelem.This is the certificate that the client uses to authenticate to the Service Fabric cluster, which can be self-signed. Viz požadavky pro vytvoření certifikátu klienta.See requirements for creating this client cert.

  3. V tržišti centra Azure Stack musí být k dispozici následující položky:The following items must be available in the Azure Stack Hub Marketplace:

    • Windows server 2016 – šablona používá k vytvoření clusteru image Windows serveru 2016.Windows Server 2016 - The template uses the Windows Server 2016 image to create the cluster.
    • Rozšíření vlastních skriptů – rozšíření virtuálního počítače od MicrosoftuCustom Script Extension - Virtual Machine Extension from Microsoft.
    • Konfigurace požadovaného stádia prostředí PowerShell – rozšíření virtuálního počítače od MicrosoftuPowerShell Desired Stage Configuration - Virtual Machine Extension from Microsoft.

Přidání tajného klíče do služby Key VaultAdd a secret to Key Vault

Chcete-li nasadit cluster Service Fabric, je nutné zadat správný identifikátor Key Vault tajného klíče nebo adresu URL pro Service Fabric clusteru.To deploy a Service Fabric cluster, you must specify the correct Key Vault Secret Identifier or URL for the Service Fabric cluster. Šablona Azure Resource Manager jako vstup převezme Key Vault.The Azure Resource Manager template takes a Key Vault as input. Pak šablona načte certifikát clusteru při instalaci Service Fabricho clusteru.Then the template retrieves the Cluster certificate when installing the Service Fabric cluster.

Důležité

K přidání tajného klíče do Key Vault pro použití s Service Fabric je nutné použít PowerShell.You must use PowerShell to add a secret to Key Vault for use with Service Fabric. Nepoužívejte portál.Do not use the portal.

Pomocí následujícího skriptu vytvořte Key Vault a přidejte do něj certifikát clusteru .Use the following script to create the Key Vault and add the cluster certificate to it. (Viz požadavky.) Před spuštěním skriptu zkontrolujte vzorový skript a aktualizujte uvedené parametry tak, aby odpovídaly vašemu prostředí.(See the prerequisites.) Before you run the script, review the sample script and update the indicated parameters to match your environment. Tento skript také vypíše hodnoty, které je třeba zadat do šablony Azure Resource Manager.This script will also output the values you need to provide to the Azure Resource Manager template.

Tip

Předtím, než může být skript úspěšný, musí existovat veřejná nabídka, která zahrnuje služby pro výpočetní prostředky, síť, úložiště a Key Vault.Before the script can succeed, there must be a public offer that includes the services for Compute, Network, Storage, and Key Vault.

   function Get-ThumbprintFromPfx($PfxFilePath, $Password) 
      {
         return New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($PfxFilePath, $Password)
      }
   
   function Publish-SecretToKeyVault ($PfxFilePath, $Password, $KeyVaultName)
      {
         $keyVaultSecretName = "ClusterCertificate"
         $certContentInBytes = [io.file]::ReadAllBytes($PfxFilePath)
         $pfxAsBase64EncodedString = [System.Convert]::ToBase64String($certContentInBytes)
   
         $jsonObject = ConvertTo-Json -Depth 10 ([pscustomobject]@{
               data     = $pfxAsBase64EncodedString
               dataType = 'pfx'
               password = $Password
         })
   
         $jsonObjectBytes = [System.Text.Encoding]::UTF8.GetBytes($jsonObject)
         $jsonEncoded = [System.Convert]::ToBase64String($jsonObjectBytes)
         $secret = ConvertTo-SecureString -String $jsonEncoded -AsPlainText -Force
         $keyVaultSecret = Set-AzureKeyVaultSecret -VaultName $KeyVaultName -Name $keyVaultSecretName -SecretValue $secret
         
         $pfxCertObject = Get-ThumbprintFromPfx -PfxFilePath $PfxFilePath -Password $Password
   
         Write-Host "KeyVault id: " -ForegroundColor Green
         (Get-AzKeyVault -VaultName $KeyVaultName).ResourceId
         
         Write-Host "Secret Id: " -ForegroundColor Green
         (Get-AzureKeyVaultSecret -VaultName $KeyVaultName -Name $keyVaultSecretName).id
   
         Write-Host "Cluster Certificate Thumbprint: " -ForegroundColor Green
         $pfxCertObject.Thumbprint
      }
   
   #========================== CHANGE THESE VALUES ===============================
   $armEndpoint = "https://management.local.azurestack.external"
   $tenantId = "your_tenant_ID"
   $location = "local"
   $clusterCertPfxPath = "Your_path_to_ClusterCert.pfx"
   $clusterCertPfxPassword = "Your_password_for_ClusterCert.pfx"
   #==============================================================================
   
   Add-AzEnvironment -Name AzureStack -ARMEndpoint $armEndpoint
   Login-AzAccount -Environment AzureStack -TenantId $tenantId
   
   $rgName = "sfvaultrg"
   Write-Host "Creating Resource Group..." -ForegroundColor Yellow
   New-AzResourceGroup -Name $rgName -Location $location
   
   Write-Host "Creating Key Vault..." -ForegroundColor Yellow
   $Vault = New-AzKeyVault -VaultName sfvault -ResourceGroupName $rgName -Location $location -EnabledForTemplateDeployment -EnabledForDeployment -EnabledForDiskEncryption
   
   Write-Host "Publishing certificate to Vault..." -ForegroundColor Yellow
   Publish-SecretToKeyVault -PfxFilePath $clusterCertPfxPath -Password $clusterCertPfxPassword -KeyVaultName $vault.VaultName

Další informace najdete v tématu správa Key Vault v centru Azure Stack pomocí PowerShellu.For more information, see Manage Key Vault on Azure Stack Hub with PowerShell.

Nasadit položku MarketplaceDeploy the Marketplace item

  1. Na portálu User Portal přejít na + vytvořit prostředek > COMPUTE > Service Fabric cluster.In the user portal, go to + Create a resource > Compute > Service Fabric Cluster.

    Vybrat Cluster Service Fabric

  2. Pro každou stránku, například základy, vyplňte formulář nasazení.For each page, like Basics, fill out the deployment form. Pokud si nejste jisti hodnotou, použijte výchozí nastavení.Use defaults if you're not sure of a value.

    Pro nasazení do odpojeného centra Azure Stack nebo pro nasazení jiné verze Service Fabric si Stáhněte balíček Service Fabric pro nasazení a jeho odpovídající balíček runtime a zahostte ho v Azure Stack objekt BLOB centra.For deployments to a disconnected Azure Stack Hub or to deploy another version of Service Fabric, download the Service Fabric deployment package and its corresponding runtime package and host it on an Azure Stack Hub blob. Zadejte tyto hodnoty do polí Adresa URL balíčku pro nasazení Service Fabric a Adresa URL balíčku za běhu Service Fabric .Provide these values to the Service Fabric deployment package URL and Service Fabric runtime package URL fields.

    Poznámka

    Existují problémy s kompatibilitou mezi nejnovějším vydáním Service Fabric a odpovídající sadou SDK.There are compatibility issues between the latest release of Service Fabric and its corresponding SDK. Dokud se tento problém nevyřeší, zadejte prosím následující parametry URL balíčku pro nasazení a adresu URL balíčku za běhu.Until that issue is addressed, please provide the following parameters to the deployment package URL and runtime package URL. V opačném případě se nasazení nezdaří.Your deployments will fail otherwise.

    V případě odpojených nasazení stáhněte tyto balíčky ze zadaného umístění a hostovat je místně na Azure Stackovém objektu BLOB centra.For disconnected deployments, download these packages from the specified location and host it locally on an Azure Stack Hub Blob.

    Základy

  3. Na stránce nastavení sítě můžete zadat konkrétní porty, které se otevřou pro aplikace:On the Network Settings page, you can specify specific ports to open for your applications:

    Network Settings

  4. Na stránce zabezpečení přidejte hodnoty, které jste získali z Vytvoření Azure Key Vault a odeslání tajného klíče.On the Security page, add the values that you got from creating the Azure Key Vault and Uploading the Secret.

    Pro kryptografický otisk certifikátu klienta správce zadejte kryptografický otisk certifikátu klienta správce.For the Admin Client Certificate Thumbprint, enter the thumbprint of the Admin Client certificate. (Viz požadavky.)(See the prerequisites.)

    • Zdroj Key Vault: zadejte celý keyVault id řetězec z výsledků skriptu.Source Key Vault: Specify entire keyVault id string from the script results.
    • Adresa URL certifikátu clusteru: zadejte celou adresu URL z Secret Id z výsledků skriptu.Cluster Certificate URL: Specify the entire URL from the Secret Id from the script results.
    • Kryptografický otisk certifikátu clusteru: Určete kryptografický otisk certifikátu clusteru z výsledků skriptu.Cluster Certificate thumbprint: Specify the Cluster Certificate Thumbprint from the script results.
    • Adresa URL certifikátu serveru: Pokud chcete použít samostatný certifikát z certifikátu clusteru, nahrajte certifikát do trezoru klíčů a zadejte úplnou adresu URL tajného kódu.Server Certificate URL: If you wish to use a separate certificate from the Cluster certificate, upload the certificate to a keyvault and provide the full url to the secret.
    • Kryptografický otisk certifikátu serveru: zadejte kryptografický otisk pro certifikát serveru.Server Certificate thumbprint: Specify the thumbprint for the Server Certificate
    • Kryptografické otisky klientského certifikátu pro správce: Určete kryptografický otisk certifikátu klienta pro správu , který je vytvořený v části požadavky.Admin Client Certificate Thumbprints: Specify the Admin Client Certificate Thumbprint created in the prerequisites.

    Výstup skriptu

    Zabezpečení

  5. Dokončete průvodce a pak vyberte vytvořit a nasaďte cluster Service Fabric.Complete the wizard, and then select Create to deploy the Service Fabric Cluster.

Přístup ke clusteru Service FabricAccess the Service Fabric Cluster

Ke clusteru Service Fabric můžete přistupovat pomocí Service Fabric Explorer nebo Service Fabric PowerShellu.You can access the Service Fabric cluster by using either the Service Fabric Explorer or Service Fabric PowerShell.

Použít Service Fabric ExplorerUse Service Fabric Explorer

  1. Zajistěte, aby prohlížeč měl přístup k vašemu klientskému certifikátu správce a mohl by se ověřit do vašeho clusteru Service Fabric.Ensure that the browser has access to your Admin client certificate and can authenticate to your Service Fabric cluster.

    a.a. Otevřete Internet Explorer a přejít na certifikáty obsahu Možnosti Internetu > Content > Certificates.Open Internet Explorer and go to Internet Options > Content > Certificates.

    b.b. V části certifikáty vyberte importovat a spusťte Průvodce importem certifikátu a potom klikněte na Další.On Certificates, select Import to start the Certificate Import Wizard, and then click Next. Na stránce importovat soubor klikněte na Procházet a vyberte certifikát klienta správce , který jste zadali pro šablonu Azure Resource Manager.On the File to Import page click Browse, and select the Admin Client certificate you provided to the Azure Resource Manager template.

    Poznámka

    Tento certifikát není certifikátem clusteru, který byl dříve přidán do Key Vault.This certificate is not the Cluster certificate that was previously added to Key Vault.

    c.c. Ujistěte se, že je v rozevíracím seznamu rozšíření okna Průzkumníka souborů vybrána možnost "osobní informace Exchange".Ensure that you have "Personal Information Exchange" selected in the extension dropdown of the File Explorer window.

    Personal Information Exchange

    d.d. Na stránce úložiště certifikátů vyberte osobní a pak dokončete průvodce.On the Certificate Store page, select Personal, and then complete the wizard.
    Úložiště certifikátůCertificate store

  2. Zjištění plně kvalifikovaného názvu domény Service Fabric clusteru:To find the FQDN of your Service Fabric cluster:

    a.a. Přejděte do skupiny prostředků, která je přidružená k vašemu Service Fabric clusteru, a vyhledejte prostředek veřejné IP adresy .Go to the resource group that is associated with your Service Fabric cluster and locate the Public IP address resource. Vyberte objekt přidružený k veřejné IP adrese a otevřete tak okno veřejné IP adresy .Select the object associated with the Public IP address to open the Public IP address blade.

    Veřejná IP adresa

    b.b. V okně veřejná IP adresa se plně kvalifikovaný název domény zobrazí jako název DNS.On the Public IP address blade, the FQDN displays as DNS name.

    Název DNS

  3. Pokud chcete najít adresu URL pro Service Fabric Explorer a koncový bod připojení klienta, Projděte si výsledky Template deployment.To find the URL for the Service Fabric Explorer, and the Client connection endpoint, review the results of the Template deployment.

  4. V prohlížeči přejděte na https://*FQDN*:19080.In your browser, go to https://*FQDN*:19080. V kroku 2 nahraďte plně kvalifikovaný název domény plně kvalifikovaným názvem domény vašeho clusteru Service Fabric.Replace FQDN with the FQDN of your Service Fabric cluster from step 2.
    Pokud jste použili certifikát podepsaný svým držitelem, zobrazí se upozornění, že připojení není zabezpečené.If you've used a self-signed certificate, you'll get a warning that the connection isn't secure. Chcete-li pokračovat na web, vyberte Další informace a potom přejděte na webovou stránku.To continue to the web site, select More Information, and then Go on to the webpage.

  5. Chcete-li provést ověření v lokalitě, je nutné vybrat certifikát, který chcete použít.To authenticate to the site, you must select a certificate to use. Vyberte Další možnosti, vyberte příslušný certifikát a potom se kliknutím na tlačítko OK připojte k Service Fabric Explorer.Select More choices, pick the appropriate certificate, and then click OK to connect to the Service Fabric Explorer.

    Ověření

Použití prostředí Service Fabric PowerShellUse Service Fabric PowerShell

  1. Nainstalujte sadu Microsoft Azure Service Fabric SDK z části Příprava vývojového prostředí ve Windows v dokumentaci k Azure Service Fabric.Install the Microsoft Azure Service Fabric SDK from Prepare your development environment on Windows in the Azure Service Fabric documentation.

  2. Po dokončení instalace nakonfigurujte proměnné prostředí systému, aby se zajistilo, že jsou rutiny Service Fabric dostupné z PowerShellu.After the installation is complete, configure the system Environment variables to ensure that the Service Fabric cmdlets are accessible from PowerShell.

    a.a. Otevřete Ovládací panely > systém a zabezpečení > System a pak vyberte Upřesnit nastavení systému.Go to Control Panel > System and Security > System, and then select Advanced system settings.

    Ovládací panely

    b.b. Na kartě Upřesnit v okně Vlastnosti systému vyberte proměnné prostředí.On the Advanced tab of System Properties, select Environment Variables.

    c.c. V případě systémových proměnných upravte cestu a ujistěte se, že C: \ Program Files \ Microsoft Service Fabric bin Fabric Fabric Fabric \ \ \ . kód je v horní části seznamu proměnných prostředí.For System variables, edit Path and make sure that C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code is at the top of the list of environment variables.

    Seznam proměnných prostředí

  3. Po změně pořadí proměnných prostředí restartujte PowerShell a potom spuštěním následujícího skriptu PowerShellu Získejte přístup ke clusteru Service Fabric:After changing the order of the environment variables, restart PowerShell and then run the following PowerShell script to gain access to the Service Fabric cluster:

     Connect-ServiceFabricCluster -ConnectionEndpoint "\[Service Fabric
     CLUSTER FQDN\]:19000" \`
    
     -X509Credential -ServerCertThumbprint
     761A0D17B030723A37AA2E08225CD7EA8BE9F86A \`
    
     -FindType FindByThumbprint -FindValue
     0272251171BA32CEC7938A65B8A6A553AA2D3283 \`
    
     -StoreLocation CurrentUser -StoreName My -Verbose
    

    Poznámka

    Před názvem clusteru ve skriptu není žádný https:// .There is no https:// before the name of the cluster in the script. Je vyžadován port 19000.Port 19000 is required.

Další krokyNext steps

Nasazení Kubernetes do centra Azure StackDeploy Kubernetes to Azure Stack Hub