Dela via


Introduktion till MaintenanceControl på Service Fabric-hanterade kluster

Service Fabric-hanterade kluster har flera bakgrundsåtgärder som krävs för att hålla alla kluster uppdaterade, vilket säkerställer säkerhet och tillförlitlighet. Även om dessa åtgärder är kritiska, men körning i bakgrunden kan resultera i att tjänstrepliken flyttas till en annan nod. Den här redundansväxlingen resulterar i oönskade och onödiga avbrott om underhållsåtgärden körs under de högsta kontorstiderna. Med stöd för MaintenanceControl i Service Fabric-hanterade kluster skulle kunderna kunna definiera ett återkommande (dagligt, veckovis, månatligt) och anpassat underhållsperiod för sin SFMC-klusterresurs enligt deras behov. Alla åtgärder för bakgrundsunderhåll tillåts endast att köras under det här underhållsfönstret. MaintenanceControl gäller för dessa bakgrundsåtgärder:

  • Automatisk operativsystemuppgradering
  • Automatisk tilläggsuppgradering
  • Automatiska SF-körningsversionsuppdateringar
  • Automatisk uppdatering av klustercertifikat

Krav:

  • Konfiguration av underhållsfönster måste endast definieras för den hanterade Klusterresursen för Service Fabric
  • Den minsta fönsterstorlek som stöds är 5 timmar

Hur fungerar MaintenanceControl för SFMC

  • Kunder måste definiera en underhållskonfiguration som innehåller schemat och upprepningsregeln för underhållsfönstret genom att skapa en underhållskonfigurationsresurs med underhålls-RP. Mer information
  • Med den här underhållskonfigurationen skapas en tilldelningsresurs för att tilldela underhållskonfigurationen till SFMC-klusterresursen.
  • När tilldelningsresursen skapas meddelar underhålls-RP ServiceFabric RP om länk- och underhållskontrollen och aktiveras sedan i SFMC-klustret. Alla åtgärder för bakgrundsunderhåll blockeras utanför underhållsfönstret.
  • När underhållsperioden aktiveras enligt schemat i underhållskonfigurationen meddelar underhålls-RP servicefabric-RP:en som aktiverar underhållsfönstret i motsvarande SFMC-kluster. Alla bakgrundsåtgärder tillåts köras under det här fönstret.

Exempel på distribution

Följande är en stegvis process för att konfigurera ett kluster med underhållskontroll. Ladda ned det här exemplet, som innehåller alla nödvändiga resurser. Exempel på SKU Service Fabric-hanterat kluster

  1. Skapa resursgrupp i en region:

    Login-AzAccount
    Select-AzSubscription -SubscriptionId $subscriptionid
    New-AzResourceGroup -Name $myresourcegroup -Location $location
    
  2. Skapa klusterresurs:

    Kör det här kommandot för att distribuera klusterresursen:

    $parameters = @{
    clusterName = $clusterName
    adminPassword = $VmAdminPassword
    clientCertificateThumbprint = $clientCertificateThumbprint
    }
    New-AzResourceGroupDeployment -Name "deploy_cluster" -ResourceGroupName $resourceGroupName -TemplateFile .\azuredeploy.json -TemplateParameterObject $parameters -Verbose
    
  3. Konfigurera underhållskontrollen i klustret med hjälp av följande underhållskonfiguration:

Den här underhållskonfigurationen definierar ett schema för uppdateringar varje dag från 22:00 PST för 5 timmar, med start 30-05-2023. Mer information om underhållskonfiguration

    "resources": [
        {
            "type": "Microsoft.Maintenance/maintenanceConfigurations",
            "apiVersion": "2022-07-01-preview",
            "name": "mc1",
            "location": "[parameters('location')]",
            "properties": {
                "maintenanceScope": "Resource",
                "extensionProperties": {
                   "maintenanceSubScope": "SFMC"
                },
                "maintenanceWindow": {
                    "startDateTime": "2023-05-30 22:00",
                    "duration": "05:00",
                    "timeZone": "Pacific Standard Time",
                    "expirationDateTime": null,
                    "recurEvery": "1Day"
                }
            }
        }

Kommentar

Som beskrivs i konfigurationen bör underhållskonfigurationen för SFMC-klusterresursen ha maintenanceScope: 'Resource' and maintenanceSubScope: 'SFMC'.

När underhållskonfigurationen har skapats måste den kopplas till SFMC-klustret med hjälp av tilldelningsresursen. Mer information om tilldelning:

    "resources": [
        { 
           "type": "Microsoft.Resources/deployments",
            "apiVersion": "2022-09-01",
            "name": "ConfigurationAssignmentsName",
            "dependsOn": [
                "[concat('Microsoft.Maintenance/maintenanceConfigurations/', 'mc1')]",
                "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
            ],
            "properties": {
                "mode": "Incremental",
                "template": {
                    "$schema": "http://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
                    "resources": [
                        {
                            "apiVersion": "2022-07-01-preview",
                            "type": "Microsoft.Maintenance/configurationAssignments",
                            "name": "mc1Assignment",
                            "location": "[parameters('location')]",
                            "scope": "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]",
                            "tags": {},
                            "properties": {
                                "maintenanceConfigurationId": "/subscriptions/<subId>/resourcegroups/<rgName>/providers/microsoft.maintenance/maintenanceconfigurations/mc1"
                            }
                        }
                    ]
                }
            },
            "subscriptionId": "<subId>",
            "resourceGroup": "<rgName>"
        }

Kommentar

  • Om du vill inaktivera underhållskontrollen i klustret tar du bort tilldelningen för klustret.
  • Underhållsresurserna och SFMC-klusterresursen bör skapas i samma region.

Kommentar

Kända problem:

  • Det bör finnas högst en underhållskonfigurationsresurs tilldelad till ett Service Fabric-hanterat kluster. Det pågår arbete för att förhindra tilldelning av fler än en underhållskonfiguration. Fram till dess förväntas användarna inte utföra flera konfigurationstilldelningar för samma kluster.
  • Om du bara tar bort underhållskonfigurationsresursen inaktiveras inte MaintenanceControl. Om du vill inaktivera MaintenanceControl måste du ta bort konfigurationen för klustret först innan du tar bort underhållskonfigurationsresursen.
  • Arbetet för Azure Portal-upplevelsen för underhållskontroll med SFMC pågår för närvarande, så kunderna bör inte bara förlita sig på portalen. Problem med att underhållsresurser som SFMC-kluster visas som en virtuell datorresurs och inte kan söka/tilldela ett SFMC-kluster från portalen är kända.