Wdrażanie klastra Service Fabric w centrum Azure StackDeploy a Service Fabric cluster in Azure Stack Hub

Użyj Service Fabric elementu klastra z witryny Azure Marketplace, aby wdrożyć bezpieczny klaster Service Fabric w centrum Azure Stack.Use the Service Fabric Cluster item from the Azure Marketplace to deploy a secured Service Fabric cluster in Azure Stack Hub.

Aby uzyskać więcej informacji na temat pracy z Service Fabric, zobacz Omówienie scenariuszy zabezpieczeń usługi azure Service Fabric i Service Fabric w dokumentacji platformy 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.

Klaster Service Fabric w usłudze Azure Stack Hub nie korzysta z dostawcy zasobów Microsoft. servicefabric.The Service Fabric cluster in Azure Stack Hub doesn't use the resource provider Microsoft.ServiceFabric. Zamiast tego w programie Azure Stack Hub klaster Service Fabric jest zestawem skalowania maszyn wirtualnych z wstępnie zainstalowanym oprogramowaniem przy użyciu konfiguracji żądanego stanu (DSC).Instead, in Azure Stack Hub, the Service Fabric cluster is a virtual machine scale set with preinstalled software using Desired State Configuration (DSC).

Wymagania wstępnePrerequisites

Aby wdrożyć klaster Service Fabric, wymagane są następujące elementy:The following are required to deploy the Service Fabric cluster:

  1. Certyfikat klastraCluster certificate
    Jest to certyfikat serwera X. 509, który można dodać do Key Vault podczas wdrażania Service Fabric.This is the X.509 server certificate you add to Key Vault when deploying Service Fabric.

    • Nazwa pospolita tego certyfikatu musi być zgodna z w pełni kwalifikowaną nazwą domeny (FQDN) tworzonego klastra Service Fabric.The CN on this cert must match the Fully Qualified Domain Name (FQDN) of the Service Fabric cluster you create.

    • Format certyfikatu musi być w formacie PFX, ponieważ wymagane są zarówno klucze publiczne, jak i prywatne.The certificate format must be PFX, as both the public and private keys are required. Zapoznaj się z wymaganiami dotyczącymi tworzenia tego certyfikatu po stronie serwera.See requirements for creating this server-side cert.

      Uwaga

      W celach testowych można użyć certyfikatu z podpisem własnym dla certyfikatu serwera X. 509.You can use a self-signed certificate inplace of the X.509 server certificate for test purposes. Certyfikaty z podpisem własnym nie muszą być zgodne z nazwą FQDN klastra.Self-signed certificates do not need to match the FQDN of the cluster.

  2. Certyfikat klienta administratoraAdmin Client certificate
    Jest to certyfikat używany przez klienta do uwierzytelniania w klastrze Service Fabric, który może być podpisany z podpisem własnym.This is the certificate that the client uses to authenticate to the Service Fabric cluster, which can be self-signed. Zapoznaj się z wymaganiami dotyczącymi tworzenia tego certyfikatu klienta.See requirements for creating this client cert.

  3. Następujące elementy muszą być dostępne w witrynie Centrum Azure Stack Hub:The following items must be available in the Azure Stack Hub Marketplace:

    • Windows server 2016 — szablon używa obrazu systemu windows Server 2016 do utworzenia klastra.Windows Server 2016 - The template uses the Windows Server 2016 image to create the cluster.
    • Rozszerzenie skryptu niestandardowego — rozszerzenie maszyny wirtualnej od firmy Microsoft.Custom Script Extension - Virtual Machine Extension from Microsoft.
    • Konfiguracja żądanego etapu programu PowerShell — rozszerzenie maszyny wirtualnej od firmy Microsoft.PowerShell Desired Stage Configuration - Virtual Machine Extension from Microsoft.

Dodawanie wpisu tajnego do usługi Key VaultAdd a secret to Key Vault

