Sdílet prostřednictvím


Úvod do vyhrazených hostitelů ve spravovaných clusterech Service Fabric (Preview)

Azure Dedicated Host je služba, která poskytuje fyzické servery schopné hostovat jeden nebo několik virtuálních počítačů a vyhrazené pro jedno předplatné Azure. Server je vyhrazený pro vaši organizaci a úlohy a kapacitu, kterou nesdílí nikdo jiný. Vyhrazení hostitelé jsou stejné fyzické servery, které se používají v našich datacentrech a jsou k dispozici jako prostředky. Vyhrazené hostitele můžete zřídit v rámci oblasti, zóny dostupnosti a domény selhání. Pak můžete přímo na zřízené hostitele umístit virtuální počítače v jakékoli konfiguraci, která nejlépe vyhovuje vašim potřebám.

Použití služby Azure Dedicated Hosts pro uzly se spravovaným clusterem Service Fabric (SFMC) má následující výhody:

  • Izolace hardwaru na úrovni hostitele na úrovni fyzického serveru Na hostitele nebudou umístěny žádné další virtuální počítače. Vyhrazené hostitele se nasazují ve stejných datových centrech a sdílejí stejnou síťovou a základní infrastrukturu úložiště jako ostatní neizolované hostitele.
  • Kontrola nad událostmi údržby iniciovanými platformou Azure. I když většina událostí údržby nemá žádný vliv na virtuální počítače, existují některé citlivé úlohy, které můžou mít vliv na každou sekundu pozastavení. S vyhrazenými hostiteli se můžete rozhodnout pro časové období údržby, abyste snížili dopad na službu.

V závislosti na požadavcích na úlohy můžete zvolit skladovou položku pro virtuální počítače Dedicated Hosts. Další informace najdete v tématu Vyhrazené hostitelské virtuální počítače.

Následující průvodce vás provede podrobným postupem přidání vyhrazeného hostitele Azure do spravovaného clusteru Service Fabric pomocí šablony Azure Resource Manageru.

Požadavky

Tato příručka vychází z úvodní příručky ke spravovanému clusteru: Nasazení spravovaného clusteru Service Fabric pomocí Azure Resource Manageru

Než začnete:

Kontrola šablony

Šablona použitá v této příručce je z ukázek Azure – šablony clusteru Service Fabric.

Vytvoření klientského certifikátu

Spravované clustery Service Fabric používají klientský certifikát jako klíč pro řízení přístupu. Pokud už máte klientský certifikát, který chcete použít pro řízení přístupu ke clusteru, můžete tento krok přeskočit.

Pokud potřebujete vytvořit nový klientský certifikát, postupujte podle kroků uvedených v nastavení a načtení certifikátu ze služby Azure Key Vault. Poznamenejte si kryptografický otisk certifikátu, protože bude potřeba k nasazení šablony v dalším kroku.

Nasazení prostředků vyhrazeného hostitele a konfigurace přístupu k poskytovateli prostředků Service Fabric

Vytvořte vyhrazenou skupinu hostitelů a pomocí následujícího postupu přidejte přiřazení role ke skupině hostitelů pomocí aplikace Service Fabric Resource Provider. Toto přiřazení role umožňuje poskytovateli prostředků Service Fabric nasadit virtuální počítače na vyhrazené hostitele uvnitř skupiny hostitelů do škálovací sady virtuálních počítačů spravovaného clusteru. Toto přiřazení je jednorázová akce.

  1. Získejte ID zprostředkovatele SFRP a instanční objekt pro aplikaci poskytovatele prostředků Service Fabric.

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

    Poznámka:

    Ujistěte se, že jste ve správném předplatném, ID objektu zabezpečení se změní, pokud je předplatné v jiném tenantovi.

  2. Vytvořte vyhrazenou skupinu hostitelů připnutou k jedné zóně dostupnosti a pět domén selhání pomocí poskytnuté ukázkové šablony nasazení ARM pro vyhrazenou skupinu hostitelů. Ukázka zajistí, že existuje alespoň jeden vyhrazený hostitel na doménu selhání.

    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
    

    Poznámka:

    • Ujistěte se, že jste pro vyhrazeného hostitele zvolili správnou řadu skladových položek odpovídající té, kterou budete používat pro skladovou položku typu základního uzlu. Další informace najdete v tématu Vyhrazené hostitelské virtuální počítače.
    • Každá doména selhání vyžaduje, aby do ní byl umístěný vyhrazený hostitel a spravované clustery Service Fabric vyžadují pět domén selhání. Proto by v každé vyhrazené skupině hostitelů mělo být přítomno alespoň pět vyhrazených hostitelů.
  3. Ukázková šablona nasazení ARM pro vyhrazenou skupinu hostitelů používanou v předchozím kroku také přidá přiřazení role ke skupině hostitelů s přístupem přispěvatele. Další informace o rolích Azure najdete v tématu Předdefinované role Azure – Azure RBAC. Toto přiřazení role je definováno v oddílu prostředků šablony s ID objektu zabezpečení určeného z prvního kroku a ID definice role.

       "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')]"  
                }  
              }
              ]
    

    nebo můžete také přidat přiřazení role prostřednictvím PowerShellu pomocí ID objektu zabezpečení určeného z prvního kroku a názvu definice role jako Přispěvatel, pokud je to možné.

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

