(Preview) Inleiding tot MaintenanceControl in beheerde Service Fabric-clusters

Beheerde Service Fabric-clusters hebben meerdere achtergrondbewerkingen die nodig zijn om alle clusters bijgewerkt te houden, waardoor beveiliging en betrouwbaarheid worden gewaarborgd. Hoewel deze bewerkingen essentieel zijn, maar het uitvoeren op de achtergrond kan ertoe leiden dat de servicereplica naar een ander knooppunt wordt verplaatst. Deze failover resulteert in ongewenste en onnodige onderbrekingen als de onderhoudsbewerking wordt uitgevoerd tijdens de piekuren. Met de ondersteuning voor MaintenanceControl in beheerde Service Fabric-clusters kunnen klanten volgens hun behoeften een terugkerend (dagelijks, wekelijks, maandelijks) en aangepast onderhoudsvenster definiëren voor hun SFMC-clusterresource. Alle onderhoudsbewerkingen op de achtergrond mogen alleen worden uitgevoerd tijdens dit onderhoudsvenster. MaintenanceControl is van toepassing op deze achtergrondbewerkingen:

  • Automatische upgrade van het besturingssysteem
  • Automatische extensie-upgrade
  • Updates van automatische SF-runtimeversie
  • Automatische update van clustercertificaat

Notitie

Deze functie is momenteel beschikbaar als preview-versie en mag niet worden gebruikt in productie-implementaties

Vereisten:

  • De configuratie van het onderhoudsvenster moet alleen worden gedefinieerd voor de beheerde Service Fabric-clusterresource
  • De minimaal ondersteunde venstergrootte is 5 uur

Hoe werkt MaintenanceControl voor SFMC?

  • Klanten moeten een onderhoudsconfiguratie definiëren die het schema en de regel voor terugkeerpatroon voor het onderhoudsvenster bevat door een onderhoudsconfiguratieresource te maken met de onderhouds-RP. Meer informatie
  • Met deze onderhoudsconfiguratie wordt een toewijzingsresource gemaakt om de onderhoudsconfiguratie toe te wijzen aan de SFMC-clusterresource.
  • bij het maken van de toewijzingsresource geeft de onderhouds-RP de ServiceFabric RP een bericht over het koppelings- en onderhoudsbeheer dat vervolgens wordt ingeschakeld op het SFMC-cluster. Alle onderhoudsbewerkingen op de achtergrond worden buiten het onderhoudsvenster geblokkeerd.
  • Wanneer het onderhoudsvenster wordt geactiveerd volgens het schema in de onderhoudsconfiguratie, meldt de onderhouds-RP de ServiceFabric RP die het onderhoudsvenster activeert op het bijbehorende SFMC-cluster. Alle achtergrondbewerkingen kunnen tijdens dit venster worden uitgevoerd.

Voorbeeldimplementatie

Hier volgt een stapsgewijze procedure voor het instellen van een cluster met onderhoudsbeheer. Download dit voorbeeld, dat alle vereiste resources bevat. Voorbeeld van beheerde SKU Service Fabric-clusters

  1. Resourcegroep maken in een regio:

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

    Voer deze opdracht uit om de clusterresource te implementeren:

    $parameters = @{
    clusterName = $clusterName
    adminPassword = $VmAdminPassword
    clientCertificateThumbprint = $clientCertificateThumbprint
    }
    New-AzResourceGroupDeployment -Name "deploy_cluster" -ResourceGroupName $resourceGroupName -TemplateFile .\azuredeploy.json -TemplateParameterObject $parameters -Verbose
    
  3. Configureer onderhoudsbeheer op het cluster met behulp van de volgende onderhoudsconfiguratie:

Deze onderhoudsconfiguratie definieert een planning voor updates die elke dag worden uitgevoerd van 10:00 uur PST voor 5 uur, vanaf 30-05-2023. Meer informatie over onderhoudsconfiguratie

    "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"
                }
            }
        }

Notitie

Zoals beschreven in de configuratie, moet de onderhoudsconfiguratie voor de SFMC-clusterresource maintenanceScope hebben: 'Resource' en maintenanceSubScope: 'SFMC'.

Nadat de onderhoudsconfiguratie is gemaakt, moet deze worden gekoppeld aan het SFMC-cluster met behulp van de toewijzingsresource. Meer informatie over toewijzing:

    "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>"
        }

Notitie

  • Als u het onderhoudsbeheer op het cluster wilt uitschakelen, verwijdert u de toewijzing voor het cluster.
  • De onderhoudsresources en de SFMC-clusterresource moeten in dezelfde regio worden gemaakt.

Notitie

Bekende problemen:

  • Er moet ten minste één onderhoudsconfiguratieresource zijn toegewezen aan een beheerd Service Fabric-cluster. Er wordt gewerkt om de toewijzing van meer dan één onderhoudsconfiguratie te voorkomen. Tot die tijd zullen gebruikers naar verwachting niet meerdere configuratietoewijzingen uitvoeren voor hetzelfde cluster.
  • Als u alleen de onderhoudsconfiguratieresource verwijdert, wordt MaintenanceControl niet uitgeschakeld. Als u MaintenanceControl wilt uitschakelen, moet u eerst de configAssignment voor het cluster verwijderen voordat u de onderhoudsconfiguratieresource verwijdert.
  • Het werk voor Azure Portal voor onderhoudsbeheer met SFMC wordt momenteel uitgevoerd, dus klanten mogen niet alleen op de portal vertrouwen. Problemen met onderhoudsresources zoals SFMC-cluster die worden weergegeven als een virtuele-machineresource en geen SFMC-cluster kunnen zoeken/toewijzen vanuit de portal, zijn bekend.