Aby wdrożyć klaster Service Fabric, należy określić prawidłowy Identyfikator tajny Key Vault lub adres URL klastra Service Fabric.To deploy a Service Fabric cluster, you must specify the correct Key Vault Secret Identifier or URL for the Service Fabric cluster. Szablon Azure Resource Manager przyjmuje Key Vault jako dane wejściowe.The Azure Resource Manager template takes a Key Vault as input. Następnie szablon pobiera certyfikat klastra podczas instalowania klastra Service Fabric.Then the template retrieves the Cluster certificate when installing the Service Fabric cluster.

Ważne

Musisz użyć programu PowerShell, aby dodać wpis tajny do Key Vault do użycia z Service Fabric.You must use PowerShell to add a secret to Key Vault for use with Service Fabric. Nie należy używać portalu.Do not use the portal.

Użyj poniższego skryptu, aby utworzyć Key Vault i dodać do niego certyfikat klastra .Use the following script to create the Key Vault and add the cluster certificate to it. (Zobacz wymagania wstępne). Przed uruchomieniem skryptu zapoznaj się z przykładowym skryptem i zaktualizuj wskazane parametry, aby dopasować je do środowiska.(See the prerequisites.) Before you run the script, review the sample script and update the indicated parameters to match your environment. Ten skrypt będzie również wyprowadzał wartości, które należy podać dla szablonu Azure Resource Manager.This script will also output the values you need to provide to the Azure Resource Manager template.

Porada

Aby skrypt mógł się powieść, musi istnieć publiczna oferta obejmująca usługi obliczeniowe, sieci, magazynu i 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

Aby uzyskać więcej informacji, zobacz zarządzanie Key Vault w centrum Azure Stack przy użyciu programu PowerShell.For more information, see Manage Key Vault on Azure Stack Hub with PowerShell.

Wdrażanie elementu portalu MarketplaceDeploy the Marketplace item

  1. W portalu użytkowników Przejdź kolejno do pozycji + Utwórz zasób > obliczeniowy > Service Fabric klastrze.In the user portal, go to + Create a resource > Compute > Service Fabric Cluster.

    Wybierz klaster Service Fabric

  2. Dla każdej strony, na przykład podstawy, Wypełnij formularz wdrożenia.For each page, like Basics, fill out the deployment form. Użyj wartości domyślnych, jeśli nie masz pewności co do wartości.Use defaults if you're not sure of a value.

    W przypadku wdrożeń do odłączonego centrum Azure Stack lub wdrożenia innej wersji Service Fabric Pobierz pakiet wdrożeniowy Service Fabric oraz jego odpowiedni pakiet środowiska uruchomieniowego i hostuje go na Azure Stack serwerze BLOB centrum.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. Podaj te wartości w polach adres URL pakietu wdrożeniowego Service Fabric i adres URL pakietu Service Fabric środowiska uruchomieniowego .Provide these values to the Service Fabric deployment package URL and Service Fabric runtime package URL fields.

    Uwaga

    Istnieją problemy ze zgodnością między najnowszą wersją Service Fabric i odpowiednim zestawem SDK.There are compatibility issues between the latest release of Service Fabric and its corresponding SDK. Dopóki ten problem nie zostanie rozwiązany, podaj następujące parametry w adresie URL pakietu wdrożenia i adresie URL pakietu środowiska uruchomieniowego.Until that issue is addressed, please provide the following parameters to the deployment package URL and runtime package URL. W przeciwnym razie wdrożenia będą kończyć się niepowodzeniem.Your deployments will fail otherwise.

    W przypadku rozłączonych wdrożeń Pobierz te pakiety z określonej lokalizacji i hostuje je lokalnie w obiekcie blob Azure Stack Hub.For disconnected deployments, download these packages from the specified location and host it locally on an Azure Stack Hub Blob.

    Podstawy

  3. Na stronie Ustawienia sieci można określić określone porty do otwarcia dla aplikacji:On the Network Settings page, you can specify specific ports to open for your applications:

    Ustawienia sieci

  4. Na stronie zabezpieczenia Dodaj wartości, które zostały uzyskane z tworzenia Azure Key Vault i przekazanie klucza tajnego.On the Security page, add the values that you got from creating the Azure Key Vault and Uploading the Secret.

    Dla odcisku palca certyfikatu klienta administratora wprowadź odcisk palca certyfikatu klienta administratora.For the Admin Client Certificate Thumbprint, enter the thumbprint of the Admin Client certificate. (Zobacz wymagania wstępne).(See the prerequisites.)

    • Key Vault źródłowa: Określ cały keyVault id ciąg z wyników skryptu.Source Key Vault: Specify entire keyVault id string from the script results.
    • Adres URL certyfikatu klastra: Określ cały adres URL z Secret Id wyników skryptu.Cluster Certificate URL: Specify the entire URL from the Secret Id from the script results.
    • Odcisk palca certyfikatu klastra: Określ odcisk palca certyfikatu klastra z wyników skryptu.Cluster Certificate thumbprint: Specify the Cluster Certificate Thumbprint from the script results.
    • Adres URL certyfikatu serwera: Jeśli chcesz użyć oddzielnego certyfikatu z certyfikatu klastra, Przekaż certyfikat do magazynu kluczy i podaj pełny adres URL dla wpisu tajnego.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.
    • Odcisk palca certyfikatu serwera: Określ odcisk palca certyfikatu serweraServer Certificate thumbprint: Specify the thumbprint for the Server Certificate
    • Odciski palca certyfikatu klienta administratora: Określ odcisk palca certyfikatu klienta administratora utworzony w wymaganiach wstępnych.Admin Client Certificate Thumbprints: Specify the Admin Client Certificate Thumbprint created in the prerequisites.

    Dane wyjściowe skryptu

    Zabezpieczenia

  5. Ukończ pracę kreatora, a następnie wybierz pozycję Utwórz , aby wdrożyć klaster Service Fabric.Complete the wizard, and then select Create to deploy the Service Fabric Cluster.