Nasazení spravovaného clusteru Service Fabric

Vytvořte spravovaný cluster Azure Service Fabric s nakonfigurovanými typy uzlů tak, aby odkazoval na ID prostředku vyhrazené skupiny hostitelů. Typ uzlu musí být připnutý do stejné zóny dostupnosti jako skupina hostitelů.

  1. Vyberte šablonu z ukázkové šablony clusteru Service Fabric pro vyhrazeného hostitele, která obsahuje specifikaci podpory vyhrazeného hostitele.

  2. Zadejte vlastní hodnoty pro následující parametry šablony:

    • Předplatné: Vyberte stejné předplatné Azure jako předplatné skupiny hostitelů.
    • Skupina prostředků: Vyberte Vytvořit novou. Zadejte jedinečný název skupiny prostředků, například myResourceGroup, a pak zvolte OK.
    • Umístění: Vyberte stejné umístění jako umístění skupiny hostitelů.
    • Název clusteru: Zadejte jedinečný název clusteru, například mysfcluster.
    • Správa Uživatelské jméno: Zadejte název správce, který se má použít pro protokol RDP na podkladových virtuálních počítačích v clusteru.
    • Správa heslo: Zadejte heslo pro správce, které se má použít pro protokol RDP na podkladových virtuálních počítačích v clusteru.
    • Kryptografický otisk klientského certifikátu: Zadejte kryptografický otisk klientského certifikátu, který chcete použít pro přístup ke clusteru. Pokud certifikát nemáte, nastavte a načtěte certifikát a vytvořte certifikát podepsaný svým držitelem.
    • Název typu uzlu: Zadejte jedinečný název vašeho typu uzlu, například nt1.
  3. Nasaďte šablonu ARM pomocí jedné z následujících metod:

    • Vlastní prostředí šablon portálu ARM: Vlastní nasazení – Microsoft Azure. Výběrem následujícího obrázku se přihlaste k Azure a zadejte vlastní hodnoty parametrů šablony a pak šablonu nasaďte.

      Button to deploy the Resource Manager template to Azure.

    • Rutiny PowerShellu ARM: New-AzResourceGroupDeployment (Az.Resources) Uložte cesty šablony ARM a souborů parametrů do proměnných a pak šablonu nasaďte.

      $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
      

    Počkejte, až se nasazení úspěšně dokončí.

Řešení problému

  1. Následující chyba se vyvolá, když SFRP nemá přístup ke skupině hostitelů. Zkontrolujte výše uvedené kroky přiřazení role a ujistěte se, že se přiřazení provádí správně.
         {  
                "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. Pokud je skupina hostitelů v jiném předplatném než clustery, zobrazí se následující chyba. Ujistěte se, že oba jsou ve stejném předplatném.
          {  
                "code": "BadRequest",  
                "message": "Entity subscriptionId in resource reference id /subscriptions/[<Subs-Id>]/resourceGroups/[<ResGrp-Id>]/providers/Microsoft.Compute/hostGroups/[<HostGroup>] is invalid."  
              }
    
  3. Pokud kvóta pro skupinu hostitelů nestačí, dojde k následující chybě:
          {  
                "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)” 
              }
    

Další kroky