Dela via


Planera och förbereda för en klusterdistribution

Det är mycket viktigt att planera och förbereda för en distribution av ett produktionskluster. Det finns många faktorer att tänka på. Den här artikeln beskriver hur du förbereder klusterdistributionen.

Läs informationen om bästa praxis

För att hantera Azure Service Fabric-program och -kluster korrekt finns det åtgärder som vi starkt rekommenderar att du utför för att optimera tillförlitligheten i din produktionsmiljö. Mer information finns i Metodtips för Service Fabric-program och kluster.

Välj operativsystemet för klustret

Med Service Fabric kan du skapa Service Fabric-kluster på alla virtuella datorer eller datorer som kör Windows Server eller Linux. Innan du distribuerar klustret måste du välja operativsystemet: Windows eller Linux. Varje nod (virtuell dator) i klustret kör samma operativsystem. Du kan inte blanda virtuella Windows- och Linux-datorer i samma kluster.

Kapacitetsplanering

Vid distribution till en produktionsmiljö är det viktigt med kapacitetsplanering. Här är några saker att tänka på i samband med den här processen.

  • Det första antalet nodtyper för klustret
  • Egenskaperna för varje nodtyp (storlek, antal instanser, primär, Internetuppkopplad, antal virtuella datorer osv.)
  • Klustrets egenskaper för tillförlitlighet och hållbarhet

Välj det inledande antalet nodtyper

Först måste du ta reda på vilket kluster du skapar kommer att användas för. Vilka typer av program planerar du att distribuera till det här klustret? Har ditt program flera tjänster och behöver någon av dem vara offentlig eller internetuppkopplad? Har dina tjänster (som utgör ditt program) olika infrastrukturbehov, till exempel större RAM-minne eller högre CPU-cykler? Ett Service Fabric-kluster kan bestå av mer än en nodtyp: en primär nodtyp och en eller flera icke-primära nodtyper. Varje nodtyp mappas till en VM-skalningsuppsättning. Varje nodtyp kan sedan skalas upp eller ned oberoende av de andra, ha olika portar öppna och ha olika kapacitet. Nodegenskaper och placeringsbegränsningar kan konfigureras för att begränsa specifika tjänster till specifika nodtyper. Mer information finns i Kapacitetsplanering för Service Fabric-kluster.

Välj nodegenskaper för varje nodtyp

Nodtyper definierar den virtuella datorns SKU, antal och egenskaper för de virtuella datorerna i den associerade skalningsuppsättningen.

Den minsta storleken på virtuella datorer för varje nodtyp bestäms av den hållbarhetsnivå som du väljer för nodtypen. Innan du väljer en SKU för virtuella datorer måste du förstå de steg som krävs för vertikal skalning om du bestämmer dig för att du behöver en annan VM SKU i framtiden.

Det minsta antalet virtuella datorer för den primära nodtypen bestäms av den tillförlitlighetsnivå du väljer.

Se de minsta rekommendationerna för primära nodtyper, tillståndskänsliga arbetsbelastningar för icke-primära nodtyper och tillståndslösa arbetsbelastningar på icke-primära nodtyper.

Fler än det minsta antalet noder bör baseras på antalet repliker av programmet/tjänsterna som du vill köra i den här nodtypen. Kapacitetsplanering för Service Fabric-program hjälper dig att uppskatta de resurser du behöver för att köra dina program. Du kan alltid skala upp eller ned klustret senare för att justera för att ändra programarbetsbelastningen.

Använda tillfälliga OS-diskar för VM-skalningsuppsättningar

Tillfälliga OS-diskar är lagring som skapas på den lokala virtuella datorn (VM) och sparas inte i fjärranslutna Azure Storage. De rekommenderas för alla Service Fabric-nodtyper (primär och sekundär), eftersom jämfört med traditionella beständiga OS-diskar, tillfälliga OS-diskar:

  • Minska svarstiden för läsning/skrivning till OS-disk
  • Aktivera snabbare återställning/återimering av nodhanteringsåtgärder
  • Minska de totala kostnaderna (diskarna är kostnadsfria och medför ingen extra lagringskostnad)

