Azure Stack hub 'da Service Fabric kümesi dağıtmaDeploy a Service Fabric cluster in Azure Stack Hub

Azure Stack hub 'ında güvenli bir Service Fabric kümesi dağıtmak için Azure Marketi 'ndeki Service Fabric küme öğesini kullanın.Use the Service Fabric Cluster item from the Azure Marketplace to deploy a secured Service Fabric cluster in Azure Stack Hub.

Service Fabric ile çalışma hakkında daha fazla bilgi için bkz. Azure Service Fabric 'ye genel bakış ve Azure belgelerindeki küme güvenliği senaryoları Service Fabric .For more information about working with Service Fabric, see Overview of Azure Service Fabric and Service Fabric cluster security scenarios in the Azure documentation.

Azure Stack hub 'daki Service Fabric kümesi, Microsoft. ServiceFabric kaynak sağlayıcısını kullanmaz.The Service Fabric cluster in Azure Stack Hub doesn't use the resource provider Microsoft.ServiceFabric. Bunun yerine, Azure Stack hub 'ında Service Fabric kümesi, Istenen durum yapılandırması (DSC)kullanılarak önceden yüklenmiş yazılım içeren bir sanal makine ölçek kümesidir.Instead, in Azure Stack Hub, the Service Fabric cluster is a virtual machine scale set with preinstalled software using Desired State Configuration (DSC).

ÖnkoşullarPrerequisites

Service Fabric kümesi dağıtmak için aşağıdakiler gereklidir:The following are required to deploy the Service Fabric cluster:

  1. Küme sertifikasıCluster certificate
    Bu, Service Fabric dağıtımı sırasında Key Vault eklediğiniz X. 509.440 sunucu sertifikasıdır.This is the X.509 server certificate you add to Key Vault when deploying Service Fabric.

    • Bu sertifika üzerindeki CN , oluşturduğunuz Service Fabric kümesinin tam etki alanı adı (FQDN) ile eşleşmelidir.The CN on this cert must match the Fully Qualified Domain Name (FQDN) of the Service Fabric cluster you create.

    • Hem ortak hem de özel anahtarlar gerekli olduğundan, sertifika biçiminin PFX olması gerekir.The certificate format must be PFX, as both the public and private keys are required. Bu sunucu tarafı sertifikası oluşturma gereksinimlerine bakın.See requirements for creating this server-side cert.

      Not

      Test amaçları için X. 509.440 sunucu sertifikasının kendinden imzalı bir sertifika kullanabilirsiniz.You can use a self-signed certificate inplace of the X.509 server certificate for test purposes. Otomatik olarak imzalanan sertifikaların kümenin FQDN 'siyle eşleşmesi gerekmez.Self-signed certificates do not need to match the FQDN of the cluster.

  2. Yönetici Istemci sertifikasıAdmin Client certificate
    Bu, istemcinin, kendinden imzalı olabilen Service Fabric kümesinde kimlik doğrulamak için kullandığı sertifikadır.This is the certificate that the client uses to authenticate to the Service Fabric cluster, which can be self-signed. Bu istemci sertifikası oluşturma gereksinimlerine bakın.See requirements for creating this client cert.

  3. Aşağıdaki öğeler Azure Stack hub marketi 'nde kullanılabilir olmalıdır:The following items must be available in the Azure Stack Hub Marketplace:

    • Windows server 2016 -şablon, kümeyi oluşturmak Için windows Server 2016 görüntüsünü kullanır.Windows Server 2016 - The template uses the Windows Server 2016 image to create the cluster.
    • Özel Betik uzantısı -Microsoft 'Tan sanal makine uzantısı.Custom Script Extension - Virtual Machine Extension from Microsoft.
    • PowerShell Istenen aşama yapılandırması -sanal makine uzantısı Microsoft 'tan.PowerShell Desired Stage Configuration - Virtual Machine Extension from Microsoft.

Key Vault’a gizli dizi eklemeAdd a secret to Key Vault

