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 Portal eller inställningen i mallen upgradeMode
för klusterdistribution.
Azure Portal
Med Azure Portal 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 Portal
När du väljer alternativet 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.
Principerna för klusterhälsa (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 klusteruppgraderingsläget 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.
Principerna för klusterhälsa (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 "baktid" för att verifiera kommande Service Fabric-versioner innan dina produktionskluster uppdateras.
Aktivera vågdistribution
Anteckning
Wave-distributionen kräver (eller senare) API-versionen för resursen 2020-12-01-preview
Microsoft.ServiceFabric/clusters .
Om du vill aktivera vågdistribution för automatisk uppgradering ska 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. Avsett för test-/utvecklingskluster. - Våg 1 (
Wave1
): Kluster uppdateras en vecka (sju dagar) efter att en ny version har släppts. Avsett 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 ytterligare hjälp 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.
Anteckning
Registrering i vågdistribution krävs inte för att ta emot meddelanden om uppgraderingsfel.
Om du vill registrera dig för 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 Portal 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 ytterligare 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"
}
}
]
}
supportExpiryUtc
I 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.9999999, vilket bara innebär att förfallodatumet ännu inte har angetts.
Sök efter uppgraderingssökväg som stöds
Du kan referera till Service Fabric-versionsdokumentationen för uppgraderingsvä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}