Tillfälliga OS-diskar är inte en specifik Service Fabric-funktion, utan snarare en funktion i skalningsuppsättningar för virtuella Azure-datorer som mappas till Service Fabric-nodtyper. Om du använder dem med Service Fabric krävs följande i azure resource manager-mallen för klustret:

  1. Se till att dina nodtyper anger storlekar för virtuella Azure-datorer som stöds för tillfälliga OS-diskar och att storleken på den virtuella datorn har tillräcklig cachestorlek för att stödja dess os-diskstorlek (se Obs nedan .) Till exempel:

    "vmNodeType1Size": {
        "type": "string",
        "defaultValue": "Standard_DS3_v2"
    

    Kommentar

    Se till att välja en VM-storlek med en cachestorlek som är lika med eller större än själva den virtuella datorns os-diskstorlek, annars kan azure-distributionen resultera i fel (även om den ursprungligen godkänns).

  2. Ange en vm-skalningsuppsättningsversion (vmssApiVersion) av 2018-06-01 eller senare:

    "variables": {
        "vmssApiVersion": "2018-06-01",
    
  3. I avsnittet vm-skalningsuppsättning i distributionsmallen anger du Local alternativet för diffDiskSettings:

    "apiVersion": "[variables('vmssApiVersion')]",
    "type": "Microsoft.Compute/virtualMachineScaleSets",
        "virtualMachineProfile": {
            "storageProfile": {
                "osDisk": {
                        "caching": "ReadOnly",
                        "createOption": "FromImage",
                        "diffDiskSettings": {
                            "option": "Local"
                        },
                }
            }
        }
    

Kommentar

Användarprogram bör inte ha något beroende/fil/artefakt på OS-disken, eftersom OS-disken skulle gå förlorad vid en os-uppgradering.

Kommentar

Befintliga icke-tillfälliga VMSS kan inte uppgraderas på plats för att använda tillfälliga diskar. För att migrera måste användarna lägga till en ny nodeType med tillfälliga diskar, flytta arbetsbelastningarna till den nya nodeType och ta bort den befintliga nodeType.

Mer information och ytterligare konfigurationsalternativ finns i Tillfälliga OS-diskar för virtuella Azure-datorer

Välj hållbarhets- och tillförlitlighetsnivåer för klustret

Hållbarhetsnivån används för att ange för systemet de privilegier som dina virtuella datorer har med den underliggande Azure-infrastrukturen. I den primära nodtypen tillåter den här behörigheten att Service Fabric pausar alla infrastrukturbegäranden på VM-nivå (till exempel omstart av virtuella datorer, vm-omimering eller VM-migrering) som påverkar kvorumkraven för systemtjänsterna och dina tillståndskänsliga tjänster. I icke-primära nodtyper tillåter den här behörigheten att Service Fabric pausar alla infrastrukturbegäranden på VM-nivå (till exempel omstart av virtuell dator, vm-omimering och VM-migrering) som påverkar kvorumkraven för dina tillståndskänsliga tjänster. För fördelar med de olika nivåerna och rekommendationerna på vilken nivå som ska användas och när, se Hållbarhetsegenskaperna för klustret.

Tillförlitlighetsnivån används för att ange antalet repliker av de systemtjänster som du vill köra i det här klustret på den primära nodtypen. Ju fler repliker, desto mer tillförlitliga finns systemtjänsterna i klustret. För fördelar med de olika nivåerna och rekommendationerna på vilken nivå som ska användas och när, se Klustrets tillförlitlighetsegenskaper.

Aktivera omvänd proxy och/eller DNS

Tjänster som ansluter till varandra i ett kluster kan vanligtvis komma åt slutpunkterna för andra tjänster direkt eftersom noderna i ett kluster finns i samma lokala nätverk. För att göra det enklare att ansluta mellan tjänster tillhandahåller Service Fabric ytterligare tjänster: en DNS-tjänst och en omvänd proxytjänst. Båda tjänsterna kan aktiveras när du distribuerar ett kluster.

Eftersom många tjänster, särskilt containerbaserade tjänster, kan ha ett befintligt URL-namn är det praktiskt att kunna lösa dessa med hjälp av standard-DNS-protokollet (i stället för protokollet Namngivningstjänst), särskilt i scenarier med "lift and shift". Det här är precis vad DNS-tjänsten gör. Det gör att du kan mappa DNS-namn till ett tjänstnamn och därmed matcha slutpunkts-IP-adresser.

Den omvända proxyn adresserar tjänster i klustret som exponerar HTTP-slutpunkter (inklusive HTTPS). Omvänd proxy gör det avsevärt enklare att anropa andra tjänster genom att tillhandahålla ett specifikt URI-format. Den omvända proxyn hanterar också de åtgärder för att lösa, ansluta och försöka igen som krävs för att en tjänst ska kunna kommunicera med en annan.

Förbereda för haveriberedskap

En viktig del av att leverera hög tillgänglighet är att säkerställa att tjänster kan överleva alla olika typer av fel. Detta är särskilt viktigt för fel som är oplanerade och utanför din kontroll. Förbered för haveriberedskap beskriver några vanliga fellägen som kan vara katastrofer om de inte modelleras och hanteras korrekt. Den diskuterar också åtgärder och åtgärder som ska utföras om en katastrof ändå inträffar.

Checklista för produktionsberedskap

Är ditt program och kluster redo att ta produktionstrafik? Innan du distribuerar klustret till produktion kan du gå igenom checklistan för produktionsberedskap. Se till att programmet och klustret fungerar smidigt genom att arbeta igenom objekten i den här checklistan. Vi rekommenderar starkt att alla dessa objekt checkas av innan de går till produktion.

Nästa steg