Dostęp do klastra Service FabricAccess the Service Fabric Cluster

Możesz uzyskać dostęp do klastra Service Fabric przy użyciu Service Fabric Explorer lub Service Fabric programu PowerShell.You can access the Service Fabric cluster by using either the Service Fabric Explorer or Service Fabric PowerShell.

Użyj Service Fabric ExplorerUse Service Fabric Explorer

  1. Upewnij się, że przeglądarka ma dostęp do certyfikatu klienta administratora i może być uwierzytelniana w klastrze Service Fabric.Ensure that the browser has access to your Admin client certificate and can authenticate to your Service Fabric cluster.

    a.a. Otwórz program Internet Explorer i przejdź do pozycji Opcje internetowe > Content > Certyfikaty zawartości.Open Internet Explorer and go to Internet Options > Content > Certificates.

    b.b. Na stronie certyfikaty wybierz pozycję Importuj , aby uruchomić Kreatora importu certyfikatów, a następnie kliknij przycisk dalej.On Certificates, select Import to start the Certificate Import Wizard, and then click Next. Na stronie plik do zaimportowania kliknij przycisk Przeglądaj, a następnie wybierz certyfikat klienta administratora podany w szablonie 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.

    Uwaga

    Ten certyfikat nie jest certyfikatem klastra, który został wcześniej dodany do Key Vault.This certificate is not the Cluster certificate that was previously added to Key Vault.

    c.c. Upewnij się, że na liście rozwijanej rozszerzenia okna Eksploratora plików jest wybrana wartość "wymiana informacji osobistych".Ensure that you have "Personal Information Exchange" selected in the extension dropdown of the File Explorer window.

    Wymiana informacji osobistych

    d.d. Na stronie Magazyn certyfikatów wybierz pozycję osobiste, a następnie Ukończ pracę kreatora.On the Certificate Store page, select Personal, and then complete the wizard.
    Magazyn certyfikatówCertificate store

  2. Aby znaleźć nazwę FQDN klastra Service Fabric:To find the FQDN of your Service Fabric cluster:

    a.a. Przejdź do grupy zasobów skojarzonej z klastrem Service Fabric i Znajdź zasób publicznego adresu IP .Go to the resource group that is associated with your Service Fabric cluster and locate the Public IP address resource. Wybierz obiekt skojarzony z publicznym adresem IP, aby otworzyć blok publiczny adres IP .Select the object associated with the Public IP address to open the Public IP address blade.

    Publiczny adres IP

    b.b. W bloku publiczny adres IP nazwa FQDN jest wyświetlana jako nazwy DNS.On the Public IP address blade, the FQDN displays as DNS name.

    Nazwa DNS

  3. Aby znaleźć adres URL Service Fabric Explorer i punkt końcowy połączenia klienta, przejrzyj wyniki Template deployment.To find the URL for the Service Fabric Explorer, and the Client connection endpoint, review the results of the Template deployment.

  4. W przeglądarce przejdź do adresu https://*FQDN*:19080.In your browser, go to https://*FQDN*:19080. Zastąp nazwę FQDN nazwą fqdn klastra Service Fabric z kroku 2.Replace FQDN with the FQDN of your Service Fabric cluster from step 2.
    W przypadku użycia certyfikatu z podpisem własnym zostanie wyświetlone ostrzeżenie informujące o tym, że połączenie nie jest bezpieczne.If you've used a self-signed certificate, you'll get a warning that the connection isn't secure. Aby przejść do witryny sieci Web, wybierz pozycję więcej informacji, a następnie Przejdź do strony sieci Web.To continue to the web site, select More Information, and then Go on to the webpage.

  5. Aby uwierzytelnić się w lokacji, należy wybrać certyfikat do użycia.To authenticate to the site, you must select a certificate to use. Wybierz opcję więcej opcji, wybierz odpowiedni certyfikat, a następnie kliknij przycisk OK , aby połączyć się z Service Fabric Explorer.Select More choices, pick the appropriate certificate, and then click OK to connect to the Service Fabric Explorer.

    Uwierzytelnianie

