Distribuera ett Service Fabric kluster i Azure Stack HubDeploy a Service Fabric cluster in Azure Stack Hub

Använd Service Fabric Cluster -objektet från Azure Marketplace för att distribuera ett skyddat Service Fabric-kluster i Azure Stack Hub.Use the Service Fabric Cluster item from the Azure Marketplace to deploy a secured Service Fabric cluster in Azure Stack Hub.

Mer information om hur du arbetar med Service Fabric finns i Översikt över azure Service Fabric och Service Fabric kluster säkerhets scenarier i Azure-dokumentationen.For more information about working with Service Fabric, see Overview of Azure Service Fabric and Service Fabric cluster security scenarios in the Azure documentation.

Service Fabric klustret i Azure Stack Hub använder inte Resource providern Microsoft. ServiceFabric.The Service Fabric cluster in Azure Stack Hub doesn't use the resource provider Microsoft.ServiceFabric. I Azure Stack hubb är Service Fabric klustret en skalnings uppsättning för virtuella datorer med förinstallerad program vara med önskad tillstånds konfiguration (DSC).Instead, in Azure Stack Hub, the Service Fabric cluster is a virtual machine scale set with preinstalled software using Desired State Configuration (DSC).

FörutsättningarPrerequisites

Följande krävs för att distribuera Service Fabric-klustret:The following are required to deploy the Service Fabric cluster:

  1. Kluster certifikatCluster certificate
    Detta är det X. 509-servercertifikat som du lägger till Key Vault när du distribuerar Service Fabric.This is the X.509 server certificate you add to Key Vault when deploying Service Fabric.

    • CN på det här certifikatet måste matcha det fullständigt kvalificerade domän namnet (FQDN) för det Service Fabric-kluster som du skapar.The CN on this cert must match the Fully Qualified Domain Name (FQDN) of the Service Fabric cluster you create.

    • Certifikat formatet måste vara PFX eftersom både offentliga och privata nycklar krävs.The certificate format must be PFX, as both the public and private keys are required. Se krav för att skapa detta certifikat på Server sidan.See requirements for creating this server-side cert.

      Anteckning

      Du kan använda ett självsignerat certifikat som är inplacerat på X. 509-servercertifikatet i test syfte.You can use a self-signed certificate inplace of the X.509 server certificate for test purposes. Självsignerade certifikat behöver inte matcha det fullständiga domän namnet för klustret.Self-signed certificates do not need to match the FQDN of the cluster.

  2. Administratörs klient certifikatAdmin Client certificate
    Detta är det certifikat som klienten använder för att autentisera till Service Fabric klustret, vilket kan vara självsignerat.This is the certificate that the client uses to authenticate to the Service Fabric cluster, which can be self-signed. Se krav för att skapa det här klient certifikatet.See requirements for creating this client cert.

  3. Följande objekt måste vara tillgängliga på Azure Stack Hub Marketplace:The following items must be available in the Azure Stack Hub Marketplace:

    • Windows server 2016 – mallen använder windows Server 2016-avbildningen för att skapa klustret.Windows Server 2016 - The template uses the Windows Server 2016 image to create the cluster.
    • Anpassat skript tillägg – tillägg för virtuell dator från Microsoft.Custom Script Extension - Virtual Machine Extension from Microsoft.
    • PowerShell önskad steg konfiguration – tillägg för virtuell dator från Microsoft.PowerShell Desired Stage Configuration - Virtual Machine Extension from Microsoft.

Lägga till en hemlighet i Key VaultAdd a secret to Key Vault

Om du vill distribuera ett Service Fabric kluster måste du ange rätt Key Vault hemlig identifierare eller URL för Service Fabric klustret.To deploy a Service Fabric cluster, you must specify the correct Key Vault Secret Identifier or URL for the Service Fabric cluster. Azure Resource Manager-mallen använder en Key Vault som inmatad.The Azure Resource Manager template takes a Key Vault as input. Sedan hämtar mallen kluster certifikatet när du installerar Service Fabric-klustret.Then the template retrieves the Cluster certificate when installing the Service Fabric cluster.

Viktigt

Du måste använda PowerShell för att lägga till en hemlighet till Key Vault som ska användas med Service Fabric.You must use PowerShell to add a secret to Key Vault for use with Service Fabric. Använd inte portalen.Do not use the portal.

Använd följande skript för att skapa Key Vault och lägga till kluster certifikatet i det.Use the following script to create the Key Vault and add the cluster certificate to it. (Se kraven.) Innan du kör skriptet granskar du exempel skriptet och uppdaterar de angivna parametrarna så att de matchar din miljö.(See the prerequisites.) Before you run the script, review the sample script and update the indicated parameters to match your environment. Det här skriptet kommer också att mata ut de värden som du måste ange för Azure Resource Manager-mallen.This script will also output the values you need to provide to the Azure Resource Manager template.