Service Fabric kümesi dağıtmak için, Service Fabric kümesi için doğru Key Vault gizli tanımlayıcı veya URL 'yi belirtmeniz gerekir.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 şablonu girdi olarak bir Key Vault alır.The Azure Resource Manager template takes a Key Vault as input. Ardından şablon, Service Fabric kümesini yüklerken küme sertifikasını alır.Then the template retrieves the Cluster certificate when installing the Service Fabric cluster.

Önemli

Service Fabric ile kullanmak üzere Key Vault bir gizli dizi eklemek için PowerShell kullanmanız gerekir.You must use PowerShell to add a secret to Key Vault for use with Service Fabric. Portalını kullanmayın.Do not use the portal.

Key Vault oluşturmak ve kümeye küme sertifikası eklemek için aşağıdaki betiği kullanın.Use the following script to create the Key Vault and add the cluster certificate to it. ( Önkoşullarabakın.) Betiği çalıştırmadan önce, örnek betiği gözden geçirin ve belirtilen parametreleri ortamınızla eşleşecek şekilde güncelleştirin.(See the prerequisites.) Before you run the script, review the sample script and update the indicated parameters to match your environment. Bu betik Ayrıca Azure Resource Manager şablonuna sağlamanız gereken değerleri de çıktısını verir.This script will also output the values you need to provide to the Azure Resource Manager template.

İpucu

Betiğin başarılı olabilmesi için Işlem, ağ, depolama ve Key Vault hizmetlerini içeren bir genel teklif olmalıdır.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

Daha fazla bilgi için bkz. PowerShell ile Azure Stack hub 'ında Key Vault yönetme.For more information, see Manage Key Vault on Azure Stack Hub with PowerShell.

Market öğesini dağıtmaDeploy the Marketplace item

  1. Kullanıcı portalında + kaynak > işlem > Service Fabric kümesi oluştur ' a gidin.In the user portal, go to + Create a resource > Compute > Service Fabric Cluster.

    Service Fabric kümesi seçin

  2. Temel bilgiler gibi her sayfa için dağıtım formunu doldurun.For each page, like Basics, fill out the deployment form. Bir değerden emin değilseniz Varsayılanları kullanın.Use defaults if you're not sure of a value.

    Bağlantısı kesilen bir Azure Stack hub 'ına veya Service Fabric başka bir sürümünü dağıtmaya yönelik dağıtımlar için Service Fabric dağıtım paketini ve buna karşılık gelen çalışma zamanı paketini indirin ve bir Azure Stack hub blobu üzerinde barındırın.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. Bu değerleri Service Fabric dağıtım paketi URL 'si ve Service Fabric çalışma zamanı paketi URL 'si alanlarına girin.Provide these values to the Service Fabric deployment package URL and Service Fabric runtime package URL fields.

    Not

    En son Service Fabric sürümü ile karşılık gelen SDK arasında uyumluluk sorunları vardır.There are compatibility issues between the latest release of Service Fabric and its corresponding SDK. Bu sorun giderilene kadar lütfen dağıtım paketi URL 'SI ve çalışma zamanı paketi URL 'SI için aşağıdaki parametreleri sağlayın.Until that issue is addressed, please provide the following parameters to the deployment package URL and runtime package URL. Aksi takdirde dağıtımlarınız başarısız olur.Your deployments will fail otherwise.

    Bağlantısı kesilen dağıtımlar için, bu paketleri belirtilen konumdan indirin ve bir Azure Stack hub blobu üzerinde yerel olarak barındırın.For disconnected deployments, download these packages from the specified location and host it locally on an Azure Stack Hub Blob.

    Temel bilgiler

  3. Ağ ayarları sayfasında, uygulamalarınız için açmak üzere belirli bağlantı noktaları belirtebilirsiniz:On the Network Settings page, you can specify specific ports to open for your applications:

    Ağ Ayarları

  4. Güvenlik sayfasında, Azure Key Vault oluşturup parolayı karşıya yüklemeden aldığınız değerleri ekleyin.On the Security page, add the values that you got from creating the Azure Key Vault and Uploading the Secret.

    Yönetici Istemci sertifikası parmak izi Için, yönetici istemci sertifikasının parmak izini girin.For the Admin Client Certificate Thumbprint, enter the thumbprint of the Admin Client certificate. ( Önkoşullarabakın.)(See the prerequisites.)

    • Kaynak Key Vault: keyVault id betik sonuçlarından tüm dizeyi belirtin.Source Key Vault: Specify entire keyVault id string from the script results.
    • Küme sertifikası URL 'SI: komut dosyası sonuçlarından tüm URL 'YI belirtin Secret Id .Cluster Certificate URL: Specify the entire URL from the Secret Id from the script results.
    • Küme sertifikası parmak izi: betik sonuçlarından küme sertifikası parmak Izini belirtin.Cluster Certificate thumbprint: Specify the Cluster Certificate Thumbprint from the script results.
    • Sunucu sertifikası URL 'SI: küme sertifikasından ayrı bir sertifika kullanmak istiyorsanız, sertifikayı bir anahtar kasasına yükleyin ve gizli dizinin tam URL 'sini sağlayın.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.
    • Sunucu sertifikası parmak izi: sunucu sertifikası için parmak izini belirtinServer Certificate thumbprint: Specify the thumbprint for the Server Certificate
    • Yönetici Istemci sertifikası parmak Izleri: ön koşullarda oluşturulan yönetici Istemci sertifikası parmak Izini belirtin.Admin Client Certificate Thumbprints: Specify the Admin Client Certificate Thumbprint created in the prerequisites.

    Betik çıkışı

    Güvenlik

  5. Sihirbazı tamamlayıp Service Fabric kümesi dağıtmak için Oluştur ' u seçin.Complete the wizard, and then select Create to deploy the Service Fabric Cluster.

