Dela via


Hantera Service Fabric-klusteruppgraderingar

Ett Azure Service Fabric-kluster är en resurs som du äger, men det hanteras delvis av Microsoft. Så här hanterar du när och hur Microsoft uppdaterar ditt Azure Service Fabric-kluster.

Mer information om begrepp och processer för klusteruppgradering finns i Uppgradera och uppdatera Azure Service Fabric-kluster.

Ange uppgraderingsläge

Du kan ange att klustret ska ta emot automatiska Service Fabric-uppgraderingar när de släpps av Microsoft, eller så kan du manuellt välja från en lista över versioner som stöds för närvarande genom att ange uppgraderingsläget för klustret. Detta kan göras antingen via kontrollen Infrastrukturuppgraderingsläge i Azure-portalen eller upgradeMode inställningen i klusterdistributionsmallen.

Azure Portal

Med Hjälp av Azure-portalen väljer du mellan automatiska eller manuella uppgraderingar när du skapar ett nytt Service Fabric-kluster.

Välj mellan automatiska eller manuella uppgraderingar när du skapar ett nytt kluster i Azure-portalen från alternativen

Du kan också växla mellan automatiska eller manuella uppgraderingar från avsnittet Infrastrukturuppgraderingar i en befintlig klusterresurs.

Välj Automatiska eller manuella uppgraderingar i avsnittet Infrastrukturuppgraderingar i klusterresursen i Azure-portalen

Manuella uppgraderingar med Azure-portalen

När du väljer alternativet för manuell uppgradering är allt som behövs för att starta en uppgradering att välja från listrutan tillgängliga versioner och sedan Spara. Därifrån startas klusteruppgradningen omedelbart.

Klustrets hälsoprinciper (en kombination av nodhälsa och hälsotillståndet för alla program som körs i klustret) följs under uppgraderingen. Om klustrets hälsoprinciper inte uppfylls återställs uppgraderingen.

När du har åtgärdat de problem som resulterade i återställningen måste du initiera uppgraderingen igen genom att följa samma steg som tidigare.

Resource Manager-mall

Om du vill ändra läget för klusteruppgradering med hjälp av en Resource Manager-mall anger du antingen Automatisk eller Manuell för egenskapen för upgradeMode resursdefinitionen Microsoft.ServiceFabric/clusters . Om du väljer manuella uppgraderingar anger du clusterCodeVersion även till en infrastrukturresursversion som stöds för närvarande.

Skärmbild som visar en mall som är klartext indragen för att återspegla strukturen. Egenskaperna

När mallen har distribuerats tillämpas ändringar i klusteruppgraderingsläget. Om klustret är i manuellt läge startar klusteruppgradningen automatiskt.

Klustrets hälsoprinciper (en kombination av nodhälsa och hälsotillståndet för alla program som körs i klustret) följs under uppgraderingen. Om klustrets hälsoprinciper inte uppfylls återställs uppgraderingen.

När du har åtgärdat de problem som resulterade i återställningen måste du initiera uppgraderingen igen genom att följa samma steg som tidigare.

Vågdistribution för automatiska uppgraderingar

Med automatiskt uppgraderingsläge har du möjlighet att aktivera klustret för vågdistribution. Med vågdistribution kan du skapa en pipeline för att uppgradera dina test-, fas- och produktionskluster i följd, avgränsade med inbyggd "bake time" för att verifiera kommande Service Fabric-versioner innan dina produktionskluster uppdateras.

Aktivera vågdistribution

Kommentar

Wave-distributionen 2020-12-01-preview kräver (eller senare) API-versionen för din Microsoft.ServiceFabric/clusters-resurs .

Om du vill aktivera vågdistribution för automatisk uppgradering måste du först avgöra vilken våg som ska tilldela klustret:

  • Våg 0 (Wave0): Kluster uppdateras så snart en ny Service Fabric-version släpps. Avsedd för test-/utvecklingskluster.
  • Våg 1 (Wave1): Kluster uppdateras en vecka (sju dagar) efter att en ny version har släppts. Avsedd för för-prod/mellanlagringskluster.
  • Våg 2 (Wave2): Kluster uppdateras två veckor (14 dagar) efter att en ny version har släppts. Avsedd för produktionskluster.

Lägg sedan bara till en upgradeWave egenskap i klusterresursmallen med något av vågvärdena som anges ovan. Kontrollera att klusterresursens API-version är 2020-12-01-preview eller senare.