Tips

Innan skriptet kan fungera måste det finnas ett offentligt erbjudande som innehåller tjänsterna för beräkning, nätverk, lagring och 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

Mer information finns i hantera Key Vault på Azure Stack Hub med PowerShell.For more information, see Manage Key Vault on Azure Stack Hub with PowerShell.

Distribuera Marketplace-objektetDeploy the Marketplace item

  1. Gå till + skapa ett resurs > beräknings > Service Fabric kluster i användar portalen.In the user portal, go to + Create a resource > Compute > Service Fabric Cluster.

    Välj Service Fabric kluster

  2. För varje sida, till exempel grunderna, fyller du i distributions formuläret.For each page, like Basics, fill out the deployment form. Använd standardvärden om du inte är säker på värdet.Use defaults if you're not sure of a value.

    För distributioner till en frånkopplad Azure Stack hubb eller för att distribuera en annan version av Service Fabric ska du hämta Service Fabric-distributionspaketet och dess motsvarande runtime-paket och vara värd för det på en Azure Stack Hub-blob.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. Ange värdena för URL: en för Service Fabric distributions paket och URL: er för Service Fabric körnings paket .Provide these values to the Service Fabric deployment package URL and Service Fabric runtime package URL fields.

    Anteckning

    Det finns kompatibilitetsproblem mellan den senaste versionen av Service Fabric och dess motsvarande SDK.There are compatibility issues between the latest release of Service Fabric and its corresponding SDK. Innan problemet har åtgärd ATS anger du följande parametrar för URL: en för distributions paketets URL och körnings paketet.Until that issue is addressed, please provide the following parameters to the deployment package URL and runtime package URL. Dina distributioner kommer inte att fungera på annat sätt.Your deployments will fail otherwise.

    För frånkopplade distributioner kan du hämta dessa paket från den angivna platsen och vara värd för det lokalt på en Azure Stack hubb-blob.For disconnected deployments, download these packages from the specified location and host it locally on an Azure Stack Hub Blob.

    Grunder

  3. På sidan nätverks inställningar kan du ange vilka portar som ska öppnas för dina program:On the Network Settings page, you can specify specific ports to open for your applications:

    Nätverksinställningar

  4. På sidan säkerhet lägger du till de värden som du har fått från att Skapa Azure Key Vault och laddar upp hemligheten.On the Security page, add the values that you got from creating the Azure Key Vault and Uploading the Secret.

    För administratörens tumavtryck för klient certifikat anger du tumavtrycket för Administratörs klient certifikatet.For the Admin Client Certificate Thumbprint, enter the thumbprint of the Admin Client certificate. (Se kraven.)(See the prerequisites.)

    • Käll Key Vault: Ange hela keyVault id strängen från skript resultatet.Source Key Vault: Specify entire keyVault id string from the script results.
    • URL för kluster certifikat: Ange hela URL: en från Secret Id skript resultatet.Cluster Certificate URL: Specify the entire URL from the Secret Id from the script results.
    • Tumavtryck för kluster certifikat: ange tumavtryck för kluster certifikatet från skript resultatet.Cluster Certificate thumbprint: Specify the Cluster Certificate Thumbprint from the script results.
    • URL för Server certifikat: om du vill använda ett separat certifikat från kluster certifikatet laddar du upp certifikatet till ett nyckel valv och anger den fullständiga webb adressen till hemligheten.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.
    • Tumavtryck för Server certifikat: Ange tumavtryck för Server certifikatetServer Certificate thumbprint: Specify the thumbprint for the Server Certificate
    • Admin-tumavtrycken för klient certifikat: Ange det Administratörs klient certifikat som skapats i kraven.Admin Client Certificate Thumbprints: Specify the Admin Client Certificate Thumbprint created in the prerequisites.

    Skriptets utdata

    Säkerhet

  5. Slutför guiden och välj sedan skapa för att distribuera Service Fabric klustret.Complete the wizard, and then select Create to deploy the Service Fabric Cluster.

Komma åt Service Fabric-klustretAccess the Service Fabric Cluster

Du kan komma åt Service Fabric-klustret med hjälp av antingen Service Fabric Explorer eller Service Fabric PowerShell.You can access the Service Fabric cluster by using either the Service Fabric Explorer or Service Fabric PowerShell.

