Gestire gli aggiornamenti dei cluster di Service Fabric
Un cluster di Azure Service Fabric è una risorsa di proprietà dell'utente, ma parzialmente gestita da Microsoft. Ecco come gestire quando e come Microsoft aggiorna il cluster di Azure Service Fabric.
Per altre informazioni sui concetti e sui processi di aggiornamento del cluster, vedere Aggiornamento dei cluster di Azure Service Fabric.
Impostare la modalità di aggiornamento
È possibile impostare il cluster in modo che riceva gli aggiornamenti automatici di Service Fabric non appena vengono rilasciati da Microsoft oppure scegliere manualmente una delle versioni attualmente supportate in un elenco impostando la modalità di aggiornamento per il cluster. A questo scopo, è possibile usare il controllo della modalità di aggiornamento di Fabric nel portale di Azure oppure l'impostazione upgradeMode
nel modello di distribuzione del cluster.
Azure portal
Usando il portale di Azure, è possibile scegliere tra aggiornamenti automatici o manuali durante la creazione di un nuovo cluster di Service Fabric.
È anche possibile alternare tra aggiornamenti automatici o manuali nella sezione di aggiornamenti di Fabric di una risorsa cluster esistente.
Aggiornamenti manuali con il portale di Azure
Se si seleziona l'opzione di aggiornamento manuale, per avviare un aggiornamento è sufficiente effettuare una selezione nell'elenco a discesa delle versioni disponibili e quindi fare clic su Salva. A quel punto, l'aggiornamento del cluster viene avviato immediatamente.
Durante l'aggiornamento vengono rispettati i criteri di integrità del cluster (una combinazione dell'integrità del nodo e dell'integrità di tutte le applicazioni in esecuzione nel cluster). Se i criteri di integrità del cluster non vengono soddisfatti, viene eseguito il rollback dell'aggiornamento.
Dopo aver risolto i problemi che hanno determinato il rollback, è necessario avviare di nuovo l'aggiornamento seguendo la stessa procedura precedente.
Modello di Resource Manager
Per cambiare la modalità di aggiornamento del cluster usando un modello di Resource Manager, specificare Automatic o Manual per la proprietà upgradeMode
della definizione di risorsa Microsoft.ServiceFabric/clusters. Se si scelgono gli aggiornamenti manuali, impostare anche clusterCodeVersion
su una versione di Fabric attualmente supportata.
Al termine della corretta distribuzione del modello, le modifiche alla modalità di aggiornamento del cluster diventeranno effettive. Se il cluster è in modalità manuale, il relativo aggiornamento verrà avviato automaticamente.
Durante l'aggiornamento vengono rispettati i criteri di integrità del cluster (una combinazione dell'integrità del nodo e dell'integrità di tutte le applicazioni in esecuzione nel cluster). Se i criteri di integrità del cluster non vengono soddisfatti, viene eseguito il rollback dell'aggiornamento.
Dopo aver risolto i problemi che hanno determinato il rollback, è necessario avviare di nuovo l'aggiornamento seguendo la stessa procedura precedente.
Distribuzione a onde per gli aggiornamenti automatici
Con la modalità di aggiornamento automatico, è possibile abilitare il cluster per la distribuzione a onde. Con questa distribuzione, è possibile creare una pipeline per aggiornare i cluster di test, staging e produzione in sequenza, con una 'fase di bake' predefinita per convalidare le versioni di Service Fabric in arrivo prima che vengano aggiornati i cluster di produzione.
Abilitare la distribuzione a onde
Nota
La distribuzione a onde richiede la versione 2020-12-01-preview
(o successiva) dell'API per la risorsa Microsoft.ServiceFabric/clusters.
Per abilitare la distribuzione a onde per l'aggiornamento automatico, determinare prima di tutto quale onda assegnare il cluster:
- Onda 0 (
Wave0
): i cluster vengono aggiornati non appena viene rilasciata una nuova build di Service Fabric. Opzione destinata ai cluster di test/sviluppo. - Onda 1 (
Wave1
): i cluster vengono aggiornati una settimana (sette giorni) dopo il rilascio di una nuova build. Opzione destinata ai cluster pre-produzione/staging. - Onda 2 (
Wave2
): i cluster vengono aggiornati due settimane (14 giorni) dopo il rilascio di una nuova build. Opzione destinata ai cluster di produzione.
Aggiungere quindi una proprietà upgradeWave
al modello di risorsa cluster con uno dei valori di onda elencati in precedenza. Assicurarsi che la versione dell'API della risorsa cluster sia 2020-12-01-preview
o successiva.
{
"apiVersion": "2020-12-01-preview",
"type": "Microsoft.ServiceFabric/clusters",
...
"fabricSettings": [...],
"managementEndpoint": ...,
"nodeTypes": [...],
"provisioningState": ...,
"reliabilityLevel": ...,
"upgradeMode": "Automatic",
"upgradeWave": "Wave1",
...
Dopo aver distribuito il modello aggiornato, il cluster verrà registrato nell'onda specificata per il periodo di aggiornamento successivo e per quelli che seguono.
È possibile registrarsi per ricevere notifiche tramite posta elettronica con i collegamenti a ulteriore assistenza nel caso in cui un aggiornamento del cluster non riesca.
Registrazione per le notifiche
È possibile registrarsi per ricevere notifiche nel caso in cui un aggiornamento del cluster non riesca. Verrà inviato un messaggio di posta elettronica a uno o più indirizzi designati con ulteriori dettagli sull'errore di aggiornamento e i collegamenti a ulteriore assistenza.
Nota
La registrazione nella distribuzione a onde non è necessaria per ricevere notifiche per gli errori di aggiornamento.
Per registrarsi, aggiungere una sezione notifications
al modello di risorsa cluster e designare uno o più indirizzi di posta elettronica (destinatari) in cui ricevere le notifiche:
"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"
]
}]
}]
Dopo aver distribuito il modello aggiornato, si verrà registrati per ricevere notifiche in caso di errori di aggiornamento.
Criteri personalizzati per gli aggiornamenti manuali
È possibile specificare criteri di integrità personalizzati per gli aggiornamenti manuali del cluster. Questi criteri vengono applicati ogni volta che si seleziona una nuova versione del runtime, il che attiva il sistema per l'avvio dell'aggiornamento del cluster. Se non si esegue l'override dei criteri, vengono usati quelli predefiniti.
È possibile specificare i criteri di integrità personalizzati o esaminare le impostazioni correnti nella sezione di aggiornamenti di Fabric della risorsa cluster nel portale di Azure, selezionando l'opzionePersonalizzati per Criteri di aggiornamento.
Verificare la presenza di versioni del cluster supportate
Per ulteriori dettagli sulle versioni e sui sistemi operativi supportati, vedere Versioni di Service Fabric.
È anche possibile usare l'API REST di Azure per visualizzare un elenco di tutte le versioni del runtime di Service Fabric (clusterVersions) disponibili per la posizione e la sottoscrizione specificate.
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"
}
}
]
}
Il parametro supportExpiryUtc
nell'output segnala quando una data versione è in scadenza oppure è scaduta. Le versioni più recenti non avranno una data valida, ma piuttosto un valore 9999-12-31T23:59:59.9999999, che indica che la data di scadenza non è stata ancora impostata.
Verificare il percorso di aggiornamento supportato
Per informazioni sui percorsi di aggiornamento supportati e sulle versioni correlate, è possibile consultare la documentazione sulle versioni di Service Fabric.
Usando le informazioni sulle versioni di destinazione supportate, è possibile seguire la procedura di PowerShell seguente per convalidare il percorso di aggiornamento supportato.
Accedere ad Azure
Login-AzAccount
Selezionare la sottoscrizione
Set-AzContext -SubscriptionId <your-subscription>
Richiamare l'API
$params = @{ "TargetVersion" = "<target version>"} Invoke-AzResourceAction -ResourceId <cluster resource id> -Parameters $params -Action listUpgradableVersions -Force
Esempio:
$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}
Passaggi successivi
- Gestire gli aggiornamenti di Service Fabric
- Personalizzare le impostazioni di un cluster di Service Fabric
- Aumentare o ridurre le istanze del cluster
- Informazioni su come eseguire aggiornamenti dell'applicazione