Korzystanie z programu Service Fabric PowerShellUse Service Fabric PowerShell

  1. Zainstaluj zestaw SDK Microsoft Azure Service Fabric z przygotowania środowiska deweloperskiego w systemie Windows w dokumentacji usługi 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 zakończeniu instalacji skonfiguruj systemowe zmienne środowiskowe, aby upewnić się, że polecenia cmdlet Service Fabric są dostępne z programu PowerShell.After the installation is complete, configure the system Environment variables to ensure that the Service Fabric cmdlets are accessible from PowerShell.

    a.a. Przejdź do pozycji system Panelu sterowania system > i zabezpieczenia > System, a następnie wybierz pozycję Zaawansowane ustawienia systemu.Go to Control Panel > System and Security > System, and then select Advanced system settings.

    Panel sterowania

    b.b. Na karcie Zaawansowane we właściwościach systemu wybierz pozycję zmienne środowiskowe.On the Advanced tab of System Properties, select Environment Variables.

    c.c. W przypadku zmiennych systemowych Edytuj ścieżkę i upewnij się, że C: \ Program Files \ Microsoft Service Fabric \ bin Fabric Fabric \ \ . Code znajduje się na szczycie listy zmiennych środowiskowych.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.

    Lista zmiennych środowiskowych

  3. Po zmianie kolejności zmiennych środowiskowych Uruchom ponownie program PowerShell, a następnie uruchom następujący skrypt programu PowerShell, aby uzyskać dostęp do klastra 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
    

    Uwaga

    Nie ma https:// przed nazwą klastra w skrypcie.There is no https:// before the name of the cluster in the script. Port 19000 jest wymagany.Port 19000 is required.

Następne krokiNext steps

Wdrażanie Kubernetes w centrum Azure StackDeploy Kubernetes to Azure Stack Hub