Sdílet prostřednictvím


Konfigurační nastavení pro samostatný cluster ve Windows

Tento článek popisuje nastavení konfigurace samostatného clusteru Azure Service Fabric, který je možné nastavit v souboru ClusterConfig.json . Tento soubor použijete k určení informací o uzlech clusteru, konfiguracích zabezpečení a síťové topologii z hlediska domén selhání a upgradu. Po změně nebo přidání nastavení konfigurace můžete buď vytvořit samostatný cluster , nebo upgradovat konfiguraci samostatného clusteru.

Když si stáhnete samostatný balíček Service Fabric, ClusterConfig.json ukázky se také zahrnou. Ukázky, které mají v názvech DevCluster, vytvoří cluster se všemi třemi uzly na stejném počítači pomocí logických uzlů. Z těchto uzlů musí být alespoň jeden označený jako primární uzel. Tento typ clusteru je užitečný pro vývojová nebo testovací prostředí. Nepodporuje se jako produkční cluster. Ukázky, které mají v názvech "MultiMachine", pomáhají vytvářet clustery na úrovni produkčního prostředí s každým uzlem na samostatném počítači. Počet primárních uzlů pro tyto clustery je založený na úrovni spolehlivosti clusteru. Ve verzi 5.7 jsme odebrali vlastnost na úrovni spolehlivosti rozhraní API verze 05–2017. Místo toho náš kód vypočítá nejoptimaličtější úroveň spolehlivosti vašeho clusteru. Nepokoušejte se nastavit hodnotu pro tuto vlastnost ve verzích 5.7 dál.

  • ClusterConfig.Unsecure.DevCluster.json a ClusterConfig.Unsecure.MultiMachine.json ukazují, jak vytvořit nezabezpečený testovací nebo produkční cluster.

  • ClusterConfig.Windows.DevCluster.json a ClusterConfig.Windows.MultiMachine.json ukazují, jak vytvořit testovací nebo produkční clustery zabezpečené pomocí zabezpečení Systému Windows.

  • ClusterConfig.X509.DevCluster.json a ClusterConfig.X509.MultiMachine.json ukazují, jak vytvořit testovací nebo produkční clustery zabezpečené pomocí zabezpečení založeného na certifikátech X509.

Teď se podíváme na různé části souboru ClusterConfig.json.

Obecné konfigurace clusteru

Obecné konfigurace clusteru pokrývají obecné konfigurace specifické pro clustery, jak je znázorněno v následujícím fragmentu kódu JSON:

    "name": "SampleCluster",
    "clusterConfigurationVersion": "1.0.0",
    "apiVersion": "01-2017",

Clusteru Service Fabric můžete přiřadit libovolný popisný název tak, že ho přiřadíte k proměnné názvu. ClusterConfigurationVersion je číslo verze vašeho clusteru. Zvyšte ho při každém upgradu clusteru Service Fabric. Nechte apiVersion nastavenou na výchozí hodnotu.

Uzly v clusteru

Uzly v clusteru Service Fabric můžete nakonfigurovat pomocí části uzly, jak ukazuje následující fragment kódu:

"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"
}],

Cluster Service Fabric musí obsahovat alespoň tři uzly. Do této části můžete podle nastavení přidat další uzly. Následující tabulka vysvětluje nastavení konfigurace pro každý uzel:

Konfigurace uzlu Popis
nodeName K uzlu můžete zadat jakýkoli popisný název.
iPAddress Zjistěte IP adresu uzlu tak, že otevřete příkazové okno a zadáte ipconfig. Poznamenejte si adresu IPV4 a přiřaďte ji proměnné iPAddress.
nodeTypeRef Každému uzlu je možné přiřadit jiný typ uzlu. Typy uzlů jsou definovány v následující části.
faultDomain Domény selhání umožňují správcům clusteru definovat fyzické uzly, které můžou selhat ve stejnou dobu kvůli sdíleným fyzickým závislostem.
upgradeDomain Upgradovací domény popisují sady uzlů, které jsou vypnuté pro upgrady Service Fabric ve stejnou dobu. Můžete zvolit, které uzly se mají přiřadit k jakým upgradovým doménám, protože nejsou omezené fyzickými požadavky.