Service Fabric kümesine erişmeAccess the Service Fabric Cluster

Service Fabric kümesine Service Fabric Explorer veya Service Fabric PowerShell kullanarak erişebilirsiniz.You can access the Service Fabric cluster by using either the Service Fabric Explorer or Service Fabric PowerShell.

Service Fabric Explorer kullanUse Service Fabric Explorer

  1. Tarayıcının yönetici istemci sertifikaya erişebildiğinden ve Service Fabric kümenizde kimlik doğrulayabilecek şekilde emin olun.Ensure that the browser has access to your Admin client certificate and can authenticate to your Service Fabric cluster.

    a.a. Internet Explorer 'ı açın ve Internet seçenekleri > içerik > sertifikaları' na gidin.Open Internet Explorer and go to Internet Options > Content > Certificates.

    b.b. Sertifikalar üzerinde Içeri aktar ' ı seçerek sertifika alma Sihirbazı' nı başlatın ve ardından İleri' ye tıklayın.On Certificates, select Import to start the Certificate Import Wizard, and then click Next. Içeri aktarılacak dosya sayfasında, Araştır' a tıklayın ve Azure Resource Manager şablonuna verdiğiniz yönetici istemci sertifikasını seçin.On the File to Import page click Browse, and select the Admin Client certificate you provided to the Azure Resource Manager template.

    Not

    Bu sertifika, Key Vault daha önce eklenmiş olan küme sertifikası değil.This certificate is not the Cluster certificate that was previously added to Key Vault.

    c.c. Dosya Gezgini penceresinin uzantı açılan listesinde "kişisel bilgi değişimi" nin seçili olduğundan emin olun.Ensure that you have "Personal Information Exchange" selected in the extension dropdown of the File Explorer window.

    Kişisel bilgi değişimi

    d.d. Sertifika depolama alanı sayfasında Kişisel' i seçin ve ardından Sihirbazı doldurun.On the Certificate Store page, select Personal, and then complete the wizard.
    Sertifika deposuCertificate store

  2. Service Fabric kümenizin FQDN 'sini bulmak için:To find the FQDN of your Service Fabric cluster:

    a.a. Service Fabric kümeniz ile ilişkili kaynak grubuna gidin ve genel IP adresi kaynağını bulun.Go to the resource group that is associated with your Service Fabric cluster and locate the Public IP address resource. Genel IP adresi dikey penceresini açmak IÇIN genel IP adresiyle ilişkili nesneyi seçin.Select the object associated with the Public IP address to open the Public IP address blade.

    Genel IP adresi

    b.b. Genel IP adresi dikey penceresinde FQDN, DNS adı olarak görüntülenir.On the Public IP address blade, the FQDN displays as DNS name.

    DNS adı

  3. Service Fabric Explorer URL 'sini ve Istemci bağlantı uç noktasını bulmak için, Şablon dağıtımı sonuçlarını gözden geçirin.To find the URL for the Service Fabric Explorer, and the Client connection endpoint, review the results of the Template deployment.

  4. Tarayıcınızda https://*FQDN*:19080 adresine gidin.In your browser, go to https://*FQDN*:19080. FQDN 'yi, adım 2 ' deki SERVICE fabrıc kümenizin FQDN 'siyle değiştirin.Replace FQDN with the FQDN of your Service Fabric cluster from step 2.
    Kendinden imzalı bir sertifika kullandıysanız bağlantının güvenli olmadığını belirten bir uyarı alırsınız.If you've used a self-signed certificate, you'll get a warning that the connection isn't secure. Web sitesine devam etmek için daha fazla bilgi' yi seçin ve ardından Web sayfasına gidin.To continue to the web site, select More Information, and then Go on to the webpage.

  5. Sitenin kimliğini doğrulamak için kullanılacak bir sertifika seçmeniz gerekir.To authenticate to the site, you must select a certificate to use. Diğer seçenekler' i seçin, uygun sertifikayı seçin ve ardından Service Fabric Explorer bağlanmak için Tamam ' ı tıklatın.Select More choices, pick the appropriate certificate, and then click OK to connect to the Service Fabric Explorer.

    Kimlik doğrulaması

