Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel leert u hoe u een Linux Service Fabric-cluster implementeert in een virtueel Azure-netwerk (VNET) met behulp van Azure CLI en een sjabloon. Wanneer u klaar bent, hebt u een cluster dat wordt uitgevoerd in de cloud waarin u toepassingen kunt implementeren. Zie Een beveiligd Windows-cluster maken in Azure als u een Windows-cluster wilt maken met behulp van PowerShell.
Vereiste voorwaarden
Voordat u begint:
- Als u nog geen Azure-abonnement hebt, maakt u een gratis account
- De Service Fabric CLI installeren
- De Azure CLI installeren
- Lees overzicht van Azure-clusters voor meer informatie over de belangrijkste concepten van clusters
- Plan en bereid u voor op een productieclusterimplementatie.
Met de volgende procedures maakt u een Service Fabric-cluster met zeven knooppunten. Als u kosten wilt berekenen die worden gemaakt door een Service Fabric-cluster in Azure uit te voeren, gebruikt u de Azure-prijscalculator.
De sjabloon downloaden en verkennen
Download de volgende Resource Manager-sjabloonbestanden:
Voor Ubuntu 18.04 LTS:
-
AzureDeploy.json
- het kenmerk vmImageSku is van 18.04-LTS
- Resource van Microsoft.ServiceFabric/clusters
- apiVersion wordt ingesteld op '2019-03-01'
- vmImage-eigenschap die wordt ingesteld op 'Ubuntu18_04'
- AzureDeploy.Parameters.json
Voor Ubuntu 20.04 LTS:
-
AzureDeploy.json
- het kenmerk vmImageSku is van 20.04-LTS
- Resource van Microsoft.ServiceFabric/clusters
- apiVersion wordt ingesteld op '2019-03-01'
- vmImage-eigenschap die wordt ingesteld op 'Ubuntu20_04'
- AzureDeploy.Parameters.json
Met deze sjablonen wordt een beveiligd cluster van zeven virtuele machines en drie knooppunttypen geïmplementeerd in een virtueel netwerk. Andere voorbeeldsjablonen vindt u op GitHub. De AzureDeploy.json zet een aantal middelen in, waaronder de volgende.
Service Fabric-cluster
In de resource Microsoft.ServiceFabric/clusters wordt een Linux-cluster geïmplementeerd met de volgende kenmerken:
- drie knooppunttypen
- vijf knooppunten in het primaire knooppunttype (configureerbaar in de sjabloonparameters), één knooppunt in elk van de andere knooppunttypen
- Besturingssysteem: (Ubuntu 18.04 LTS / Ubuntu 20.04) (configureerbaar in de sjabloonparameters)
- beveiligd certificaat (configureerbaar in de sjabloonparameters)
- DNS-service is ingeschakeld
- Duurzaamheidsniveau brons (configureerbaar in de sjabloonparameters)
- Betrouwbaarheidsniveau van Silver (configureerbaar in de sjabloonparameters)
- eindpunt voor clientverbinding: 19000 (configureerbaar in de sjabloonparameters)
- HTTP-gatewayeindpunt: 19080 (configureerbaar in de sjabloonparameters)
Azure-verdelingsmechanisme
In de resource Microsoft.Network/loadBalancers wordt een load balancer geconfigureerd en worden tests en regels ingesteld voor de volgende poorten:
- clientverbindingseindpunt: 19000
- HTTP-gateway-eindpunt: 19080
- toepassingspoort: 80
- toepassingspoort: 443
Virtueel netwerk en subnet
De namen van het virtuele netwerk en subnet worden gedeclareerd in de sjabloonparameters. Adresruimten van het virtuele netwerk en subnet worden ook gedeclareerd in de sjabloonparameters en geconfigureerd in de Resource Microsoft.Network/virtualNetworks :
- Adresruimte van virtueel netwerk: 10.0.0.0/16
- Service Fabric-subnetadresruimte: 10.0.2.0/24
Als er andere toepassingspoorten nodig zijn, moet u de resource Microsoft.Network/loadBalancers aanpassen om het verkeer toe te staan.
Service Fabric-extensie
In de resource Microsoft.Compute/virtualMachineScaleSets is de Service Fabric Linux-extensie geconfigureerd. Deze extensie wordt gebruikt om Service Fabric te bootstrapen naar virtuele Azure-machines en knooppuntbeveiliging te configureren.
Hier volgt een sjabloonfragment voor de Service Fabric Linux-extensie:
"extensions": [
{
"name": "[concat('ServiceFabricNodeVmExt','_vmNodeType0Name')]",
"properties": {
"type": "ServiceFabricLinuxNode",
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"protectedSettings": {
"StorageAccountKey1": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('supportLogStorageAccountName')),'2015-05-01-preview').key1]",
},
"publisher": "Microsoft.Azure.ServiceFabric",
"settings": {
"clusterEndpoint": "[reference(parameters('clusterName')).clusterEndpoint]",
"nodeTypeRef": "[variables('vmNodeType0Name')]",
"durabilityLevel": "Silver",
"enableParallelJobs": true,
"nicPrefixOverride": "[variables('subnet0Prefix')]",
"certificate": {
"commonNames": [
"[parameters('certificateCommonName')]"
],
"x509StoreName": "[parameters('certificateStoreValue')]"
}
},
"typeHandlerVersion": "2.0"
}
},
Sjabloonparameters instellen
Het bestand AzureDeploy.Parameters declareert veel waarden die worden gebruikt voor het implementeren van het cluster en de bijbehorende resources. Enkele van de parameters die u mogelijk moet wijzigen voor uw implementatie:
| Maatstaf | Voorbeeldwaarde | Opmerkingen |
|---|---|---|
| adminGebruikersnaam | vmadmin | Gebruikersnaam van beheerder voor de cluster-VM's. |
| beheerderswachtwoord | Wachtwoord#1234 | Beheerderswachtwoord voor de cluster-VM's. |
| clusterNaam | mysfcluster123 | Naam van het cluster. |
| locatie | southcentralus | De locatie van het cluster. |
| certificaatvingerafdruk | De waarde moet leeg zijn als u een zelfondertekend certificaat maakt of een certificaatbestand opgeeft. Als u een bestaand certificaat wilt gebruiken dat eerder is geüpload naar een sleutelkluis, vult u de sha1-vingerafdrukwaarde van het certificaat in. Bijvoorbeeld "AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00". |
|
| certificaatUrlWaarde | De waarde moet leeg zijn als u een zelfondertekend certificaat maakt of een certificaatbestand opgeeft. Als u een bestaand certificaat wilt gebruiken dat eerder is geüpload naar een sleutelkluis, vult u de certificaat-URL in. Bijvoorbeeld'https://mykeyvault.vault.azure.net:443/secrets/mycertificate/02bea722c9ef4009a76c5052bcbf8346". |
|
| sourceVaultValue | De waarde moet leeg zijn als u een zelfondertekend certificaat maakt of een certificaatbestand opgeeft. Als u een bestaand certificaat wilt gebruiken dat eerder is geüpload naar een sleutelkluis, vult u de waarde van de bronkluis in. Bijvoorbeeld: "/subscriptions/333cc2c84-12fa-5778-bd71-c71c07bf873f/resourceGroups/MyTestRG/providers/Microsoft.KeyVault/vaults/MYKEYVAULT". |
Het virtuele netwerk en het cluster implementeren
Stel vervolgens de netwerktopologie in en implementeer het Service Fabric-cluster. De AzureDeploy.json Resource Manager-sjabloon maakt een virtueel netwerk (VNET) en een subnet voor Service Fabric. Met de sjabloon wordt ook een cluster geïmplementeerd waarvoor certificaatbeveiliging is ingeschakeld. Gebruik voor productieclusters een certificaat van een certificeringsinstantie (CA) als clustercertificaat. Een zelfondertekend certificaat kan worden gebruikt om testclusters te beveiligen.
Met de sjabloon in dit artikel wordt een cluster geïmplementeerd dat gebruikmaakt van de vingerafdruk van het certificaat om het clustercertificaat te identificeren. Er kunnen geen twee certificaten dezelfde vingerafdruk hebben, waardoor certificaatbeheer moeilijker wordt. Het overschakelen van een geïmplementeerd cluster van het gebruik van certificaatvingerafdrukken naar het gebruik van algemene certificaatnamen maakt certificaatbeheer veel eenvoudiger. Als u wilt weten hoe u het cluster bijwerkt voor het gebruik van algemene certificaatnamen voor certificaatbeheer, leest u het cluster wijzigen in algemeen certificaatnaambeheer.
Een cluster maken met behulp van een bestaand certificaat
In het volgende script wordt de opdracht az sf cluster create en de sjabloon gebruikt om een nieuw cluster te implementeren dat is beveiligd met een bestaand certificaat. Met de opdracht maakt u ook een nieuwe sleutelkluis in Azure en uploadt u uw certificaat.
ResourceGroupName="sflinuxclustergroup"
Location="southcentralus"
Password="q6D7nN%6ck@6"
VaultName="linuxclusterkeyvault"
VaultGroupName="linuxclusterkeyvaultgroup"
CertPath="C:\MyCertificates\MyCertificate.pem"
# sign in to your Azure account and select your subscription
az login
az account set --subscription <guid>
# Create a new resource group for your deployment and give it a name and a location.
az group create --name $ResourceGroupName --location $Location
# Create the Service Fabric cluster.
az sf cluster create --resource-group $ResourceGroupName --location $Location \
--certificate-password $Password --certificate-file $CertPath \
--vault-name $VaultName --vault-resource-group $ResourceGroupName \
--template-file AzureDeploy.json --parameter-file AzureDeploy.Parameters.json
Een cluster maken met een nieuw, zelfondertekend certificaat
Het volgende script maakt gebruik van de opdracht az sf cluster create en een sjabloon voor het implementeren van een nieuw cluster in Azure. De opdracht maakt ook een nieuwe sleutelkluis in Azure, voegt een nieuw zelfondertekend certificaat toe aan de sleutelkluis en downloadt het certificaatbestand lokaal.
ResourceGroupName="sflinuxclustergroup"
ClusterName="sflinuxcluster"
Location="southcentralus"
Password="q6D7nN%6ck@6"
VaultName="linuxclusterkeyvault"
VaultGroupName="linuxclusterkeyvaultgroup"
CertPath="C:\MyCertificates"
az sf cluster create --resource-group $ResourceGroupName --location $Location \
--cluster-name $ClusterName --template-file C:\temp\cluster\AzureDeploy.json \
--parameter-file C:\temp\cluster\AzureDeploy.Parameters.json --certificate-password $Password \
--certificate-output-folder $CertPath --certificate-subject-name $ClusterName.$Location.cloudapp.azure.com \
--vault-name $VaultName --vault-resource-group $ResourceGroupName
Verbinding maken met het beveiligde cluster
Maak verbinding met het cluster met behulp van de Service Fabric CLI-opdracht sfctl cluster select met uw sleutel. Opmerking: gebruik alleen de optie --no-verify voor een zelfondertekend certificaat.
sfctl cluster select --endpoint https://aztestcluster.southcentralus.cloudapp.azure.com:19080 \
--pem ./aztestcluster201709151446.pem --no-verify
Controleer of u verbinding hebt en of het cluster in orde is met behulp van de sfctl cluster health opdracht.
sfctl cluster health
Hulpmiddelen opruimen
Als u niet meteen verdergaat met het volgende artikel, kunt u het cluster verwijderen om kosten te voorkomen.
Volgende stappen
Meer informatie over het schalen van een cluster.
Met de sjabloon in dit artikel wordt een cluster geïmplementeerd dat gebruikmaakt van de vingerafdruk van het certificaat om het clustercertificaat te identificeren. Er kunnen geen twee certificaten dezelfde vingerafdruk hebben, waardoor certificaatbeheer moeilijker wordt. Het overschakelen van een geïmplementeerd cluster van het gebruik van certificaatvingerafdrukken naar het gebruik van algemene certificaatnamen maakt certificaatbeheer veel eenvoudiger. Als u wilt weten hoe u het cluster bijwerkt voor het gebruik van algemene certificaatnamen voor certificaatbeheer, leest u het cluster wijzigen in algemeen certificaatnaambeheer.