Vlastnosti clusteru

Oddíl vlastností v ClusterConfig.json slouží ke konfiguraci clusteru, jak je znázorněno níže:

Spolehlivost

Koncept reliabilityLevel definuje počet replik nebo instancí systémových služeb Service Fabric, které se můžou spouštět na primárních uzlech clusteru. Určuje spolehlivost těchto služeb, a proto cluster. Hodnota se vypočítá systémem při vytváření clusteru a čase upgradu.

Diagnostika

V části DiagnosticsStore můžete nakonfigurovat parametry pro povolení diagnostiky a řešení potíží se selháními uzlu nebo clusteru, jak je znázorněno v následujícím fragmentu kódu:

"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"
}

Metadata jsou popisem diagnostiky clusteru a lze je nastavit podle vašeho nastavení. Tyto proměnné pomáhají shromažďovat protokoly trasování trasování událostí pro Windows a výpisy stavu systému a také čítače výkonu. Další informace o protokolech trasování trasování Trasování trasování událostí pro Windows najdete v tématu Trasování trasování Všechny protokoly, včetně výpisů stavu systému a čítačů výkonu, lze směrovat do složky connectionString na vašem počítači. K ukládání diagnostiky můžete také použít AzureStorage. Podívejte se na následující ukázkový fragment kódu:

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

Zabezpečení

Oddíl zabezpečení je nezbytný pro zabezpečený samostatný cluster Service Fabric. Následující fragment kódu ukazuje část této části:

"security": {
    "metadata": "This cluster is secured using X509 certificates.",
    "ClusterCredentialType": "X509",
    "ServerCredentialType": "X509",
    . . .
}

Metadata jsou popisem vašeho zabezpečeného clusteru a dají se nastavit podle vašeho nastavení. ClusterCredentialType a ServerCredentialType určují typ zabezpečení, které cluster a uzly implementují. Mohou být nastaveny na X509 pro zabezpečení založené na certifikátech nebo Windows pro zabezpečení založené na službě Active Directory. Zbývající část zabezpečení je založená na typu zabezpečení. Informace o tom, jak vyplnit zbytek části zabezpečení, najdete v tématu Zabezpečení založené na certifikátech v samostatném clusteru nebo zabezpečení Systému Windows v samostatném clusteru.

Typy uzlů

Část nodeTypes popisuje typ uzlů, které cluster obsahuje. Pro cluster musí být zadán alespoň jeden typ uzlu, jak je znázorněno v následujícím fragmentu kódu:

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

Název je popisný název pro tento konkrétní typ uzlu. Pokud chcete vytvořit uzel tohoto typu uzlu, přiřaďte jeho popisný název proměnné nodeTypeRef pro tento uzel, jak jsme zmínili dříve. Pro každý typ uzlu definujte použité koncové body připojení. Pro tyto koncové body připojení můžete zvolit libovolné číslo portu, pokud nejsou v konfliktu s jinými koncovými body v tomto clusteru. V clusteru s více uzly existuje jeden nebo více primárních uzlů (tj. hodnota isPrimary je nastavená na hodnotu true) v závislosti na úrovni spolehlivosti. Další informace o primárních a neprimárních typech uzlů najdete v tématu Aspekty plánování kapacity clusteru Service Fabric pro informace o typech uzlů a úrovni spolehlivosti.

