Een Service Fabric-cluster maken met Resource Manager-sjabloon
Een Azure Service Fabric-cluster is een met het netwerk verbonden set virtuele machines waarin uw microservices worden geïmplementeerd en beheerd. Een Service Fabric-cluster dat wordt uitgevoerd in Azure is een Azure-resource en wordt geïmplementeerd, beheerd en bewaakt met behulp van Resource Manager. In dit artikel wordt beschreven hoe u een Resource Manager-sjabloon maakt voor een Service Fabric-cluster dat wordt uitgevoerd in Azure. Wanneer de sjabloon is voltooid, kunt u het cluster implementeren in Azure.
Clusterbeveiliging wordt geconfigureerd wanneer het cluster voor het eerst wordt ingesteld en kan later niet meer worden gewijzigd. Lees beveiligingsscenario's voor Service Fabric-clusters voordat u een cluster instelt. In Azure gebruikt Service Fabric x509-certificaat om uw cluster en de eindpunten ervan te beveiligen, clients te verifiëren en gegevens te versleutelen. Microsoft Entra-id wordt ook aanbevolen om de toegang tot beheereindpunten te beveiligen. Microsoft Entra-tenants en -gebruikers moeten worden gemaakt voordat u het cluster maakt. Lees Microsoft Entra-id instellen voor het verifiëren van clients voor meer informatie.
Voordat u een productiecluster implementeert om productieworkloads uit te voeren, moet u eerst de controlelijst productiegereedheid lezen.
Notitie
Het wordt aanbevolen de Azure Az PowerShell-module te gebruiken om te communiceren met Azure. Zie Azure PowerShell installeren om aan de slag te gaan. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Het Resource Manager-sjabloon maken
Voorbeeldsjablonen van Resource Manager zijn beschikbaar in de Azure-voorbeelden op GitHub. Deze sjablonen kunnen worden gebruikt als uitgangspunt voor uw clustersjabloon.
In dit artikel worden de voorbeeldsjabloon en sjabloonparameters voor een beveiligd cluster met vijf knooppunten gebruikt. Download azuredeploy.json en azuredeploy.parameters.json naar uw computer en open beide bestanden in uw favoriete teksteditor.
Notitie
Voor nationale clouds (Azure Government, Microsoft Azure beheerd door 21Vianet, Azure Duitsland), moet u ook het volgende fabricSettings
toevoegen aan uw sjabloon: AADLoginEndpoint
, AADTokenEndpointFormat
en AADCertEndpointFormat
.
Certificaten toevoegen
U voegt certificaten toe aan een Resource Manager-clustersjabloon door te verwijzen naar de sleutelkluis die de certificaatsleutels bevat. Voeg deze sleutelkluisparameters en -waarden toe in een Resource Manager-sjabloonparametersbestand (azuredeploy.parameters.json).
Alle certificaten toevoegen aan de virtuele-machineschaalset osProfile
Elk certificaat dat in het cluster is geïnstalleerd, moet worden geconfigureerd in de sectie osProfile van de schaalsetresource (Microsoft.Compute/virtualMachineScaleSets). Met deze actie wordt de resourceprovider geïnstrueerd om het certificaat op de VM's te installeren. Deze installatie omvat zowel het clustercertificaat als eventuele toepassingsbeveiligingscertificaten die u voor uw toepassingen wilt gebruiken:
{
"apiVersion": "[variables('vmssApiVersion')]",
"type": "Microsoft.Compute/virtualMachineScaleSets",
...
"properties": {
...
"osProfile": {
...
"secrets": [
{
"sourceVault": {
"id": "[parameters('sourceVaultValue')]"
},
"vaultCertificates": [
{
"certificateStore": "[parameters('clusterCertificateStorevalue')]",
"certificateUrl": "[parameters('clusterCertificateUrlValue')]"
},
{
"certificateStore": "[parameters('applicationCertificateStorevalue')",
"certificateUrl": "[parameters('applicationCertificateUrlValue')]"
},
...
]
}
]
}
}
}
Het Service Fabric-clustercertificaat configureren
Het certificaat voor clusterverificatie moet worden geconfigureerd in zowel de Service Fabric-clusterresource (Microsoft.ServiceFabric/clusters) als de Service Fabric-extensie voor virtuele-machineschaalsets in de resource van de virtuele-machineschaalset. Met deze rangschikking kan de Service Fabric-resourceprovider deze configureren voor gebruik voor clusterverificatie en serververificatie voor beheereindpunten.
Voeg de certificaatgegevens toe aan de virtuele-machineschaalsetresource
{
"apiVersion": "[variables('vmssApiVersion')]",
"type": "Microsoft.Compute/virtualMachineScaleSets",
...
"properties": {
...
"virtualMachineProfile": {
"extensionProfile": {
"extensions": [
{
"name": "[concat('ServiceFabricNodeVmExt_',variables('vmNodeType0Name'))]",
"properties": {
...
"settings": {
...
"certificate": {
"commonNames": ["[parameters('certificateCommonName')]"],
"x509StoreName": "[parameters('clusterCertificateStoreValue')]"
},
...
}
}
}
]
}
}
}
}
De certificaatgegevens toevoegen aan de Service Fabric-clusterresource
{
"apiVersion": "2018-02-01",
"type": "Microsoft.ServiceFabric/clusters",
"name": "[parameters('clusterName')]",
"location": "[parameters('clusterLocation')]",
"dependsOn": [
"[concat('Microsoft.Storage/storageAccounts/', variables('supportLogStorageAccountName'))]"
],
"properties": {
"certificateCommonNames": {
"commonNames": [
{
"certificateCommonName": "[parameters('certificateCommonName')]",
"certificateIssuerThumbprint": ""
}
],
"x509StoreName": "[parameters('certificateStoreValue')]"
},
...
}
}
Microsoft Entra-configuratie toevoegen voor het gebruik van Microsoft Entra-id voor clienttoegang
U voegt de Microsoft Entra-configuratie toe aan een Resource Manager-clustersjabloon door te verwijzen naar de sleutelkluis die de certificaatsleutels bevat. Voeg deze Microsoft Entra-parameters en -waarden toe in een Resource Manager-sjabloonparametersbestand (azuredeploy.parameters.json).
Notitie
Op Linux moeten Microsoft Entra-tenants en -gebruikers worden gemaakt voordat u het cluster maakt. Lees Microsoft Entra-id instellen voor het verifiëren van clients voor meer informatie.
{
"apiVersion": "2018-02-01",
"type": "Microsoft.ServiceFabric/clusters",
"name": "[parameters('clusterName')]",
...
"properties": {
"certificateCommonNames": {
"commonNames": [
{
"certificateCommonName": "[parameters('certificateCommonName')]",
"certificateIssuerThumbprint": ""
}
],
"x509StoreName": "[parameters('certificateStoreValue')]"
},
...
"azureActiveDirectory": {
"tenantId": "[parameters('aadTenantId')]",
"clusterApplication": "[parameters('aadClusterApplicationId')]",
"clientApplication": "[parameters('aadClientApplicationId')]"
},
...
}
}
Vul het parameterbestand in met de waarden
Gebruik ten slotte de uitvoerwaarden uit de sleutelkluis en Azure AD PowerShell-opdrachten om het parameterbestand te vullen.
Als u van plan bent om de Azure Service Fabric RM PowerShell-modules te gebruiken, hoeft u de clustercertificaatgegevens niet in te vullen. Als u wilt dat het systeem het zelfondertekende certificaat genereert voor clusterbeveiliging, houdt u deze gewoon als null.
Notitie
Voordat de RM-modules deze lege parameterwaarden kunnen ophalen en vullen, komen de parameters veel overeen met de onderstaande namen
"clusterCertificateThumbprint": {
"value": ""
},
"certificateCommonName": {
"value": ""
},
"clusterCertificateUrlValue": {
"value": ""
},
"sourceVaultvalue": {
"value": ""
},
Als u toepassingscertificaten gebruikt of een bestaand cluster gebruikt dat u hebt geüpload naar de sleutelkluis, moet u deze informatie ophalen en invullen.
De RM-modules hebben niet de mogelijkheid om de Microsoft Entra-configuratie voor u te genereren, dus als u van plan bent om de Microsoft Entra-id voor clienttoegang te gebruiken, moet u deze invullen.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
...
"clusterCertificateStoreValue": {
"value": "My"
},
"clusterCertificateThumbprint": {
"value": "<thumbprint>"
},
"clusterCertificateUrlValue": {
"value": "https://myvault.vault.azure.net:443/secrets/myclustercert/4d087088df974e869f1c0978cb100e47"
},
"applicationCertificateStorevalue": {
"value": "My"
},
"applicationCertificateUrlValue": {
"value": "https://myvault.vault.azure.net:443/secrets/myapplicationcert/2e035058ae274f869c4d0348ca100f08"
},
"sourceVaultvalue": {
"value": "/subscriptions/<guid>/resourceGroups/mycluster-keyvault/providers/Microsoft.KeyVault/vaults/myvault"
},
"aadTenantId": {
"value": "<guid>"
},
"aadClusterApplicationId": {
"value": "<guid>"
},
"aadClientApplicationId": {
"value": "<guid>"
},
...
}
}
Uw sjabloon testen
Gebruik de volgende PowerShell-opdracht om uw Resource Manager-sjabloon te testen met een parameterbestand:
Test-AzResourceGroupDeployment -ResourceGroupName "myresourcegroup" -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json
Als u problemen ondervindt en cryptische berichten krijgt, gebruikt u '-Debug' als optie.
Test-AzResourceGroupDeployment -ResourceGroupName "myresourcegroup" -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug
In het volgende diagram ziet u waar uw sleutelkluis en de Configuratie van Microsoft Entra in uw Resource Manager-sjabloon passen.
Volgende stappen
Nu u een sjabloon voor uw cluster hebt, leert u hoe u het cluster implementeert in Azure. Als u dat nog niet hebt gedaan, leest u de controlelijst productiegereedheid voordat u een productiecluster implementeert.
Zie voor meer informatie over de JSON-syntaxis en eigenschappen voor de resources die in dit artikel zijn geïmplementeerd: