Översikt över Service Fabric-kluster i Azure
Ett Service Fabric-kluster är en nätverksansluten uppsättning virtuella eller fysiska datorer som dina mikrotjänster distribueras till och hanteras från. En dator eller virtuell dator som ingår i ett kluster kallas för en klusternod. Kluster kan skalas till tusentals noder. Om du lägger till nya noder i klustret balanserar Service Fabric om tjänstpartitionsreplikerna och instanserna över det ökade antalet noder. Övergripande programprestanda förbättras och konkurrensen om åtkomst till minne minskar. Om noderna i klustret inte används effektivt kan du minska antalet noder i klustret. Service Fabric balanserar återigen om partitionsreplikerna och instanserna över det minskade antalet noder för att bättre använda maskinvaran på varje nod.
En nodtyp definierar storlek, nummer och egenskaper för en uppsättning noder (virtuella datorer) i klustret. Varje nodtyp kan sedan skalas upp eller ned oberoende av de andra, ha olika portar öppna och ha olika kapacitet. Nodtyper används till att definiera roller för en uppsättning klusternoder, till exempel en ”klientdel” eller ”serverdel”. Klustret kan innehålla fler än en nodtyp, men den primära nodtypen måste innehålla minst fem virtuella datorer för produktionskluster (eller minst tre virtuella datorer för testkluster). Service Fabric-systemtjänster placeras på noderna med den primära nodtypen.
Klusterkomponenter och resurser
Ett Service Fabric-kluster i Azure är en Azure-resurs som använder och interagerar med andra Azure-resurser:
- Virtuella datorer och virtuella nätverkskort
- skalningsuppsättningar för virtuella datorer
- virtuella nätverk
- lastbalanserare
- lagringskonton
- offentliga IP-adresser
Virtuell maskin
En virtuell dator som ingår i ett kluster kallas för en nod, men tekniskt sett är en klusternod en Service Fabric-körningsprocess. Varje nod har tilldelats ett nodnamn (en sträng). Noder har egenskaper, till exempel placeringsegenskaper. Varje dator eller virtuell dator har en tjänst för automatisk start, FabricHost.exe, som börjar köras vid starttiden och sedan startar två körbara filer, Fabric.exe och FabricGateway.exe, som utgör noden. En produktionsdistribution är en nod per fysisk eller virtuell dator. För testscenarier kan du vara värd för flera noder på en enda dator eller virtuell dator genom att köra flera instanser av Fabric.exe och FabricGateway.exe.
Varje virtuell dator är associerad med ett nätverkskort (NIC) och varje nätverkskort tilldelas en privat IP-adress. En virtuell dator tilldelas till ett virtuellt nätverk och en lokal balanserare via nätverkskortet.
Alla virtuella datorer i ett kluster placeras i ett virtuellt nätverk. Alla noder i samma nodtyp/skalningsuppsättning placeras i samma undernät i det virtuella nätverket. Dessa noder har bara privata IP-adresser och kan inte adresseras direkt utanför det virtuella nätverket. Klienter kan komma åt tjänster på noderna via Azure-lastbalanseraren.
Skalningsuppsättning/nodtyp
När du skapar ett kluster definierar du en eller flera nodtyper. Noderna eller de virtuella datorerna i en nodtyp har samma storlek och egenskaper, till exempel antal processorer, minne, antal diskar och disk-I/O. En nodtyp kan till exempel vara för små virtuella datorer på klientsidan med portar som är öppna för Internet, medan en annan nodtyp kan vara för stora virtuella serverdelsdatorer som bearbetar data. I Azure-kluster mappas varje nodtyp till en VM-skalningsuppsättning.
Du kan använda skalningsuppsättningar för att distribuera och hantera en samling virtuella datorer som en uppsättning. Varje nodtyp som du definierar i ett Azure Service Fabric-kluster konfigurerar en separat skalningsuppsättning. Service Fabric-körningen startas på varje virtuell dator i skalningsuppsättningen med hjälp av Azure VM-tillägg. Du kan skala upp eller ned varje nodtyp separat, ändra OS SKU:n som körs på varje klusternod, ha olika portuppsättningar öppna och använda olika kapacitetsmått. En skalningsuppsättning har fem uppgraderingsdomäner och fem feldomäner och kan ha upp till 100 virtuella datorer. Du skapar kluster med fler än 100 noder genom att skapa flera skalningsuppsättningar/nodtyper.
Viktigt!
Att välja antalet nodtyper för klustret och egenskaperna för varje nodtyp (storlek, primär, Internetuppkopplad, antal virtuella datorer osv.) är en viktig uppgift. Mer information finns i överväganden för klusterkapacitetsplanering.
Mer information finns i Service Fabric-nodtyper och VM-skalningsuppsättningar.
Azure Load Balancer
Virtuella datorinstanser är anslutna bakom en Azure-lastbalanserare, som är associerad med en offentlig IP-adress och EN DNS-etikett. När du etablerar ett kluster med klusternamn>, DNS-namnet, <klusternamnet>.<<location.cloudapp.azure.com> är DNS-etiketten som är associerad med lastbalanseraren framför skalningsuppsättningen.
Virtuella datorer i ett kluster har bara privata IP-adresser. Hanteringstrafik och tjänsttrafik dirigeras via den offentliga lastbalanseraren. Nätverkstrafik dirigeras till dessa datorer via NAT-regler (klienter ansluter till specifika noder/instanser) eller belastningsutjämningsregler (trafik går till virtuella datorer med resursallokering). En lastbalanserare har en associerad offentlig IP-adress med ett DNS-namn i formatet: <clustername.<>location.cloudapp.azure.com>. En offentlig IP-adress är en annan Azure-resurs i resursgruppen. Om du definierar flera nodtyper i ett kluster skapas en lastbalanserare för varje nodtyp/skalningsuppsättning. Eller så kan du konfigurera en enda lastbalanserare för flera nodtyper. Den primära nodtypen har DNS-etikettklusternamnet<>.<location.cloudapp.azure.com har andra nodtyper DNS-etiketten <clustername-nodetype>.<<>>location.cloudapp.azure.com>.
Lagringskonton
Varje klusternodtyp stöds av ett Azure-lagringskonto och hanterade diskar.
Klustersäkerhet
Ett Service Fabric-kluster är en resurs som du äger. Det är ditt ansvar att skydda dina kluster för att förhindra att obehöriga användare ansluter till dem. Ett säkert kluster är särskilt viktigt när du kör produktionsarbetsbelastningar i klustret.
Säkerhet från nod till nod
Nod-till-nod-säkerhet skyddar kommunikationen mellan de virtuella datorerna eller datorerna i ett kluster. Det här säkerhetsscenariot säkerställer att endast datorer som har behörighet att ansluta till klustret kan vara värdar för program och tjänster i klustret. Service Fabric använder X.509-certifikat för att skydda ett kluster och tillhandahålla programsäkerhetsfunktioner. Ett klustercertifikat krävs för att skydda klustertrafik och tillhandahålla kluster- och serverautentisering. Självsignerade certifikat kan användas för testkluster, men ett certifikat från en betrodd certifikatutfärdare bör användas för att skydda produktionskluster.
Mer information finns i Säkerhet från nod till nod
Säkerhet från klient till nod
Säkerhet från klient till nod autentiserar klienter och hjälper till att skydda kommunikationen mellan en klient och enskilda noder i klustret. Den här typen av säkerhet säkerställer att endast behöriga användare kan komma åt klustret och de program som distribueras i klustret. Klienter identifieras unikt via antingen sina X.509-certifikatsäkerhetsuppgifter. Valfritt antal valfria klientcertifikat kan användas för att autentisera administratörs- eller användarklienter med klustret.
Förutom klientcertifikat kan Microsoft Entra-ID också konfigureras för att autentisera klienter med klustret.
Mer information finns i Säkerhet från klient till nod
Rollbaserad åtkomstkontroll
Med rollbaserad åtkomstkontroll i Azure (Azure RBAC) kan du tilldela detaljerade åtkomstkontroller för Azure-resurser. Du kan tilldela olika åtkomstregler till prenumerationer, resursgrupper och resurser. Azure RBAC-regler ärvs längs resurshierarkin om de inte åsidosätts på en lägre nivå. Du kan tilldela alla användar- eller användargrupper på ditt Microsoft Entra-ID med Azure RBAC-regler så att utsedda användare och grupper kan ändra klustret. Mer information finns i Översikt över Azure RBAC.
Service Fabric har också stöd för åtkomstkontroll för att begränsa åtkomsten till vissa klusteråtgärder för olika användargrupper. Detta gör klustret säkrare. Två typer av åtkomstkontroll stöds för klienter som ansluter till ett kluster: Administratörsroll och Användarroll.
Mer information finns i Rollbaserad åtkomstkontroll för Service Fabric.
Nätverkssäkerhetsgrupper
Nätverkssäkerhetsgrupper (NSG:er) styr inkommande och utgående trafik för ett undernät, en virtuell dator eller ett specifikt nätverkskort. När flera virtuella datorer placeras i samma virtuella nätverk kan de som standard kommunicera med varandra via valfri port. Om du vill begränsa kommunikationen mellan datorerna kan du definiera NSG:er för att segmentera nätverket eller isolera virtuella datorer från varandra. Om du har flera nodtyper i ett kluster kan du använda NSG:er för undernät för att förhindra att datorer som tillhör olika nodtyper kommunicerar med varandra.
Mer information finns i om säkerhetsgrupper
Skalning
Programkrav ändras över tid. Du kan behöva öka klusterresurserna för att möta ökad programarbetsbelastning eller nätverkstrafik eller minska klusterresurser när efterfrågan minskar. När du har skapat ett Service Fabric-kluster kan du skala klustret vågrätt (ändra antalet noder) eller lodrätt (ändra nodernas resurser). Du kan skala klustret när som helst, även när arbetsbelastningar körs i klustret. När klustret skalas skalas även dina program automatiskt.
Mer information finns i Skala Azure-kluster.
Uppgradering
Ett Azure Service Fabric-kluster är en resurs som du äger, men som delvis hanteras av Microsoft. Microsoft ansvarar för att korrigera det underliggande operativsystemet och utföra Service Fabric-körningsuppgraderingar i klustret. Du kan ange att klustret ska ta emot automatiska körningsuppgraderingar när Microsoft släpper en ny version eller välja en körningsversion som stöds som du vill använda. Förutom körningsuppgraderingar kan du även uppdatera klusterkonfigurationen, till exempel certifikat eller programportar.
Mer information finns i Uppgradera kluster.
Operativsystem som stöds
Mer information finns i Versioner som stöds i Azure
Nästa steg
Läs mer om att skydda, skala och uppgradera Azure-kluster.
Läs mer om service fabric-supportalternativ.