Service Fabric yönetilen kümelerinde Ayrılmış Konaklara Giriş (Önizleme)

Azure Ayrılmış Konak, tek Azure aboneliğine ayrılmış fiziksel sunucular (bir veya birden çok sanal makineyi barındırabilen) sağlayan bir hizmettir. Sunucu kuruluşunuza ve iş yüklerinize ayrılmıştır ve kapasite başka kimseyle paylaşılamaz. Ayrılmış konaklar, kaynak olarak sağlanan ve veri merkezlerimizde kullanılan aynı fiziksel sunuculardır. Bir bölge, kullanılabilirlik alanı veya hata etki alanı içinde ayrılmış konaklar sağlayabilirsiniz. Ardından sanal makineleri ihtiyaçlarınıza en uygun yapılandırmayla doğrudan sağlanan konakların içine yerleştirebilirsiniz.

Service Fabric yönetilen kümenizle (SFMC) düğümler için Azure Ayrılmış Konakları kullanmanın aşağıdaki avantajları vardır:

  • Fiziksel sunucu düzeyinde konak düzeyinde donanım yalıtımı. Konaklarınıza başka hiçbir VM yerleştirilmez. Ayrılmış konaklar aynı veri merkezlerine dağıtılır ve diğer, yalıtılmamış konaklar ile aynı ağı ve temel depolama altyapısını paylaşır.
  • Azure platformu tarafından başlatılan bakım olayları üzerinde denetim. Çoğu bakım olayının sanal makineler üzerinde çok az etkisi olsa da, her saniye duraklamanın etki yaratabileceği bazı hassas iş yükleri vardır. Ayrılmış konaklarla, hizmet üzerindeki etkiyi azaltmak için bir bakım penceresi seçebilirsiniz.

İş yükü gereksinimlerinize göre Ayrılmış Konaklar Sanal Makineler için SKU'yu seçebilirsiniz. Daha fazla bilgi için bkz. Ayrılmış Konak Sanal Makineler.

Aşağıdaki kılavuzda, Azure Resource Manager şablonuyla Service Fabric yönetilen kümesine Azure Ayrılmış Ana Bilgisayarı ekleme adımları gösterilmektedir.

Önkoşullar

Bu kılavuz, yönetilen küme hızlı başlangıç kılavuzuna dayalıdır: Azure Resource Manager kullanarak Service Fabric yönetilen kümesi dağıtma

Başlamadan önce:

  • Azure aboneliğiniz yoksa ücretsiz bir hesap oluşturun
  • Yönetilen küme ARM şablonunu alma. Örnek Resource Manager şablonları GitHub'daki Azure örneklerinde kullanılabilir. Bu şablonlar, küme şablonunuz için başlangıç noktası olarak kullanılabilir. Bu kılavuzda iki düğüm türü ve 12 düğüm ile Standart SKU kümesinin nasıl dağıtılacağı gösterilmektedir.
  • Kullanıcının bir konak grubunda rol atamaları yapmak için Kullanıcı Erişim Yöneticisi veya Sahip gibi konak grubunda Microsoft.Authorization/roleAssignments/write izinlerine sahip olması gerekir. Daha fazla bilgi için bkz . Azure portalını kullanarak Azure rolleri atama - Azure RBAC.

Şablonu gözden geçirme

Bu kılavuzda kullanılan şablon Azure Örnekleri - Service Fabric küme şablonlarından alınmıştı.

İstemci sertifikası oluşturma

Service Fabric yönetilen kümeleri, erişim denetimi için anahtar olarak bir istemci sertifikası kullanır. Kümenize erişim denetimi için kullanmak istediğiniz bir istemci sertifikanız zaten varsa, bu adımı atlayabilirsiniz.

Yeni bir istemci sertifikası oluşturmanız gerekiyorsa Azure Key Vault'tan sertifika ayarlama ve alma adımlarını izleyin. Sonraki adımda şablonu dağıtmak için gerekli olacağı için sertifika parmak izini not edin.

Ayrılmış Konak kaynaklarını dağıtma ve Service Fabric Kaynak Sağlayıcısına erişimi yapılandırma