Använd Service Fabric ExplorerUse Service Fabric Explorer

  1. Se till att webbläsaren har åtkomst till ditt administratörs klient certifikat och kan autentisera till ditt Service Fabric-kluster.Ensure that the browser has access to your Admin client certificate and can authenticate to your Service Fabric cluster.

    a.a. Öppna Internet Explorer och gå till Internet alternativ > innehålls > certifikat.Open Internet Explorer and go to Internet Options > Content > Certificates.

    b.b. På certifikat väljer du Importera för att starta guiden Importera certifikat och klickar sedan på Nästa.On Certificates, select Import to start the Certificate Import Wizard, and then click Next. På sidan fil som ska importeras klickar du på Bläddra och väljer det Administratörs klient certifikat som du angav i Azure Resource Manager-mallen.On the File to Import page click Browse, and select the Admin Client certificate you provided to the Azure Resource Manager template.

    Anteckning

    Det här certifikatet är inte det kluster certifikat som tidigare lades till Key Vault.This certificate is not the Cluster certificate that was previously added to Key Vault.

    c.c. Se till att du har valt "personal information Exchange" i list rutan tillägg i fönstret Utforskaren.Ensure that you have "Personal Information Exchange" selected in the extension dropdown of the File Explorer window.

    Personal information Exchange

    d.d. På sidan certifikat Arkiv väljer du personligt och slutför sedan guiden.On the Certificate Store page, select Personal, and then complete the wizard.
    Certifikat ArkivCertificate store

  2. Så här hittar du det fullständiga domän namnet för ditt Service Fabric-kluster:To find the FQDN of your Service Fabric cluster:

    a.a. Gå till den resurs grupp som är kopplad till ditt Service Fabric kluster och leta upp den offentliga IP -adressresursen.Go to the resource group that is associated with your Service Fabric cluster and locate the Public IP address resource. Välj det objekt som är associerat med den offentliga IP-adressen för att öppna bladet offentliga IP-adresser .Select the object associated with the Public IP address to open the Public IP address blade.

    Offentlig IP-adress

    b.b. I bladet offentlig IP-adress visas FQDN som DNS-namn.On the Public IP address blade, the FQDN displays as DNS name.

    DNS-namn

  3. Om du vill hitta URL: en för Service Fabric Explorer och klient anslutnings slut punkten granskar du resultatet av Malldistribution.To find the URL for the Service Fabric Explorer, and the Client connection endpoint, review the results of the Template deployment.

  4. Gå till https://*FQDN*:19080 i webbläsaren.In your browser, go to https://*FQDN*:19080. Ersätt FQDN med det fullständiga domän namnet för ditt Service Fabric-kluster från steg 2.Replace FQDN with the FQDN of your Service Fabric cluster from step 2.
    Om du har använt ett självsignerat certifikat får du en varning om att anslutningen inte är säker.If you've used a self-signed certificate, you'll get a warning that the connection isn't secure. Om du vill fortsätta till webbplatsen väljer du Mer information och går sedan till webb sidan.To continue to the web site, select More Information, and then Go on to the webpage.

  5. Om du vill autentisera till platsen måste du välja ett certifikat som ska användas.To authenticate to the site, you must select a certificate to use. Välj fler alternativ, Välj lämpligt certifikat och klicka sedan på OK för att ansluta till Service Fabric Explorer.Select More choices, pick the appropriate certificate, and then click OK to connect to the Service Fabric Explorer.

    Autentisera

Använd Service Fabric PowerShellUse Service Fabric PowerShell

  1. Installera Microsoft Azure Service Fabric SDK från förbereda utvecklings miljön i Windows i Azure Service Fabric-dokumentationen.Install the Microsoft Azure Service Fabric SDK from Prepare your development environment on Windows in the Azure Service Fabric documentation.

  2. När installationen är klar konfigurerar du systemmiljövariabler så att du ser till att de Service Fabric-cmdletarna är tillgängliga från PowerShell.After the installation is complete, configure the system Environment variables to ensure that the Service Fabric cmdlets are accessible from PowerShell.

    a.a. Gå till kontroll panelen > system och säkerhets > system och välj sedan Avancerade systeminställningar.Go to Control Panel > System and Security > System, and then select Advanced system settings.

    Kontroll panel

    b.b. På fliken Avancerat i system egenskaper väljer du miljövariabler.On the Advanced tab of System Properties, select Environment Variables.

    c.c. För Systemvariabler redigerar du sökvägen och kontrollerar att C: \ programfilerna \ Microsoft Service Fabric \ bin \ Fabric \ Fabric. kod är högst upp i listan över miljövariabler.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.

    Miljö variabel lista

  3. När du har ändrat ordningen på miljövariablerna startar du om PowerShell och kör sedan följande PowerShell-skript för att få åtkomst till Service Fabric klustret: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
    

    Anteckning

    Det finns ingen https:// före namnet på klustret i skriptet.There is no https:// before the name of the cluster in the script. Port 19000 krävs.Port 19000 is required.

Nästa stegNext steps

Distribuera Kubernetes till Azure Stack HubDeploy Kubernetes to Azure Stack Hub