Azure Stack Hub'da Service Fabric kümesi dağıtma

Azure Stack Hub'da güvenli bir Service Fabric kümesi dağıtmak için Azure Market Service Fabric Kümesi öğesini kullanın.

Service Fabric ile çalışma hakkında daha fazla bilgi için Azure belgelerindeki Azure Service Fabric ve Service Fabric kümesi güvenlik senaryolarına genel bakış bölümüne bakın.

Azure Stack Hub'daki Service Fabric kümesi Microsoft.ServiceFabric kaynak sağlayıcısını kullanmaz. Bunun yerine, Azure Stack Hub'da Service Fabric kümesi, Desired State Configuration (DSC) kullanan önceden yüklenmiş yazılım içeren bir sanal makine ölçek kümesidir.

Önkoşullar

Service Fabric kümesini dağıtmak için aşağıdakiler gereklidir:

  1. Küme sertifikası
    Bu, Service Fabric'i dağıtırken Key Vault eklediğiniz X.509 sunucu sertifikasıdır.

    • Bu sertifikadaki CN , oluşturduğunuz Service Fabric kümesinin Tam Etki Alanı Adı (FQDN) ile eşleşmelidir.

    • Hem ortak hem de özel anahtarlar gerektiğinden sertifika biçimi PFX olmalıdır. Bu sunucu tarafı sertifikasını oluşturma gereksinimlerine bakın.

      Not

      Test amacıyla X.509 sunucu sertifikasının otomatik olarak imzalanan sertifikasını kullanabilirsiniz. Otomatik olarak imzalanan sertifikaların kümenin FQDN'sini eşleştirmesi gerekmez.

  2. Yönetici İstemci sertifikası
    Bu, istemcinin Service Fabric kümesinde kimlik doğrulaması yapmak için kullandığı ve otomatik olarak imzalanabilen sertifikadır. Bu istemci sertifikasını oluşturma gereksinimlerine bakın.

  3. Aşağıdaki öğelerin Azure Stack Hub Marketi'nde kullanılabilir olması gerekir:

    • Windows Server 2016 - Şablon, kümeyi oluşturmak için Windows Server 2016 görüntüsünü kullanır.
    • Özel Betik Uzantısı - Microsoft'tan Sanal Makine Uzantısı.
    • PowerShell İstenen Aşama Yapılandırması - Microsoft'tan Sanal Makine Uzantısı.

Key Vault’a gizli dizi ekleme

Service Fabric kümesini dağıtmak için, Service Fabric kümesi için doğru Key Vault Gizli Dizi Tanımlayıcısı veya URL'sini belirtmeniz gerekir. Azure Resource Manager şablonu giriş olarak bir Key Vault alır. Ardından şablon, Service Fabric kümesini yüklerken Küme sertifikasını alır.

Önemli

Service Fabric ile kullanılmak üzere Key Vault gizli dizi eklemek için PowerShell kullanmalısınız. Portalı kullanmayın.

