Configuratie-instellingen voor een zelfstandige Windows-cluster
In dit artikel worden configuratie-instellingen beschreven van een zelfstandig Azure Service Fabric-cluster dat kan worden ingesteld in het ClusterConfig.json-bestand . U gebruikt dit bestand om informatie op te geven over de knooppunten van het cluster, beveiligingsconfiguraties en de netwerktopologie in termen van fout- en upgradedomeinen. Nadat u configuratie-instellingen hebt gewijzigd of toegevoegd, kunt u een zelfstandig cluster maken of de configuratie van een zelfstandig cluster bijwerken.
Wanneer u het zelfstandige Service Fabric-pakket downloadt, worden ClusterConfig.json voorbeelden ook opgenomen. De voorbeelden met 'DevCluster' in hun namen maken een cluster met alle drie de knooppunten op dezelfde computer, met behulp van logische knooppunten. Uit deze knooppunten moet ten minste één worden gemarkeerd als een primair knooppunt. Dit type cluster is handig voor ontwikkel- of testomgevingen. Het wordt niet ondersteund als een productiecluster. De voorbeelden met 'MultiMachine' in hun namen helpen bij het maken van clusters op productieniveau, waarbij elk knooppunt op een afzonderlijke computer wordt gebruikt. Het aantal primaire knooppunten voor deze clusters is gebaseerd op het betrouwbaarheidsniveau van het cluster. In release 5.7, API-versie 05-2017, hebben we de eigenschap betrouwbaarheidsniveau verwijderd. In plaats daarvan berekent onze code het meest geoptimaliseerde betrouwbaarheidsniveau voor uw cluster. Probeer geen waarde in te stellen voor deze eigenschap in versie 5.7 en hoger.
ClusterConfig.Unsecure.DevCluster.json en ClusterConfig.Unsecure.MultiMachine.json laten zien hoe u respectievelijk een onbeveiligd test- of productiecluster maakt.
ClusterConfig.Windows.DevCluster.json en ClusterConfig.Windows.MultiMachine.json laten zien hoe u test- of productieclusters maakt die zijn beveiligd met windows-beveiliging.
ClusterConfig.X509.DevCluster.json en ClusterConfig.X509.MultiMachine.json laten zien hoe u test- of productieclusters maakt die zijn beveiligd met behulp van X509-beveiliging op basis van certificaten.
Laten we nu de verschillende secties van een ClusterConfig.json-bestand bekijken.
Algemene clusterconfiguraties
Algemene clusterconfiguraties hebben betrekking op de algemene clusterspecifieke configuraties, zoals wordt weergegeven in het volgende JSON-fragment:
"name": "SampleCluster",
"clusterConfigurationVersion": "1.0.0",
"apiVersion": "01-2017",
U kunt elke beschrijvende naam aan uw Service Fabric-cluster geven door het toe te wijzen aan de naamvariabele. De clusterConfigurationVersion is het versienummer van uw cluster. Verhoog deze telkens wanneer u een upgrade uitvoert van uw Service Fabric-cluster. Laat apiVersion ingesteld op de standaardwaarde.
Knooppunten in het cluster
U kunt de knooppunten in uw Service Fabric-cluster configureren met behulp van de sectie knooppunten, zoals in het volgende fragment wordt weergegeven:
"nodes": [{
"nodeName": "vm0",
"iPAddress": "localhost",
"nodeTypeRef": "NodeType0",
"faultDomain": "fd:/dc1/r0",
"upgradeDomain": "UD0"
}, {
"nodeName": "vm1",
"iPAddress": "localhost",
"nodeTypeRef": "NodeType1",
"faultDomain": "fd:/dc1/r1",
"upgradeDomain": "UD1"
}, {
"nodeName": "vm2",
"iPAddress": "localhost",
"nodeTypeRef": "NodeType2",
"faultDomain": "fd:/dc1/r2",
"upgradeDomain": "UD2"
}],
Een Service Fabric-cluster moet ten minste drie knooppunten bevatten. U kunt meer knooppunten aan deze sectie toevoegen volgens uw installatie. In de volgende tabel worden configuratie-instellingen voor elk knooppunt uitgelegd:
Knooppuntconfiguratie | Beschrijving |
---|---|
nodeName | U kunt elke beschrijvende naam aan het knooppunt geven. |
iPAddress | Ontdek het IP-adres van uw knooppunt door een opdrachtvenster te openen en te typen ipconfig . Noteer het IPV4-adres en wijs het toe aan de variabele iPAddress. |
nodeTypeRef | Aan elk knooppunt kan een ander knooppunttype worden toegewezen. De knooppunttypen worden gedefinieerd in de volgende sectie. |
faultDomain | Met foutdomeinen kunnen clusterbeheerders de fysieke knooppunten definiëren die mogelijk tegelijkertijd mislukken vanwege gedeelde fysieke afhankelijkheden. |
upgradeDomain | Upgradedomeinen beschrijven sets knooppunten die op ongeveer hetzelfde moment worden afgesloten voor Service Fabric-upgrades. U kunt kiezen aan welke knooppunten u wilt toewijzen aan welke upgradedomeinen, omdat deze niet worden beperkt door fysieke vereisten. |
Clustereigenschappen
De sectie eigenschappen in het ClusterConfig.json wordt gebruikt om het cluster te configureren zoals wordt weergegeven:
Betrouwbaarheid
Het concept betrouwbaarheidsniveau definieert het aantal replica's of exemplaren van de Service Fabric-systeemservices die kunnen worden uitgevoerd op de primaire knooppunten van het cluster. Het bepaalt de betrouwbaarheid van deze services en daarom het cluster. De waarde wordt berekend door het systeem bij het maken en upgraden van het cluster.
Diagnostiek
In de sectie diagnosticsStore kunt u parameters configureren om diagnostische gegevens in te schakelen en knooppunt- of clusterfouten op te lossen, zoals wordt weergegeven in het volgende fragment:
"diagnosticsStore": {
"metadata": "Please replace the diagnostics store with an actual file share accessible from all cluster machines.",
"dataDeletionAgeInDays": "7",
"storeType": "FileShare",
"IsEncrypted": "false",
"connectionstring": "c:\\ProgramData\\SF\\DiagnosticsStore"
}
De metagegevens zijn een beschrijving van uw clusterdiagnose en kunnen worden ingesteld op basis van uw installatie. Deze variabelen helpen bij het verzamelen van ETW-traceerlogboeken en crashdumps, evenals prestatiemeteritems. Zie Tracelog - en ETW-tracering voor meer informatie over ETW-tracering. Alle logboeken, inclusief crashdumps en prestatiemeteritems, kunnen worden omgeleid naar de map connectionString op uw computer. U kunt ook AzureStorage gebruiken om diagnostische gegevens op te slaan. Zie het volgende voorbeeldfragment:
"diagnosticsStore": {
"metadata": "Please replace the diagnostics store with an actual file share accessible from all cluster machines.",
"dataDeletionAgeInDays": "7",
"storeType": "AzureStorage",
"IsEncrypted": "false",
"connectionstring": "xstore:DefaultEndpointsProtocol=https;AccountName=[AzureAccountName];AccountKey=[AzureAccountKey]"
}
Beveiliging
De beveiligingssectie is nodig voor een beveiligd zelfstandig Service Fabric-cluster. In het volgende fragment ziet u een deel van deze sectie:
"security": {
"metadata": "This cluster is secured using X509 certificates.",
"ClusterCredentialType": "X509",
"ServerCredentialType": "X509",
. . .
}
De metagegevens zijn een beschrijving van uw beveiligde cluster en kunnen worden ingesteld op basis van uw installatie. Het ClusterCredentialType en ServerCredentialType bepalen het type beveiliging dat het cluster en de knooppunten implementeren. Ze kunnen worden ingesteld op X509 voor een beveiliging op basis van certificaten of Windows voor op Active Directory gebaseerde beveiliging. De rest van de beveiligingssectie is gebaseerd op het type beveiliging. Zie Beveiliging op basis van certificaten in een zelfstandig cluster of Windows-beveiliging in een zelfstandig cluster of Windows-beveiliging in een zelfstandig cluster voor meer informatie over het invullen van de rest van de beveiligingssectie.
Knooppunttypen
In de sectie nodeTypes wordt het type knooppunten beschreven dat uw cluster heeft. Er moet ten minste één knooppunttype worden opgegeven voor een cluster, zoals wordt weergegeven in het volgende fragment:
"nodeTypes": [{
"name": "NodeType0",
"clientConnectionEndpointPort": "19000",
"clusterConnectionEndpointPort": "19001",
"leaseDriverEndpointPort": "19002",
"serviceConnectionEndpointPort": "19003",
"httpGatewayEndpointPort": "19080",
"reverseProxyEndpointPort": "19081",
"applicationPorts": {
"startPort": "20575",
"endPort": "20605"
},
"ephemeralPorts": {
"startPort": "20606",
"endPort": "20861"
},
"isPrimary": true
}]
De naam is de beschrijvende naam voor dit specifieke knooppunttype. Als u een knooppunt van dit knooppunttype wilt maken, wijst u de beschrijvende naam toe aan de variabele nodeTypeRef voor dat knooppunt, zoals eerder vermeld. Definieer voor elk knooppunttype de verbindingseindpunten die worden gebruikt. U kunt elk poortnummer voor deze verbindingseindpunten kiezen, zolang ze niet conflicteren met andere eindpunten in dit cluster. In een cluster met meerdere knooppunten zijn er een of meer primaire knooppunten (isPrimary is ingesteld op true), afhankelijk van het betrouwbaarheidsniveau. Zie Overwegingen voor capaciteitsplanning voor Service Fabric-clusters voor informatie over nodeTypes en betrouwbaarheidsniveau voor meer informatie over primaire en niet-primaire knooppunttypen.
Eindpunten die worden gebruikt om de knooppunttypen te configureren
- clientConnectionEndpointPort is de poort die door de client wordt gebruikt om verbinding te maken met het cluster wanneer client-API's worden gebruikt.
- clusterConnectionEndpointPort is de poort waar de knooppunten met elkaar communiceren.
- leaseDriverEndpointPort is de poort die door het leasestuurprogramma van het cluster wordt gebruikt om erachter te komen of de knooppunten nog actief zijn.
- serviceConnectionEndpointPort is de poort die wordt gebruikt door de toepassingen en services die zijn geïmplementeerd op een knooppunt om te communiceren met de Service Fabric-client op dat specifieke knooppunt.
- httpGatewayEndpointPort is de poort die door Service Fabric Explorer wordt gebruikt om verbinding te maken met het cluster.
- kortstondigePorts overschrijven de dynamische poorten die door het besturingssysteem worden gebruikt. Service Fabric maakt gebruik van een deel van deze poorten als toepassingspoorten en de resterende poorten zijn beschikbaar voor het besturingssysteem. Het wijst dit bereik ook toe aan het bestaande bereik dat aanwezig is in het besturingssysteem, zodat u voor alle doeleinden de bereiken kunt gebruiken die zijn opgegeven in de JSON-voorbeeldbestanden. Zorg ervoor dat het verschil tussen de begin- en eindpoorten ten minste 255 is. Er kunnen conflicten optreden als dit verschil te laag is, omdat dit bereik wordt gedeeld met het besturingssysteem. Als u het geconfigureerde dynamische poortbereik wilt zien, voert u het volgende uit
netsh int ipv4 show dynamicport tcp
. - applicationPorts zijn de poorten die worden gebruikt door de Service Fabric-toepassingen. Het poortbereik van de toepassing moet groot genoeg zijn om de eindpuntvereiste van uw toepassingen te dekken. Dit bereik moet exclusief zijn van het dynamische poortbereik op de computer, dat wil gezegd het kortstondigePorts-bereik zoals ingesteld in de configuratie. Service Fabric gebruikt deze poorten wanneer er nieuwe poorten nodig zijn en zorgt ervoor dat de firewall voor deze poorten wordt geopend.
- reverseProxyEndpointPort is een optioneel eindpunt voor omgekeerde proxy. Zie Omgekeerde Proxy voor Service Fabric voor meer informatie.
Logboekinstellingen
In de sectie fabricSettings kunt u de hoofdmappen voor de Service Fabric-gegevens en -logboeken instellen. U kunt deze mappen alleen aanpassen tijdens het maken van het eerste cluster. Zie het volgende voorbeeldfragment van deze sectie:
"fabricSettings": [{
"name": "Setup",
"parameters": [{
"name": "FabricDataRoot",
"value": "C:\\ProgramData\\SF"
}, {
"name": "FabricLogRoot",
"value": "C:\\ProgramData\\SF\\Log"
}]
U wordt aangeraden een niet-besturingssysteemstation te gebruiken als FabricDataRoot en FabricLogRoot. Het biedt meer betrouwbaarheid in het voorkomen van situaties waarin het besturingssysteem niet meer reageert. Als u alleen de gegevenshoofdmap aanpast, wordt de logboekhoofdmap één niveau onder de gegevenshoofdmap geplaatst.
Stateful Reliable Services-instellingen
In de sectie KtlLogger kunt u de globale configuratie-instellingen voor Reliable Services instellen. Zie Stateful Reliable Services configureren voor meer informatie over deze instellingen. In het volgende voorbeeld ziet u hoe u het gedeelde transactielogboek wijzigt dat wordt gemaakt om een back-up te maken van betrouwbare verzamelingen voor stateful services:
"fabricSettings": [{
"name": "KtlLogger",
"parameters": [{
"name": "SharedLogSizeInMB",
"value": "4096"
}]
}]
Invoegtoepassingsfuncties
Als u invoegtoepassingsfuncties wilt configureren, configureert u de apiVersion als 04-2017 of hoger en configureert u de addonFeatures, zoals hier wordt weergegeven:
"apiVersion": "04-2017",
"properties": {
"addOnFeatures": [
"DnsService",
"RepairManager"
]
}
Alle beschikbare invoegtoepassingsfuncties zijn te zien in de Service Fabric REST API Reference.
Ondersteuning voor containers
Als u containerondersteuning wilt inschakelen voor zowel Windows Server-containers als Hyper-V-containers voor zelfstandige clusters, moet de functie DnsService-invoegtoepassing zijn ingeschakeld.
Volgende stappen
Nadat u een volledig ClusterConfig.json bestand hebt geconfigureerd volgens de installatie van uw zelfstandige cluster, kunt u uw cluster implementeren. Volg de stappen in Een zelfstandig Service Fabric-cluster maken.
Als u een zelfstandig cluster hebt geïmplementeerd, kunt u ook de configuratie van een zelfstandig cluster bijwerken.
Meer informatie over het visualiseren van uw cluster met Service Fabric Explorer.