Koncové body používané ke konfiguraci typů uzlů

  • clientConnectionEndpointPort je port používaný klientem pro připojení ke clusteru při použití klientských rozhraní API.
  • clusterConnectionEndpointPort je port, kde spolu uzly komunikují.
  • leaseDriverEndpointPort je port používaný ovladačem zapůjčení clusteru ke zjištění, jestli jsou uzly stále aktivní.
  • serviceConnectionEndpointPort je port používaný aplikacemi a službami nasazenými v uzlu ke komunikaci s klientem Service Fabric na daném konkrétním uzlu.
  • httpGatewayEndpointPort je port používaný Service Fabric Explorerem pro připojení ke clusteru.
  • Dočasnéporty přepíší dynamické porty používané operačním systémem. Service Fabric používá část těchto portů jako aplikační porty a zbývající jsou k dispozici pro operační systém. Mapuje také tuto oblast na existující rozsah, který je v operačním systému, takže pro všechny účely můžete použít rozsahy uvedené v ukázkových souborech JSON. Ujistěte se, že rozdíl mezi počátečním a koncovými porty je alespoň 255. Pokud je tento rozdíl příliš nízký, můžete narazit na konflikty, protože tento rozsah je sdílený s operačním systémem. Pokud chcete zobrazit nakonfigurovaný dynamický rozsah portů, spusťte netsh int ipv4 show dynamicport tcppříkaz .
  • applicationPorts jsou porty, které používají aplikace Service Fabric. Rozsah portů aplikace by měl být dostatečně velký, aby pokrývala požadavek na koncový bod vašich aplikací. Tento rozsah by měl být exkluzivní z dynamického rozsahu portů na počítači, tj. rozsah dočasnýchports nastavených v konfiguraci. Service Fabric tyto porty používá při každém vyžadování nových portů a postará se o otevření brány firewall pro tyto porty.
  • reverseProxyEndpointPort je volitelný koncový bod reverzního proxy serveru. Další informace najdete v tématu Reverzní proxy Service Fabric.

Nastavení protokolu

V části fabricSettings můžete nastavit kořenové adresáře pro data a protokoly Service Fabric. Tyto adresáře můžete přizpůsobit pouze během počátečního vytváření clusteru. Podívejte se na následující ukázkový fragment kódu této části:

"fabricSettings": [{
    "name": "Setup",
    "parameters": [{
        "name": "FabricDataRoot",
        "value": "C:\\ProgramData\\SF"
    }, {
        "name": "FabricLogRoot",
        "value": "C:\\ProgramData\\SF\\Log"
}]

Doporučujeme použít jednotku mimo operační systém jako FabricDataRoot a FabricLogRoot. Poskytuje větší spolehlivost při předcházení situacím, kdy operační systém přestane reagovat. Pokud přizpůsobíte pouze kořen dat, kořen protokolu se umístí o jednu úroveň pod kořen dat.

Stavová nastavení Reliable Services

V části KtlLogger můžete nastavit globální nastavení konfigurace pro Reliable Services. Další informace o těchto nastaveních najdete v tématu Konfigurace stavových spolehlivých služeb. Následující příklad ukazuje, jak změnit sdílený transakční protokol, který se vytvoří zpět všechny spolehlivé kolekce pro stavové služby:

"fabricSettings": [{
    "name": "KtlLogger",
    "parameters": [{
        "name": "SharedLogSizeInMB",
        "value": "4096"
    }]
}]

Funkce doplňku

Pokud chcete nakonfigurovat funkce doplňků, nakonfigurujte apiVersion jako 04–2017 nebo vyšší a nakonfigurujte doplňkyFeatures, jak je znázorněno tady:

"apiVersion": "04-2017",
"properties": {
    "addOnFeatures": [
        "DnsService",
        "RepairManager"
    ]
}

Všechny dostupné funkce doplňku se dají zobrazit v referenčních informacích k rozhraní REST API Service Fabric.

Podpora kontejnerů

Pokud chcete povolit podporu kontejnerů pro kontejnery Windows Serveru i kontejnery Hyper-V pro samostatné clustery, musí být povolená funkce doplňku DnsService.

Další kroky

Po dokončení konfigurace ClusterConfig.json souboru podle nastavení samostatného clusteru můžete cluster nasadit. Postupujte podle kroků v tématu Vytvoření samostatného clusteru Service Fabric.

Pokud máte nasazený samostatný cluster, můžete také upgradovat konfiguraci samostatného clusteru.

Zjistěte, jak vizualizovat cluster pomocí Service Fabric Exploreru.