Key Vault oluşturmak ve küme sertifikasını buna eklemek için aşağıdaki betiği kullanın. ( Önkoşullara bakı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. Bu betik, Azure Resource Manager şablonuna sağlamanız gereken değerleri de verir.

İpucu

Betiğin başarılı olması için İşlem, Ağ, Depolama ve Key Vault hizmetlerini içeren genel bir teklif olması gerekir.

   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
   Connect-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'da Key Vault yönetme.

Market öğesini dağıtma

  1. Kullanıcı portalında + Kaynak> oluşturmaİşlem>Hizmeti Doku Kümesi'ne gidin.

    Service Fabric Kümesi Seç

  2. Temel bilgiler gibi her sayfa için dağıtım formunu doldurun. Bir değerden emin değilseniz varsayılanları kullanın.

    Bağlantısı kesilmiş bir Azure Stack Hub'a yapılan dağıtımlar veya Service Fabric'in başka bir sürümünü dağıtmak 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. Bu değerleri Service Fabric dağıtım paketi URL'si ve Service Fabric çalışma zamanı paketi URL'si alanlarına sağlayın.

    Not

    Service Fabric'in en son sürümüyle ilgili SDK'sı arasında uyumluluk sorunları vardır. Bu sorun giderilene kadar lütfen dağıtım paketi URL'sine ve çalışma zamanı paketi URL'sine aşağıdaki parametreleri sağlayın. Aksi takdirde dağıtımlarınız başarısız olur.

    Bağlantısız dağıtımlar için bu paketleri belirtilen konumdan indirin ve yerel olarak bir Azure Stack Hub Blobu üzerinde barındırın.

    Temel Bilgiler

  3. Ağ Ayarları sayfasında, uygulamalarınız için açılacak belirli bağlantı noktalarını belirtebilirsiniz:

    Ağ Ayarları

  4. Güvenlik sayfasında Azure Key Vault oluşturma ve Gizli Diziyi Karşıya Yükleme adımlarından elde ettiğiniz değerleri ekleyin.

    Yönetici İstemci Sertifikası Parmak İzi için Yönetici İstemci sertifikasının parmak izini girin. ( Önkoşullara bakın.)

    • Kaynak Key Vault: Betik sonuçlarından tüm keyVault id dizeyi belirtin.
    • Küme Sertifikası URL'si: Betik sonuçlarından url'nin Secret Id tamamını belirtin.
    • Küme Sertifikası parmak izi: Betik sonuçlarından Küme Sertifikası Parmak İzi'ni belirtin.
    • 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.
    • Sunucu Sertifikası parmak izi: Sunucu Sertifikası için parmak izini belirtin
    • Yönetici İstemci Sertifikası Parmak İzleri: Önkoşullarda oluşturulan Yönetici İstemci Sertifikası Parmak İzini belirtin.

    Betik çıkışı

    Güvenlik

  5. Sihirbazı tamamlayın ve ardından Oluştur'u seçerek Service Fabric Kümesini dağıtın.

Service Fabric Kümesine Erişme

Service Fabric kümesine erişmek için Service Fabric Explorer veya Service Fabric PowerShell'i kullanabilirsiniz.

Service Fabric Explorer kullanma

  1. Tarayıcının Yönetici istemci sertifikanıza erişebildiğinden ve Service Fabric kümenizde kimlik doğrulaması yapabilecek olduğundan emin olun.

    a. Internet Explorer'ı açın ve İnternet Seçenekleri>İçerik>Sertifikaları'na gidin.

    b. Sertifikalar'da İçeri Aktar'ı seçerek Sertifika İçeri Aktarma Sihirbazı'nı başlatın ve İleri'ye tıklayın. İçeri Aktaracak Dosya sayfasında Gözat'a tıklayın ve Azure Resource Manager şablonuna sağladığınız Yönetici İstemci sertifikasını seçin.

    Not

    Bu sertifika, daha önce Key Vault eklenen Küme sertifikası değildir.

    c. Dosya Gezgini penceresinin uzantı açılan listesinde "Kişisel Bilgi Değişimi" öğesinin seçili olduğundan emin olun.

    Kişisel bilgi değişimi

    d. Sertifika Deposu sayfasında Kişisel'i seçin ve sihirbazı tamamlayın.
    Sertifika deposu

  2. Service Fabric kümenizin FQDN'sini bulmak için:

    a. Service Fabric kümenizle ilişkili kaynak grubuna gidin ve Genel IP adresi kaynağını bulun. Genel IP adresi dikey penceresini açmak için Genel IP adresiyle ilişkili nesneyi seçin.

    Genel IP adresi

    b. Genel IP adresi dikey penceresinde FQDN , DNS adı olarak görüntülenir.

    DNS adı

  3. Service Fabric Explorer url'sini ve İstemci bağlantı uç noktasını bulmak için Şablon dağıtımının sonuçlarını gözden geçirin.

  4. Tarayıcınızda https://*FQDN*:19080 adresine gidin. FQDN değerini 2. adımdaki Service Fabric kümenizin FQDN'siyle değiştirin.
    Otomatik olarak imzalanan bir sertifika kullandıysanız bağlantının güvenli olmadığını belirten bir uyarı alırsınız. Web sitesine devam etmek için Daha Fazla Bilgi'yi seçin ve ardından Web sayfasına gidin.

  5. Sitede kimlik doğrulaması yapmak için kullanılacak sertifikayı seçmeniz gerekir. Diğer seçenekler'i seçin, uygun sertifikayı seçin ve ardından Service Fabric Explorer bağlanmak için Tamam'a tıklayın.

    Kimlik doğrulaması

Service Fabric PowerShell kullanma

  1. Azure Service Fabric belgelerinde Windows'ta geliştirme ortamınızı hazırlama bölümünden Microsoft Azure Service Fabric SDK'sını yükleyin.

  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.

    a. Denetim Masası>Sistem ve Güvenlik>Sistemi'ne gidin ve Gelişmiş sistem ayarları'nı seçin.

    Denetim masası

    b. Sistem Özellikleri'ninGelişmiş sekmesinde Ortam Değişkenleri'ni seçin.

    c. Sistem değişkenleri için Yol'u düzenleyin ve C:\Program Files\Microsoft Service Fabric\bin\Fabric\Fabric.Code dosyasının ortam değişkenleri listesinin en üstünde olduğundan emin olun.

    Ortam değişkeni listesi

  3. Ortam değişkenlerinin sırasını değiştirdikten sonra, PowerShell'i yeniden başlatın ve service Fabric kümesine erişmek için aşağıdaki PowerShell betiğini çalıştırın:

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

    Not

    Betikteki küme adından önce https:// yoktur. Bağlantı noktası 19000 gereklidir.

Sonraki adımlar

Kubernetes'i Azure Stack Hub'a dağıtma