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.
Du kan också växla mellan automatiska eller manuella uppgraderingar från avsnittet Infrastrukturuppgraderingar i en befintlig klusterresurs.
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.
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.
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.
Logga in på Azure
Login-AzAccount
Välja prenumerationen
Set-AzContext -SubscriptionId <your-subscription>
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}