Service Fabric PowerShell kullanmaUse Service Fabric PowerShell

  1. Azure Service Fabric belgelerinde Windows üzerinde geliştirme ortamınızı hazırlama Microsoft Azure Service Fabric SDK 'sını yükler.Install the Microsoft Azure Service Fabric SDK from Prepare your development environment on Windows in the Azure Service Fabric documentation.

  2. Yükleme tamamlandıktan sonra, Service Fabric cmdlet 'lerinin PowerShell 'den erişilebilir olduğundan emin olmak için sistem ortam değişkenlerini yapılandırın.After the installation is complete, configure the system Environment variables to ensure that the Service Fabric cmdlets are accessible from PowerShell.

    a.a. Denetim Masası > sistem ve güvenlik > sistemi' ne gidin ve Gelişmiş sistem ayarları' nı seçin.Go to Control Panel > System and Security > System, and then select Advanced system settings.

    Denetim Masası

    b.b. Sistem Özellikleri' nin Gelişmiş sekmesinde ortam değişkenleri' ni seçin.On the Advanced tab of System Properties, select Environment Variables.

    c.c. Sistem değişkenleri için yolu düzenleyin ve C: \ Program Files \ Microsoft Service Fabric \ bin \ Fabric \ Fabric. Code ' un ortam değişkenleri listesinin en üstünde olduğundan emin olun.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.

    Ortam değişkeni listesi

  3. Ortam değişkenlerinin sırasını değiştirdikten sonra PowerShell 'i yeniden başlatın ve ardından Service Fabric kümesine erişim kazanmak için aşağıdaki PowerShell betiğini çalıştırın: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
    

    Not

    Betikte küme adından önce https:// yok.There is no https:// before the name of the cluster in the script. 19000 numaralı bağlantı noktası gereklidir.Port 19000 is required.

Sonraki adımlarNext steps

Kubernetes Azure Stack hub 'ına dağıtmaDeploy Kubernetes to Azure Stack Hub