Ayrılmış bir konak grubu oluşturun ve aşağıdaki adımları kullanarak Service Fabric Kaynak Sağlayıcısı uygulamasıyla konak grubuna rol ataması ekleyin. Bu rol ataması, Service Fabric Kaynak Sağlayıcısı'nın konak grubu içindeki Ayrılmış Konaklardaki VM'leri yönetilen kümenin sanal makine ölçek kümesine dağıtmasına olanak tanır. Bu atama tek seferlik bir eylemdir.

  1. Service Fabric Kaynak Sağlayıcısı uygulaması için SFRP sağlayıcı kimliğini ve Hizmet Sorumlusunu alın.

    Login-AzAccount  
    Select-AzSubscription -SubscriptionId <SubId>  
    Get-AzADServicePrincipal -DisplayName "Azure Service Fabric Resource Provider"
    

    Not

    Doğru abonelikte olduğunuzdan emin olun; abonelik farklı bir kiracıdaysa asıl kimlik değişir.

  2. Ayrılmış Konak Grubu için sağlanan örnek ARM dağıtım şablonunu kullanarak bir kullanılabilirlik alanına ve beş hata etki alanına sabitlenmiş ayrılmış bir konak grubu oluşturun. Örnek, hata etki alanı başına en az bir ayrılmış konak olmasını sağlar.

    New-AzResourceGroup -Name $ResourceGroupName -Location $location
    New-AzResourceGroupDeployment -Name "hostgroup-deployment" -ResourceGroupName $ResourceGroupName -TemplateFile ".\HostGroup-And-RoleAssignment.json" -TemplateParameterFile ".\HostGroup-And-RoleAssignment.parameters.json" -Debug -Verbose
    

    Not

    • Ayrılmış Konak için, temel düğüm türü VM SKU'su için kullanacağınızla eşleşen doğru SKU ailesini seçtiğinizden emin olun. Daha fazla bilgi için bkz. Ayrılmış Konak Sanal Makineler.
    • Her hata etki alanının içine yerleştirilmesi için ayrılmış bir konak ve Service Fabric yönetilen kümeleri için beş hata etki alanı gerekir. Bu nedenle, her ayrılmış konak grubunda en az beş ayrılmış konak bulunmalıdır.
  3. Önceki adımda kullanılan Ayrılmış Konak Grubu için örnek ARM dağıtım şablonu, katkıda bulunan erişimi olan konak grubuna bir rol ataması da ekler. Azure rolleri hakkında daha fazla bilgi için bkz . Azure yerleşik rolleri - Azure RBAC. Bu rol ataması, şablonun kaynaklar bölümünde, ilk adımda belirlenen Asıl Kimlik ve rol tanımı kimliği ile tanımlanır.

       "variables": {  
            "authorizationApiVersion": "2018-01-01-preview",
            "contributorRoleId": "b24988ac-6180-42a0-ab88-20f7382dd24c",
            "SFRPAadServicePrincipalId": " <Service Fabric Resource Provider ID> -"
          },
       "resources": [
       {  
                "apiVersion": "[variables('authorizationApiVersion')]",  
                "type": "Microsoft.Compute/Hostgroups/providers/roleAssignments",  
                "name": "[concat(concat(parameters('dhgNamePrefix'), '0'), '/Microsoft.Authorization/', parameters('hostGroupRoleAssignmentId'))]",  
                "dependsOn": [  
                    "[resourceId('Microsoft.Compute/hostGroups', concat(parameters('dhgNamePrefix'), '0'))]"  
                ],  
                "properties": {  
                    "roleDefinitionId": "[concat('/subscriptions/', subscription().subscriptionId, '/providers/Microsoft.Authorization/roleDefinitions/', variables('contributorRoleId'))]",  
                    "principalId": "[variables('SFRPAadServicePrincipalId')]"  
                }  
              }
              ]
    

    veya ilk adımdan belirlenen Sorumlu Kimliği'ni ve uygun olduğunda rol tanımı adını "Katkıda Bulunan" olarak kullanarak PowerShell aracılığıyla rol ataması da ekleyebilirsiniz.

    New-AzRoleAssignment -PrincipalId "<Service Fabric Resource Provider ID>" -RoleDefinitionName "Contributor" -Scope "<Host Group Id>"  
    

Service Fabric yönetilen kümesini dağıtma

