Applicare patch al sistema operativo Windows nel cluster di Service FabricPatch the Windows operating system in your Service Fabric cluster

Patch Orchestration Application è un'applicazione Azure Service Fabric che automatizza l'applicazione di patch nei sistemi operativi in un cluster di Service Fabric senza tempi di inattività.The patch orchestration application is an Azure Service Fabric application that automates operating system patching on a Service Fabric cluster without downtime.

Patch Orchestration Application offre quanto segue:The patch orchestration app provides the following:

  • Installazione automatica dell'aggiornamento del sistema operativo.Automatic operating system update installation. Gli aggiornamenti del sistema operativo vengono scaricati e installati automaticamente.Operating system updates are automatically downloaded and installed. I nodi del cluster vengono riavviati in base alle esigenze senza tempi di inattività del cluster.Cluster nodes are rebooted as needed without cluster downtime.

  • Integrazione dell'integrità e l'applicazione di patch compatibile con il cluster.Cluster-aware patching and health integration. Durante l'applicazione degli aggiornamenti, Patch Orchestration Application esegue il monitoraggio dell'integrità dei nodi del cluster.While applying updates, the patch orchestration app monitors the health of the cluster nodes. I nodi del cluster sono aggiornati un nodo alla volta o un dominio di aggiornamento alla volta.Cluster nodes are upgraded one node at a time or one upgrade domain at a time. Se l'integrità del cluster si arresta a causa del processo di applicazione di patch, l'applicazione di patch viene interrotta per impedire l'aggravarsi del problema.If the health of the cluster goes down due to the patching process, patching is stopped to prevent aggravating the problem.

Dettagli interni dell'appInternal details of the app

Patch Orchestration Application è costituita dai sottocomponenti seguenti:The patch orchestration app is composed of the following subcomponents:

  • Coordinator Service: il servizio con stato è responsabile per:Coordinator Service: This stateful service is responsible for:
    • Il coordinamento del processo di Windows Update nell'intero cluster.Coordinating the Windows Update job on the entire cluster.
    • L'archiviazione del risultato delle operazioni completate di Windows Update.Storing the result of completed Windows Update operations.
  • Node Agent Service: è un servizio senza stato che viene eseguito in tutti i nodi di cluster di Service Fabric.Node Agent Service: This stateless service runs on all Service Fabric cluster nodes. Il servizio è responsabile per:The service is responsible for:
    • Il bootstrap del Node Agent NTService.Bootstrapping the Node Agent NTService.
    • Il monitoraggio di Node Agent NTServiceMonitoring the Node Agent NTService.
  • Node agent NTService: questo servizio di Windows NT viene eseguito con un privilegio di livello superiore (SYSTEM).Node Agent NTService: This Windows NT service runs at a higher-level privilege (SYSTEM). Il Node Agent Service e il Coordinator Service vengono invece eseguiti con un privilegio di livello inferiore (NETWORK SERVICE).In contrast, the Node Agent Service and the Coordinator Service run at a lower-level privilege (NETWORK SERVICE). Il servizio è responsabile dell'esecuzione dei seguenti processi di Windows Update in tutti i nodi del cluster:The service is responsible for performing the following Windows Update jobs on all the cluster nodes:
    • Disabilitazione della connessione automatica a Windows Update nel nodo.Disabling automatic Windows Update on the node.
    • Download e installazione di Windows Update in base al criterio fornito dall'utente.Downloading and installing Windows Update according to the policy the user has provided.
    • Riavvio della macchina dopo l'installazione di Windows Update.Restarting the machine post Windows Update installation.
    • Caricamento dei risultati di Windows Update nel Coordinator Service.Uploading the results of Windows updates to the Coordinator Service.
    • Generazione di report sull'integrità in caso di un'operazione non riuscita dopo l'esaurimento di tutti i tentativi.Reporting health reports in case an operation has failed after exhausting all retries.

Nota

Patch Orchestration App usa il sistema di servizio di gestione della riparazione di Service Fabric per disabilitare o abilitare il nodo ed eseguire i controlli di integrità.The patch orchestration app uses the Service Fabric repair manager system service to disable or enable the node and perform health checks. L'attività di riparazione creata da Patch Orchestration App tiene traccia dell'avanzamento di Windows Update per ogni nodo.The repair task created by the patch orchestration app tracks the Windows Update progress for each node.

PrerequisitiPrerequisites