{
    "apiVersion": "2020-12-01-preview",
    "type": "Microsoft.ServiceFabric/clusters",
     ...
        "fabricSettings": [...],
        "managementEndpoint": ...,
        "nodeTypes": [...],
        "provisioningState": ...,
        "reliabilityLevel": ...,
        "upgradeMode": "Automatic",
        "upgradeWave": "Wave1",
       ...

När du har distribuerat den uppdaterade mallen registreras klustret i den angivna vågen för nästa uppgraderingsperiod och därefter.

Du kan registrera dig för e-postaviseringar med länkar för att ytterligare hjälpa till om en klusteruppgradering misslyckas.

Registrera sig för meddelanden

Du kan registrera dig för meddelanden när en klusteruppgradering misslyckas. Ett e-postmeddelande skickas till din avsedda e-postadress med ytterligare information om uppgraderingsfelet och länkar för ytterligare hjälp.

Kommentar

Registrering i vågdistribution krävs inte för att ta emot meddelanden om uppgraderingsfel.

Om du vill registrera dig i meddelanden lägger du till ett notifications avsnitt i klusterresursmallen och anger en eller flera e-postadresser (mottagare) för att ta emot meddelanden:

    "apiVersion": "2020-12-01-preview",
    "type": "Microsoft.ServiceFabric/clusters",
     ...
        "upgradeMode": "Automatic",
        "upgradeWave": "Wave1",
        "notifications": [
        {
            "isEnabled": true,
            "notificationCategory": "WaveProgress",
            "notificationLevel": "Critical",
            "notificationTargets": [
            {
                "notificationChannel": "EmailUser",
                "receivers": [
                    "devops@contoso.com"
                ]
            }]
        }]

När du har distribuerat den uppdaterade mallen registreras du för meddelanden om uppgraderingsfel.

Anpassade principer för manuella uppgraderingar

Du kan ange anpassade hälsoprinciper för manuella klusteruppgraderingar. Dessa principer tillämpas varje gång du väljer en ny körningsversion, vilket utlöser systemet för att starta uppgraderingen av klustret. Om du inte åsidosätter principerna används standardvärdena.

Du kan ange anpassade hälsoprinciper eller granska de aktuella inställningarna under avsnittet Infrastrukturuppgraderingar i klusterresursen i Azure-portalen genom att välja Anpassat alternativ för Uppgraderingsprincip.

Välj alternativet Anpassad uppgraderingsprincip i avsnittet Infrastrukturuppgraderingar i klusterresursen i Azure-portalen för att ange anpassade hälsoprinciper under uppgraderingen

Sök efter klusterversioner som stöds

Du kan referera till Service Fabric-versioner för mer information om versioner och operativsystem som stöds.

Du kan också använda Azure REST API för att visa alla tillgängliga Service Fabric-körningsversioner (clusterVersions) tillgängliga för den angivna platsen och din prenumeration.

GET https://<endpoint>/subscriptions/{{subscriptionId}}/providers/Microsoft.ServiceFabric/locations/{{location}}/clusterVersions?api-version=2018-02-01

"value": [
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/5.0.1427.9490",
    "name": "5.0.1427.9490",
    "type": "Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "5.0.1427.9490",
      "supportExpiryUtc": "2016-11-26T23:59:59.9999999",
      "environment": "Windows"
    }
  },
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.0.1427.9490",
    "name": "5.1.1427.9490",
    "type": " Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "5.1.1427.9490",
      "supportExpiryUtc": "9999-12-31T23:59:59.9999999",
      "environment": "Windows"
    }
  },
  {
    "id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/environments/Windows/clusterVersions/4.4.1427.9490",
    "name": "4.4.1427.9490",
    "type": " Microsoft.ServiceFabric/environments/clusterVersions",
    "properties": {
      "codeVersion": "4.4.1427.9490",
      "supportExpiryUtc": "9999-12-31T23:59:59.9999999",
      "environment": "Linux"
    }
  }
]
}

I supportExpiryUtc utdatarapporterna när en viss version upphör att gälla eller har upphört att gälla. De senaste versionerna har inget giltigt datum, utan ett värde på 9999-12-31T23:59:59.99999999, vilket bara innebär att förfallodatumet ännu inte har angetts.

Sökväg för uppgradering som stöds

Du kan referera till Service Fabric-versionsdokumentationen för uppgraderingssökvägar som stöds och relaterad versionsinformation.

Med hjälp av en målversionsinformation som stöds kan du använda följande PowerShell-steg för att verifiera uppgraderingssökvägen som stöds.

  1. Logga in på Azure

    Login-AzAccount
    
  2. Välja prenumerationen

    Set-AzContext -SubscriptionId <your-subscription>
    
  3. Anropa API:et

    $params = @{ "TargetVersion" = "<target version>"}
    Invoke-AzResourceAction -ResourceId <cluster resource id> -Parameters $params -Action listUpgradableVersions -Force
    

    Exempel:

    $params = @{ "TargetVersion" = "8.1.335.9590"}
    Invoke-AzResourceAction -ResourceId /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/myResourceGroup/providers/Microsoft.ServiceFabric/clusters/myCluster -Parameters $params -Action listUpgradableVersions -Force
    
    Output
    supportedPath
    -------------
    {8.1.329.9590, 8.1.335.9590}
    

Nästa steg