Ayrılmış Ana Bilgisayar grubu ResourceId'sine başvurmak üzere yapılandırılmış düğüm türlerine sahip bir Azure Service Fabric yönetilen kümesi oluşturun. Düğüm türünün konak grubuyla aynı kullanılabilirlik alanına sabitlenmesi gerekir.

  1. Ayrılmış Konak desteği belirtimini içeren Ayrılmış Konak için Service Fabric kümesi örnek şablonundan şablonu seçin.

  2. Aşağıdaki şablon parametreleri için kendi değerlerinizi sağlayın:

    • Abonelik: Konak grubu aboneliğiyle aynı Azure aboneliğini seçin.
    • Kaynak Grubu: Yeni oluştur'u seçin. Kaynak grubu için myResourceGroup gibi benzersiz bir ad girin ve Tamam'ı seçin.
    • Konum: Konak grubu konumuyla aynı konumu seçin.
    • Küme Adı: Kümeniz için mysfcluster gibi benzersiz bir ad girin.
    • Yönetici Kullanıcı Adı: Kümedeki temel vm'lerde RDP için kullanılacak yönetici için bir ad girin.
    • Yönetici Parolası: Kümedeki temel vm'lerde RDP için kullanılacak yönetici parolasını girin.
    • İstemci Sertifikası Parmak İzi: Kümenize erişmek için kullanmak istediğiniz istemci sertifikasının parmak izini sağlayın. Sertifikanız yoksa, otomatik olarak imzalanan bir sertifika oluşturmak için sertifikayı ayarlama ve alma adımlarını izleyin.
    • Düğüm Türü Adı: Düğüm türünüz için nt1 gibi benzersiz bir ad girin.
  3. Arm şablonunu aşağıdaki yöntemlerden biriyle dağıtın:

    • ARM portalı özel şablon deneyimi: Özel dağıtım - Microsoft Azure. Azure'da oturum açmak için aşağıdaki görüntüyü seçin ve şablon parametreleri için kendi değerlerinizi sağlayın ve şablonu dağıtın.

      Resource Manager şablonunu Azure'a dağıtma düğmesi.

    • ARM PowerShell cmdlet'leri: New-AzResourceGroupDeployment (Az.Resources). ARM şablonunuzun ve parametre dosyalarınızın yollarını değişkenler halinde depolayıp şablonu dağıtın.

      $templateFilePath = "<full path to azuredeploy.json>" 
      $parameterFilePath = "<full path to azuredeploy.parameters.json>"
      $pass = (ConvertTo-SecureString -AsPlainText -Force "<adminPassword>")
      
      New-AzResourceGroupDeployment ` 
         -Name $DeploymentName ` 
         -ResourceGroupName $resourceGroupName ` 
         -TemplateFile $templateFilePath ` 
         -TemplateParameterFile $parameterFilePath `
         -adminPassword $pass `
         -Debug -Verbose
      

    Dağıtımın başarıyla tamamlanmasını bekleyin.

Sorun giderme

  1. SFRP'nin konak grubuna erişimi olmadığında aşağıdaki hata oluşur. Yukarıdaki rol ataması adımlarını gözden geçirin ve atamanın doğru yapıldığından emin olun.
         {  
                "code": "LinkedAuthorizationFailed",  
                "message": "The client '[<clientId>]' with object id '[<objectId>]' has permission to perform action 'Microsoft.Compute/virtualMachineScaleSets/write' on scope '/subscriptions/[<Subs-Id>]/resourcegroups/[<ResGrp-Id>]/providers/Microsoft.Compute/virtualMachineScaleSets/pnt'; however, it does not have permission to perform action 'write' on the linked scope(s) '/subscriptions/[<Subs-Id>]/resourceGroups/[<ResGrp-Id>]/providers/Microsoft.Compute/hostGroups/HostGroupscu0' or the linked scope(s) are invalid."
             }
    
  2. Konak grubu kümelerden farklı bir abonelikteyse aşağıdaki hata bildirilir. İkisinin de aynı abonelikte olduğundan emin olun.
          {  
                "code": "BadRequest",  
                "message": "Entity subscriptionId in resource reference id /subscriptions/[<Subs-Id>]/resourceGroups/[<ResGrp-Id>]/providers/Microsoft.Compute/hostGroups/[<HostGroup>] is invalid."  
              }
    
  3. Konak Grubu Kotası yeterli değilse aşağıdaki hata oluşur:
          {  
                "code": "QuotaExceeded",  
                "message": "Operation could not be completed as it results in exceeding approved standardDSv3Family Cores quota.  
          Additional Required: 320, (Minimum) New Limit Required: 320. Submit a request for Quota increase [here](https://aka.ms/ProdportalCRP/#blade/Microsoft_Azure_Capacity/UsageAndQuota.ReactView/Parameters/). Please read more about quota limits [here](/azure/azure-supportability/per-vm-quota-requests)” 
              }
    

Sonraki adımlar