Abilitare il servizio di gestione della riparazione (se non è già in esecuzione)Enable the repair manager service (if it's not running already)

Patch Orchestration App richiede che il servizio del sistema di gestione della riparazione sia abilitato nel cluster.The patch orchestration app requires the repair manager system service to be enabled on the cluster.

Cluster di AzureAzure clusters

I cluster di Azure al livello di durabilità silver hanno il servizio di gestione della riparazione abilitato per impostazione predefinita.Azure clusters in the silver durability tier have the repair manager service enabled by default. I cluster di Azure al livello di durabilità gold potrebbero avere o non avere il servizio di gestione della riparazione abilitato, a seconda relativa data di creazione.Azure clusters in the gold durability tier might or might not have the repair manager service enabled, depending on when those clusters were created. I cluster di Azure al livello di durabilità bronze, per impostazione predefinita, non hanno il servizio di gestione della riparazione abilitato.Azure clusters in the bronze durability tier, by default, do not have the repair manager service enabled. Se il servizio è già abilitato, è possibile vederlo in esecuzione nella sezione relativa ai servizi del sistema in Service Fabric Explorer.If the service is already enabled, you can see it running in the system services section in the Service Fabric Explorer.

Portale di AzureAzure portal

È possibile abilitare il servizio di gestione della riparazione dal portale di Azure al momento della configurazione del cluster.You can enable repair manager from Azure portal at the time of setting up of cluster. Selezionare l'opzione Includi funzionalità di gestione ripristini in Aggiungi funzionalità durante la configurazione del cluster.Select Include Repair Manager option under Add on features at the time of cluster configuration. Immagine dell'attivazione del servizio di gestione della riparazione dal portale di AzureImage of Enabling Repair Manager from Azure portal

Modello di Azure Resource ManagerAzure Resource Manager template

In alternativa, è possibile usare il modello di Azure Resource Manager per abilitare il servizio di gestione della riparazione nei cluster nuovi ed esistenti di Service Fabric.Alternatively you can use the Azure Resource Manager template to enable the repair manager service on new and existing Service Fabric clusters. Ottenere il modello per il cluster che si vuole distribuire.Get the template for the cluster that you want to deploy. È possibile usare i modelli di esempio o creare un modello di Resource Manager.You can either use the sample templates or create a custom Resource Manager template.

Per abilitare il servizio di gestione della riparazione tramite il modello di Azure Resource Manager:To enable the repair manager service using Azure Resource Manager template:

  1. Verificare prima che il apiversion sia impostato su 2017-07-01-preview per la risorsa Microsoft.ServiceFabric/clusters come illustrato nel frammento riportato di seguito.First check that the apiversion is set to 2017-07-01-preview for the Microsoft.ServiceFabric/clusters resource, as shown in the following snippet. Se il valore è diverso, è necessario aggiornare apiVersion a 2017-07-01-preview:If it is different, then you need to update the apiVersion to the value 2017-07-01-preview:

    {
        "apiVersion": "2017-07-01-preview",
        "type": "Microsoft.ServiceFabric/clusters",
        "name": "[parameters('clusterName')]",
        "location": "[parameters('clusterLocation')]",
        ...
    }
    
  2. A questo punto, abilitare il servizio di gestione della riparazione aggiungendo la sezione seguente addonFeatures dopo la sezione fabricSettings:Now enable the repair manager service by adding the following addonFeatures section after the fabricSettings section:

    "fabricSettings": [
        ...      
    ],
    "addonFeatures": [
        "RepairManager"
    ],
    
  3. Dopo aver aggiornato il modello del cluster con queste modifiche, applicarle e consentire la conclusione dell'aggiornamento.After you have updated your cluster template with these changes, apply them and let the upgrade finish. È ora possibile vedere il servizio del sistema di gestione della riparazione in esecuzione nel cluster.You can now see the repair manager system service running in your cluster. Viene chiamato fabric:/System/RepairManagerService nella sezione relativa ai servizi del sistema in Service Fabric Explorer.It is called fabric:/System/RepairManagerService in the system services section in the Service Fabric Explorer.

Cluster locali autonomiStandalone on-premises clusters

È possibile usare le Impostazioni di configurazione per un cluster autonomo in Windows per abilitare il servizio di gestione della riparazione nei cluster di Service Fabric nuovi ed esistenti.You can use the Configuration settings for standalone Windows cluster to enable the repair manager service on new and existing Service Fabric cluster.

Per abilitare il servizio di gestione della riparazione:To enable the repair manager service:

  1. In primo luogo, verificare che apiversion in Configurazioni generali del cluster sia impostato su 04-2017 o versione successiva:First check that the apiversion in General cluster configurations is set to 04-2017 or higher:

    {
        "name": "SampleCluster",
        "clusterConfigurationVersion": "1.0.0",
        "apiVersion": "04-2017",
        ...
    }
    
  2. A questo punto abilitare il servizio di gestione della riparazione aggiungendo la sezione seguente addonFeatures dopo la sezione fabricSettings, come illustrato di seguito:Now enable repair manager service by adding the following addonFeatures section after the fabricSettings section as shown below:

    "fabricSettings": [
        ...      
    ],
    "addonFeatures": [
        "RepairManager"
    ],
    
  3. Aggiornare il manifesto del cluster con queste modifiche usando il manifesto del cluster aggiornato Creare un cluster autonomo in esecuzione su Windows Server o Aggiornare il cluster autonomo di Azure Service Fabric in Windows Server.Update your cluster manifest with these changes, using the updated cluster manifest create a new cluster or upgrade the cluster configuration. Quando il cluster è in esecuzione con il manifesto del cluster aggiornato, è possibile vedere il servizio del sistema di gestione della riparazione in esecuzione nel cluster, denominato fabric:/System/RepairManagerService, nella sezione relativa ai servizi del sistema in Service Fabric Explorer.Once the cluster is running with updated cluster manifest, you can now see the repair manager system service running in your cluster, which is called fabric:/System/RepairManagerService, under system services section in the Service Fabric explorer.

Disabilitare la connessione automatica a Windows Update su tutti i nodiDisable automatic Windows Update on all nodes

Gli aggiornamenti automatici di Windows potrebbero causare la perdita di disponibilità perché più nodi del cluster possono riavviarsi nello stesso momento.Automatic Windows updates might lead to availability loss because multiple cluster nodes can restart at the same time. Patch Orchestration App, per impostazione predefinita, tenta di disabilitare la connessione automatica a Windows Update su ogni nodo del cluster.The patch orchestration app, by default, tries to disable the automatic Windows Update on each cluster node. Tuttavia, nel caso in cui le impostazioni vengano gestite da un amministratore o dai criteri di gruppo, è consigliabile impostare i criteri di Windows Update sulla notifica prima del download in modo esplicito.However, if the settings are managed by an administrator or group policy, we recommend setting the Windows Update policy to “Notify before Download” explicitly.

Scaricare il pacchetto dell'appDownload the app package

Scaricare l'applicazione dal collegamento di download.Download the application from the download link.

Configurare l'appConfigure the app

Il comportamento di Patch Orchestration App può essere configurato per soddisfare le esigenze.The behavior of the patch orchestration app can be configured to meet your needs. Eseguire l'override dei valori predefiniti passando il parametro dell'applicazione durante la creazione o l'aggiornamento dell'applicazione.Override the default values by passing in the application parameter during application creation or update. È possibile fornire i parametri dell'applicazione specificando ApplicationParameter ai cmdlet Start-ServiceFabricApplicationUpgrade o New-ServiceFabricApplication.Application parameters can be provided by specifying ApplicationParameter to the Start-ServiceFabricApplicationUpgrade or New-ServiceFabricApplication cmdlets.

ParametroParameter TipoType DettagliDetails
MaxResultsToCacheMaxResultsToCache longLong Numero massimo di risultati di Windows Update memorizzabili nella cache.Maximum number of Windows Update results, which should be cached.
Il valore predefinito è 3000 presumendo che il:Default value is 3000 assuming the:
- Numero di nodi sia 20.- Number of nodes is 20.
- Numero di aggiornamenti eseguiti su un nodo per ogni mese sia pari a cinque.- Number of updates happening on a node per month is five.
- Numero di risultati per ogni operazione sia pari a 10.- Number of results per operation can be 10.
- I risultati per gli ultimi tre mesi debbano essere archiviati.- Results for the past three months should be stored.
TaskApprovalPolicyTaskApprovalPolicy EnumEnum
{NodeWise, UpgradeDomainWise}{ NodeWise, UpgradeDomainWise }
TaskApprovalPolicy indica i criteri che devono essere usati dal Coordinator Service per installare gli aggiornamenti di Windows Update nei nodi del cluster di Service Fabric.TaskApprovalPolicy indicates the policy that is to be used by the Coordinator Service to install Windows updates across the Service Fabric cluster nodes.
I valori consentiti sono i seguenti:Allowed values are:
NodeWise.NodeWise. Windows Update viene installato un nodo alla volta.Windows Update is installed one node at a time.
UpgradeDomainWise.UpgradeDomainWise. Windows Update viene installato un dominio di aggiornamento alla voltaWindows Update is installed one upgrade domain at a time. (al massimo, tutti i nodi appartenenti a un dominio di aggiornamento possono passare per Windows Update).(At the maximum, all the nodes belonging to an upgrade domain can go for Windows Update.)
LogsDiskQuotaInMBLogsDiskQuotaInMB longLong
Predefinito: 1024(Default: 1024)
Dimensione massima in MB dei log di Patch Orchestration App che è possibile salvare in modo permanente e locale sui nodi.Maximum size of patch orchestration app logs in MB, which can be persisted locally on nodes.
WUQueryWUQuery stringstring
Impostazione predefinita: "IsInstalled = 0"(Default: "IsInstalled=0")
Eseguire una query per ottenere gli aggiornamenti di Windows.Query to get Windows updates. Per altre informazioni, vedere WuQuery.For more information, see WuQuery.
InstallWindowsOSOnlyUpdatesInstallWindowsOSOnlyUpdates BooleanoBool
Predefinito: True(default: True)
Questo flag consente l'installazione degli aggiornamenti del sistema operativo Windows.This flag allows Windows operating system updates to be installed.
WUOperationTimeOutInMinutesWUOperationTimeOutInMinutes intInt
Predefinito: 90(Default: 90)
Specifica il timeout per qualsiasi operazione di Windows Update (ricerca, download o installazione).Specifies the timeout for any Windows Update operation (search or download or install). L'operazione viene interrotta se non viene completata entro il timeout specificato.If the operation is not completed within the specified timeout, it is aborted.
WURescheduleCountWURescheduleCount intInt
Predefinito: 5(Default: 5)
Il numero massimo di volte in cui il servizio ripianifica l'aggiornamento di Windows quando un'operazione continua ad avere esito negativo.The maximum number of times the service reschedules the Windows update in case an operation fails persistently.
WURescheduleTimeInMinutesWURescheduleTimeInMinutes intInt
Predefinito: 30(Default: 30)
L'intervallo con cui il servizio ripianifica l'aggiornamento di Windows se il problema persiste.The interval at which the service reschedules the Windows update in case failure persists.
WUFrequencyWUFrequency Stringa separata da virgole Predefinito: "Weekly, Wednesday, 7:00:00"Comma-separated string (Default: "Weekly, Wednesday, 7:00:00") La frequenza di installazione di Windows Update.The frequency for installing Windows Update. Il formato e i valori possibili sono:The format and possible values are:
- Monthly, DD,HH:MM:SS, ad esempio, Monthly, 5,12:22:32.- Monthly, DD,HH:MM:SS, for example, Monthly, 5,12:22:32.
- Weekly, DAY,HH:MM:SS, ad esempio, Weekly, Tuesday, 12:22:32.- Weekly, DAY,HH:MM:SS, for example, Weekly, Tuesday, 12:22:32.
- Daily, HH:MM:SS, ad esempio, Daily, 12:22:32.- Daily, HH:MM:SS, for example, Daily, 12:22:32.
- None: indica che non deve essere eseguito Windows Update.- None indicates that Windows Update shouldn't be done.

SI noti che tutti gli orari sono in formato UTC.Note that all the times are in UTC.
AcceptWindowsUpdateEulaAcceptWindowsUpdateEula BooleanoBool
Predefinito: True(Default: true)
Impostando questo flag, l'applicazione accetta il contratto di licenza dell'utente finale per Windows Update per conto del proprietario della macchina.By setting this flag, the application accepts the End-User License Agreement for Windows Update on behalf of the owner of the machine.

Suggerimento

Se si desidera che Windows Update venga eseguito immediatamente, impostare WUFrequency in relazione al tempo di distribuzione dell'applicazione.If you want Windows Update to happen immediately, set WUFrequency relative to the application deployment time. Ad esempio, si supponga di disporre di un cluster di test a cinque nodi e si prevede di distribuire l'app all'incirca alle 17:00:00 UTC.For example, suppose that you have a five-node test cluster and plan to deploy the app at around 5:00 PM UTC. Se si presuppone che l'aggiornamento o la distribuzione dell'applicazione richiedano un massimo di 30 minuti, impostare il WUFrequency su "Daily, 17:30:00".If you assume that the application upgrade or deployment takes 30 minutes at the maximum, set the WUFrequency as "Daily, 17:30:00."

Distribuire l'appDeploy the app

  1. Completare tutti i passaggi preliminari per preparare il cluster.Finish all the prerequisite steps to prepare the cluster.
  2. Distribuire Patch Orchestration App come qualsiasi altra app di Service Fabric.Deploy the patch orchestration app like any other Service Fabric app. È possibile distribuire l'app tramite PowerShell.You can deploy the app by using PowerShell. Seguire la procedura in Distribuire e rimuovere applicazioni con PowerShell.Follow the steps in Deploy and remove applications using PowerShell.
  3. Per configurare l'applicazione al momento della distribuzione, passare ApplicationParamater al cmdlet New-ServiceFabricApplication.To configure the application at the time of deployment, pass the ApplicationParamater to the New-ServiceFabricApplication cmdlet. Per praticità, è stato fornito lo script Deploy.ps1 insieme all'applicazione.For your convenience, we’ve provided the script Deploy.ps1 along with the application. Per usare lo script:To use the script:

    • Connettersi a un cluster di Service Fabric tramite Connect-ServiceFabricCluster.Connect to a Service Fabric cluster by using Connect-ServiceFabricCluster.
    • Eseguire lo script Deploy.ps1 di PowerShell con il valore ApplicationParameter appropriato.Execute the PowerShell script Deploy.ps1 with the appropriate ApplicationParameter value.

Nota

Mantenere lo script e la cartella dell'applicazione PatchOrchestrationApplication nella stessa directory.Keep the script and the application folder PatchOrchestrationApplication in the same directory.

Aggiornare l'appUpgrade the app

Per aggiornare una Patch Orchestration App esistente tramite PowerShell, seguire la procedura in Aggiornamento di un'applicazione di Service Fabric mediante PowerShell.To upgrade an existing patch orchestration app by using PowerShell, follow the steps in Service Fabric application upgrade using PowerShell.

Rimuovere l'appRemove the app

Per rimuovere l'applicazione, seguire la procedura in Distribuire e rimuovere applicazioni con PowerShell.To remove the application, follow the steps in Deploy and remove applications using PowerShell.

Per praticità, è stato fornito lo script Undeploy.ps1 insieme all'applicazione.For your convenience, we've provided the script Undeploy.ps1 along with the application. Per usare lo script:To use the script:

  • Connettersi a un cluster di Service Fabric tramite Connect-ServiceFabricCluster.Connect to a Service Fabric cluster by using Connect-ServiceFabricCluster.

  • Eseguire lo script Undeploy.ps1 di PowerShell.Execute the PowerShell script Undeploy.ps1.

Nota

Mantenere lo script e la cartella dell'applicazione PatchOrchestrationApplication nella stessa directory.Keep the script and the application folder PatchOrchestrationApplication in the same directory.

Visualizzare i risultati di Windows UpdateView the Windows Update results

Patch Orchestration Application espone l'API REST per visualizzare i risultati cronologici all'utente.The patch orchestration app exposes REST APIs to display the historical results to the user. Un esempio del file JSON dei risultati:An example of the result JSON:

[
  {
    "NodeName": "_stg1vm_1",
    "WindowsUpdateOperationResults": [
      {
        "OperationResult": 0,
        "NodeName": "_stg1vm_1",
        "OperationTime": "2017-05-21T11:46:52.1953713Z",
        "UpdateDetails": [
          {
            "UpdateId": "7392acaf-6a85-427c-8a8d-058c25beb0d6",
            "Title": "Cumulative Security Update for Internet Explorer 11 for Windows Server 2012 R2 (KB3185319)",
            "Description": "A security issue has been identified in a Microsoft software product that could affect your system. You can help protect your system by installing this update from Microsoft. For a complete listing of the issues that are included in this update, see the associated Microsoft Knowledge Base article. After you install this update, you may have to restart your system.",
            "ResultCode": 0
          }
        ],
        "OperationType": 1,
        "WindowsUpdateQuery": "IsInstalled=0",
        "WindowsUpdateFrequency": "Daily,10:00:00",
        "RebootRequired": false
      }
    ]
  },
  ...
]

I campi del formato JSON sono descritti di seguito.Fields of the JSON are described below.

CampoField ValoriValues DettagliDetails
OperationResultOperationResult 0 - Completata0 - Succeeded
1 - Completata con errori1 - Succeeded With Errors
2 - Non riuscita2 - Failed
3 - Interrotta3 - Aborted
4 - Interrotta con timeout4 - Aborted With Timeout
Indica il risultato dell'operazione globale, che in genere implica l'installazione di uno o più aggiornamenti.Indicates the result of overall operation (typically involving installation of one or more updates).
ResultCodeResultCode Stesso di OperationResultSame as OperationResult Questo campo indica il risultato dell'operazione di installazione di un singolo aggiornamento.This field indicates result of installation operation for an individual update.
OperationTypeOperationType 1 - Installazione1 - Installation
0 - Ricerca e download.0 - Search and Download.
Installation è l'unico OperationType visualizzato nei risultati per impostazione predefinita.Installation is the only OperationType which would be shown in the results by default.
WindowsUpdateQueryWindowsUpdateQuery Impostazione predefinita: "IsInstalled = 0"Default is "IsInstalled=0" Query di aggiornamento di Windows usata per ricercare gli aggiornamenti.Windows update query which was used to search for updates. Per altre informazioni, vedere WuQuery.For more information, see WuQuery.
RebootRequiredRebootRequired true: il riavvio è necessariotrue - reboot was required
false: il riavvio non è necessariofalse - reboot was not required
Indica se è necessario riavviare per completare l'installazione degli aggiornamenti.Indicates if reboot was required to complete installation of updates.

Se non è stato ancora pianificato alcun aggiornamento, il file JSON dei risultati è vuoto.If no update is scheduled yet, the result JSON is empty.

Accedere al cluster per eseguire la query sui risultati di Windows Update.Log in to the cluster to query Windows Update results. Trovare quindi l'indirizzo della replica per il primario del Coordinator Service e raggiungere l'URL dal browser: http://<REPLICA-IP>:<ApplicationPort>/PatchOrchestrationApplication/v1/GetWindowsUpdateResults.Then find out the replica address for the primary of the Coordinator Service, and hit the URL from the browser: http://<REPLICA-IP>:<ApplicationPort>/PatchOrchestrationApplication/v1/GetWindowsUpdateResults.

L'endpoint REST per Coordinator Service dispone di una porta dinamica.The REST endpoint for the Coordinator Service has a dynamic port. Per controllare l'URL esatto, fare riferimento a Service Fabric Explorer.To check the exact URL, refer to the Service Fabric Explorer. Ad esempio, i risultati sono disponibili in http://10.0.0.7:20000/PatchOrchestrationApplication/v1/GetWindowsUpdateResults.For example, the results are available at http://10.0.0.7:20000/PatchOrchestrationApplication/v1/GetWindowsUpdateResults.

Immagine dell'endpoint REST

Nel caso in cui il proxy inverso sia abilitato nel cluster, l'utente può accedere all'URL anche dall'esterno del cluster.If the reverse proxy is enabled on the cluster, you can access the URL from outside of the cluster as well. L'endpoint da scegliere è: http://<SERVERURL>:<REVERSEPROXYPORT>/PatchOrchestrationApplication/CoordinatorService/v1/GetWindowsUpdateResults.The endpoint that needs to be hit is http://<SERVERURL>:<REVERSEPROXYPORT>/PatchOrchestrationApplication/CoordinatorService/v1/GetWindowsUpdateResults.

Per abilitare il proxy inverso nel cluster, seguire la procedura in Proxy inverso in Azure Service Fabric.To enable the reverse proxy on the cluster, follow the steps in Reverse proxy in Azure Service Fabric.

Avviso

Dopo aver configurato il proxy inverso, tutti i microservizi nel cluster che espongono un endpoint HTTP sono indirizzabili dall'esterno del cluster.After the reverse proxy is configured, all micro services in the cluster that expose an HTTP endpoint are addressable from outside the cluster.

Eventi di diagnostica/integritàDiagnostics/health events

Log di diagnosticaDiagnostic logs

Vengono raccolti i log dell'app di orchestrazione delle patch come parte dei log di runtime di Service Fabric.Patch orchestration app logs are collected as part of Service Fabric runtime logs.

Nel caso in cui si vogliano acquisire i log tramite lo strumento o la pipeline di diagnostica preferita.In case you want to capture logs via diagnostic tool/pipeline of your choice. L'applicazione di orchestrazione delle patch usa gli ID provider corretti riportati di seguito per registrare gli eventi tramite eventsourcePatch orchestration application uses below fixed provider ID's to log events via eventsource

  • e39b723c-590c-4090-abb0-11e3e6616346e39b723c-590c-4090-abb0-11e3e6616346
  • fc0028ff-bfdc-499f-80dc-ed922c52c5e9fc0028ff-bfdc-499f-80dc-ed922c52c5e9
  • 24afa313-0d3b-4c7c-b485-1047fd964b6024afa313-0d3b-4c7c-b485-1047fd964b60
  • 05dc046c-60e9-4ef7-965e-91660adffa6805dc046c-60e9-4ef7-965e-91660adffa68

Report sull'integritàHealth reports

Patch Orchestration App pubblica anche i report sull'integrità per il Coordinator Service o il Node Agent Service nei casi seguenti:The patch orchestration app also publishes health reports against the Coordinator Service or the Node Agent Service in the following cases:

Un'operazione di Windows Update ha avuto esito negativoA Windows Update operation failed

Se un'operazione di Windows Update ha esito negativo in un nodo, viene generato un report sull'integrità del Node Agent Service.If a Windows Update operation fails on a node, a health report is generated against the Node Agent Service. I dettagli del report sull'integrità contengono il nome del nodo problematico.Details of the health report contain the problematic node name.

Il report viene cancellato automaticamente dopo che viene completata correttamente l'applicazione delle patch nel nodo problematico.After patching is successfully completed on the problematic node, the report is automatically cleared.

Il Node Agent NTService è inattivoThe Node Agent NTService is down

Se il Node Agent NTService è inattivo in un nodo, viene generato un report sull'integrità dei livelli di avviso per il Node Agent Service.If the Node Agent NTService is down on a node, a warning-level health report is generated against the Node Agent Service.

Il servizio di gestione della riparazione non è abilitatoThe repair manager service is not enabled

Se il servizio di gestione della riparazione non viene individuato nel cluster, viene generato un report sull'integrità dei livelli di avviso per il Coordinator Service.If the repair manager service is not found on the cluster, a warning-level health report is generated for the Coordinator Service.

Domande frequentiFrequently asked questions

D:Q. Perché il cluster è in uno stato di errore quando Patch Orchestration App è in esecuzione?Why do I see my cluster in an error state when the patch orchestration app is running?

R.A. Durante il processo di installazione, Patch Orchestration App disabilita o riavvia i nodi, il che può comportare temporaneamente la violazione dell'integrità del cluster.During the installation process, the patch orchestration app disables or restarts nodes, which can temporarily result in the health of the cluster going down.

A seconda dei criteri impostati per l'applicazione, durante un'operazione di applicazione di patch è possibile che diventi non disponibile un singolo nodo oppure un intero dominio di aggiornamento simultaneamente.Based on the policy for the application, either one node can go down during a patching operation or an entire upgrade domain can go down simultaneously.

Al termine dell'installazione di Windows Update, i nodi vengono abilitati di nuovo dopo il riavvio.By the end of the Windows Update installation, the nodes are reenabled post restart.

Nell'esempio seguente, il cluster è passato temporaneamente a uno stato di errore perché i due nodi sono stati resi inattivi e il criterio MaxPercentageUnhealthNodes è stato violato.In the following example, the cluster went to an error state temporarily because two nodes were down and the MaxPercentageUnhealthNodes policy was violated. L'errore è temporaneo fino a quando l'operazione di aggiornamento è in corso.The error is temporary until the patching operation is ongoing.

Immagine del cluster non integro

Se il problema persiste, fare riferimento alla sezione relativa alla risoluzione dei problemi.If the issue persists, refer to the Troubleshooting section.

D:Q. Patch Orchestration App è in stato di avvisoPatch orchestration app is in warning state

R.A. Verificare se la causa principale è un report sull'integrità inviato all'applicazione.Check to see if a health report posted against the application is the root cause. L'avviso in genere contiene i dettagli del problema.Usually, the warning contains details of the problem. Se il problema è temporaneo, è previsto il ripristino automatico dell'applicazione da questo stato.If the issue is transient, the application is expected to auto-recover from this state.

D:Q. Che cosa è possibile fare se il cluster non è integro ed è necessario eseguire un aggiornamento del sistema operativo?What can I do if my cluster is unhealthy and I need to do an urgent operating system update?

R.A. Patch Orchestration App non installa gli aggiornamenti mentre il cluster non è in uno stato di integrità.The patch orchestration app does not install updates while the cluster is unhealthy. Provare a portare il cluster in uno stato di integrità per sbloccare il flusso di lavoro di Patch Orchestration App.Try to bring your cluster to a healthy state to unblock the patch orchestration app workflow.

D:Q. Perché l'applicazione di patch nei cluster richiede molto tempo?Why does patching across clusters take so long to run?

R.A. Il tempo impiegato da Patch Orchestration App dipende principalmente dai seguenti fattori:The time needed by the patch orchestration app is mostly dependent on the following factors:

  • I criteri del Coordinator Service.The policy of the Coordinator Service.
    • I criteri predefiniti, NodeWise, comportano l'applicazione di patch solo un nodo alla volta.The default policy, NodeWise, results in patching only one node at a time. In particolare nel caso di cluster più grandi, è consigliabile usare i criteri UpgradeDomainWise per ottenere un'applicazione più rapida delle patch nei cluster.Especially in the case of bigger clusters, we recommend that you use the UpgradeDomainWise policy to achieve faster patching across clusters.
  • Il numero di aggiornamenti disponibili per il download e l'installazione.The number of updates available for download and installation.
  • Il tempo medio necessario per scaricare e installare un aggiornamento, che non deve superare un paio d'ore.The average time needed to download and install an update, which should not exceed a couple of hours.
  • Le prestazioni della VM e la larghezza di banda della rete.The performance of the VM and network bandwidth.

D:Q. Qual è il motivo per cui vengono visualizzati alcuni aggiornamenti nei risultati di Windows Update ottenuti tramite l'API REST, ma non nella cronologia di Windows Update sul computer?Why do I see some updates in Windows Update results obtained via REST API's, but not under the Windows Update history on the machine?

R.A. Alcuni aggiornamenti del prodotto devono essere archiviati nella rispettiva cronologia patch/di aggiornamento.Some product updates need to be checked in their respective update/patch history. Ad esempio: gli aggiornamenti di Windows Defender non vengono visualizzati nella cronologia di Windows Update in Windows Server 2016.For example, Windows Defender updates do not show up in Windows Update history on Windows Server 2016.

Dichiarazioni di non responsabilitàDisclaimers

  • Patch Orchestration App accetta il contratto licenza di Windows Update per conto dell'utente.The patch orchestration app accepts the End-User License Agreement of Windows Update on behalf of the user. Facoltativamente, l'impostazione può essere disattivata nella configurazione dell'applicazione.Optionally, the setting can be turned off in the configuration of the application.

  • Patch Orchestration App raccoglie i dati di telemetria per tenere traccia dell'uso e delle prestazioni.The patch orchestration app collects telemetry to track usage and performance. I dati di telemetria dell'applicazione seguono l'impostazione dei dati di telemetria del runtime di Service Fabric (attiva per impostazione predefinita).The application’s telemetry follows the setting of the Service Fabric runtime’s telemetry setting (which is on by default).

Risoluzione dei problemiTroubleshooting

Un nodo non torna allo stato attivoA node is not coming back to up state

Il nodo potrebbe essere bloccato in uno stato di disattivazione perché:The node might be stuck in a disabling state because:

Un controllo di sicurezza è in sospeso.A safety check is pending. Per risolvere questo problema, assicurarsi che siano disponibili sufficienti nodi in uno stato di integrità.To remedy this situation, ensure that enough nodes are available in a healthy state.

Il nodo potrebbe essere bloccato in uno stato di disattivazione perché:The node might be stuck in a disabled state because:

  • Il nodo è stato disabilitato manualmente.The node was disabled manually.
  • Il nodo è stato disabilitato a causa di un processo dell'infrastruttura di Azure in corso.The node was disabled due to an ongoing Azure infrastructure job.
  • Il nodo è stato disabilitato temporaneamente da Patch Orchestration App per applicare le patch al nodo.The node was disabled temporarily by the patch orchestration app to patch the node.

Il nodo potrebbe essere bloccato in uno stato inattivo perché:The node might be stuck in a down state because:

  • Il nodo è stato impostato su uno stato inattivo manualmente.The node was put in a down state manually.
  • Il nodo è in fase di riavvio (che è possibile che venga avviato da Patch Orchestration App).The node is undergoing a restart (which might be triggered by the patch orchestration app).
  • Il nodo è inattivo a causa di problemi relativi a una rete o macchina o macchina virtuale difettosa.The node is down due to a faulty VM or machine or network connectivity issues.

Gli aggiornamenti sono stati ignorati in alcuni nodiUpdates were skipped on some nodes

Patch Orchestration App tenta di installare un aggiornamento di Windows in base ai criteri di ripianificazione.The patch orchestration app tries to install a Windows update according to the rescheduling policy. Il servizio tenta di recuperare il nodo e di ignorare l'aggiornamento in base ai criteri dell'applicazione.The service tries to recover the node and skip the update according to the application policy.

In questo caso, viene generato un report sull'integrità dei livelli di avviso per Node Agent Service.In such a case, a warning-level health report is generated against the Node Agent Service. Il risultato di Windows Update contiene anche la possibile causa dell'errore.The result for Windows Update also contains the possible reason for the failure.

L'integrità del cluster passa nello stato di errore durante l'installazione dell'aggiornamentoThe health of the cluster goes to error while the update installs

Un aggiornamento difettoso di Windows può compromettere l'integrità di un'applicazione o di un cluster in un nodo particolare o in un dominio di aggiornamento.A faulty Windows update can bring down the health of an application or cluster on a particular node or upgrade domain. Patch Orchestration App interrompe qualsiasi successiva operazione di aggiornamento di Windows fino a quando il cluster è di nuovo integro.The patch orchestration app discontinues any subsequent Windows Update operation until the cluster is healthy again.

Un amministratore deve intervenire e stabilire perché l'applicazione o il cluster è diventato non integro a causa di Windows Update.An administrator must intervene and determine why the application or cluster became unhealthy due to Windows Update.

Note sulla versioneRelease Notes

Versione 1.1.0Version 1.1.0

  • Versione pubblicaPublic release

Versione 1.1.1Version 1.1.1

  • Correzione di un bug in SetupEntryPoint di NodeAgentService che ha impedito l'installazione di NodeAgentNTService.Fixed a bug in SetupEntryPoint of NodeAgentService that prevented installation of NodeAgentNTService.

Versione 1.2.0 (versione più recente)Version 1.2.0 (Latest)

  • Correzioni di bug nel flusso di lavoro di riavvio del sistema.Bug fixes around system restart workflow.
  • Correzione di bug nella creazione di attività RM a causa delle quali il controllo dell'integrità durante la preparazione delle attività di ripristino non ha avuto luogo come previsto.Bug fix in creation of RM tasks due to which health check during preparing repair tasks wasn't happening as expected.
  • Modificata la modalità di avvio per il servizio di windows POANodeSvc da automatico ad automatico ritardato.Changed the startup mode for windows service POANodeSvc from auto to delayed-auto.