Tipi di nodi del cluster gestito di Service Fabric
Un set di scalabilità di macchine virtuali esegue il backup di ogni tipo di nodo in un cluster gestito di Service Fabric. Con i cluster gestiti, è necessario apportare le modifiche necessarie tramite il provider di risorse del cluster gestito di Service Fabric. Il provider di cluster gestiti crea e astrae tutte le risorse sottostanti per il cluster per conto dell'utente. La gestione delle risorse da parte del provider consente di semplificare la distribuzione e la gestione dei tipi di nodo del cluster. La gestione impedisce errori di operazione, ad esempio l'eliminazione di un nodo di inizializzazione, e consente di applicare procedure consigliate, ad esempio la convalida che un SKU di macchina virtuale (VM) sia sicuro da usare.
Il resto di questo documento illustra come modificare varie impostazioni, tra cui:
- Creazione di un tipo di nodo
- Modifica del numero di istanze del tipo di nodo
- Abilitazione degli aggiornamenti automatici delle immagini del sistema operativo
- Modifica dell'immagine del sistema operativo
- Configurazione delle proprietà di posizionamento
- Impostazione del prefisso del nome computer
Questo documento è incentrato sull'uso del portale di Azure e dei modelli di Azure Resource Manager per apportare modifiche.
Importante
Al momento, i cluster gestiti di Service Fabric non supportano immagini personalizzate del sistema operativo.
Nota
Non sarà possibile modificare il tipo di nodo mentre è in corso una modifica. È consigliabile consentire il completamento di qualsiasi modifica richiesta prima di eseguire un'altra operazione.
Aggiungere un tipo di nodo
È possibile aggiungere un tipo di nodo a un cluster gestito Service Fabric tramite il portale, un modello di Azure Resource Manager o PowerShell.
Aggiungere con il portale
Nota
È possibile aggiungere solo tipi di nodo secondari usando il portale
Accedere al portale di Azure.
Passare alla pagina Panoramica della risorsa cluster.
Selezionare
Node types
nella sezioneSettings
Selezionare
Add
nella parte superiore, immettere le informazioni necessarie e quindi selezionare Aggiungi nella parte inferioreAttendere il completamento dell'aggiunta del nuovo tipo di nodo
Aggiungere con un modello di Resource Manager
Aggiungere un altro tipo di risorsa Microsoft.ServiceFabric/managedclusters/nodetypes
con i valori necessari ed eseguire una distribuzione del cluster per rendere effettiva l'impostazione.
- La versione API della risorsa cluster gestito di Service Fabric deve essere 2021-05-01 o successiva.
- Assicurarsi di impostare
isPrimary
sutrue
se si intende sostituire un tipo di nodo primario esistente.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeType2Name'))]",
"location": "[resourcegroup().location]",
"dependsOn": [
"[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
],
"properties": {
"isPrimary": false,
"vmImagePublisher": "[parameters('vmImagePublisher')]",
"vmImageOffer": "[parameters('vmImageOffer')]",
"vmImageSku": "[parameters('vmImageSku')]",
"vmImageVersion": "[parameters('vmImageVersion')]",
"vmSize": "[parameters('nodeType2VmSize')]",
"vmInstanceCount": "[parameters('nodeType2VmInstanceCount')]",
"dataDiskSizeGB": "[parameters('nodeType2DataDiskSizeGB')]",
"dataDiskType": "[parameters('nodeType2managedDataDiskType')]"
}
}
Per un esempio di configurazione di due tipi di nodo, vedere il modello di Resource Manager di esempio per due tipi di nodo.
Aggiungere con PowerShell
Per creare un nuovo tipo di nodo, è necessario definire queste proprietà:
- Gruppo di risorse: gruppo di risorse in cui si trova il cluster
- Nome cluster: nome del cluster gestito
- Nome del tipo di nodo: nome univoco rispetto a qualsiasi tipo di nodo esistente nel cluster.
- Numero di istanze: numero iniziale di nodi del nuovo tipo.
- Dimensioni macchina virtuale: SKU di VM per i nodi. Se non specificato, viene usato il valore predefinito Standard_D2.
Nota
Se si aggiunge un tipo di nodo primario, è necessario utilizzare la proprietà -Primary
.
$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "nt2"
$vmSize = "Standard_D2_v2"
New-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -Name $nodeTypeName -InstanceCount 3 -vmSize $vmSize
Rimuovere un tipo di nodo
È possibile rimuovere un tipo di nodo del cluster gestito di Service Fabric usando il portale o PowerShell.
Nota
Per rimuovere un tipo di nodo primario da un cluster gestito di Service Fabric, è necessario usare PowerShell e deve essere disponibile più di un tipo di nodo primario.
Rimuovere con il portale
Accedere al portale di Azure.
Passare alla pagina Panoramica della risorsa cluster.
Selezionare
Node types
nella sezioneSettings
Selezionare il
Node Type
da rimuovere e selezionareDelete
nella parte superiore.
Rimuovere con PowerShell
Nota
Se si rimuove un tipo di nodo primario per scenari come l'aggiornamento dell'SKU, l'operazione richiederà diverse ore e l'avanzamento può essere monitorato tramite SFX. I nodi di inizializzazione eseguiranno la migrazione di un nodo per ogni dominio di aggiornamento alla volta.
Per rimuovere un tipo di nodo, è necessario definire queste proprietà:
- Gruppo di risorse: gruppo di risorse in cui si trova il cluster
- Nome cluster: nome del cluster gestito
- Nome del tipo di nodo: nome univoco rispetto a qualsiasi tipo di nodo esistente nel cluster.
$resourceGroup = "myResourceGroup"
$clusterName = "myCluster"
$nodeTypeName = "nt2"
Remove-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -Name $nodeTypeName
Ridimensionare un tipo di nodo
È possibile ridimensionare un tipo di nodo del cluster gestito di Service Fabric con il portale, il modello di Resource Manager o PowerShell. È anche possibile configurare la scalabilità automatica per un tipo di nodo secondario se si desidera una soluzione completamente automatizzata.
Nota
- Non è possibile impostare un tipo di nodo primario per la scalabilità automatica ed è possibile impostarlo solo sulla scalabilità manuale.
- Per il tipo di nodo primario sarà necessario avere almeno 3 nodi per un cluster dello SKU Basic e 5 nodi per un cluster dello SKU Standard.
Ridimensionare con il portale
In questa procedura dettagliata si apprenderà come modificare il numero di nodi per un tipo di nodo usando il portale.
Accedere al portale di Azure.
Passare alla pagina Panoramica della risorsa cluster.
Selezionare
Node Types
nella sezioneSettings
Selezionare il valore
Node type name
da modificareEsaminare e aggiornare le proprietà del tipo di nodo, se necessario.
Selezionare
Manage node type scaling
per configurare le impostazioni di ridimensionamento e scegliere tra opzioni di scalabilità automatica personalizzata e scalabilità manuale. La scalabilità automatica è una funzionalità predefinita che consente alle applicazioni di ottenere prestazioni ottimali quando cambia la domanda. È possibile scegliere di ridimensionare manualmente la risorsa in un numero di istanze specifico o tramite un criterio di scalabilità automatica personalizzato che usa le soglie delle metriche. È anche possibile pianificare il ridimensionamento dei conteggi delle istanze durante le finestre temporali designate. Ottenere altre informazioni sulla scalabilità automatica di Azure o visualizzare le procedure video.Scalabilità automatica personalizzata: selezionare il valore
scale mode
appropriato per definire i criteri di scalabilità automatica personalizzati, ovveroScale to a specific instance count
oScale based on a metric
. Questi ultimi si basano sulle regole di trigger delle metriche, ad esempio aumentare il numero di istanze di 1 quando la percentuale di utilizzo della CPU è superiore al 70%. Dopo aver definito i criteri, selezionareSave
nella parte superiore.Scala manuale: regolare
Node count
sul nuovo valore desiderato e selezionareSave
nella parte superiore. In questo screenshot il valore era3
ed è stato modificato in5
.
Selezionare
Apply
nella parte inferiore per configurare queste impostazioni salvate nel tipo di nodo.Provisioning state
mostra lo stato diUpdating
fino al completamento. Al termine, viene visualizzato di nuovoSucceeded
.
Ridimensionare un tipo di nodo con un modello
Per modificare il numero di nodi per un tipo di nodo usando un modello di Resource Manager, regolare la proprietà vmInstanceCount
con il nuovo valore ed eseguire una distribuzione del cluster per rendere effettiva l'impostazione. Il cluster inizia l'aggiornamento automatico. Al termine vengono visualizzati i nodi aggiuntivi.
- La versione API della risorsa cluster gestito di Service Fabric deve essere 2021-05-01 o successiva.
Nota
Il provider di cluster gestiti bloccherà le regolazioni della scalabilità e restituirà un errore se la richiesta di ridimensionamento viola i minimi richiesti.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"properties": {
...
"vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
...
}
}
Ridimensionare un tipo di nodo con PowerShell
Cambiare il numero di istanze per aumentare o diminuire il numero di nodi del tipo da dimensionare. È possibile trovare i nomi dei tipi di nodo nel modello di Azure Resource Manager della distribuzione del cluster o in Service Fabric Explorer.
$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "FE"
$instanceCount = "7"
Set-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -name $nodeTypeName -InstanceCount $instanceCount -Verbose
Il cluster inizia l'aggiornamento automatico. Al termine vengono visualizzati i nodi aggiuntivi.
Abilitare gli aggiornamenti automatici delle immagini del sistema operativo
È possibile scegliere di abilitare gli aggiornamenti automatici delle immagini del sistema operativo per le macchine virtuali che eseguono i nodi del cluster gestito. Anche se le risorse del set di scalabilità di macchine virtuali vengono gestite per conto dell'utente con cluster gestiti di Service Fabric, è possibile abilitare gli aggiornamenti automatici delle immagini del sistema operativo per i nodi del cluster. Come per i cluster classici di Service Fabric, i nodi del cluster gestito non vengono aggiornati per impostazione predefinita, per evitare interruzioni impreviste nel cluster.
Nota
L'aggiornamento automatico dell'immagine del sistema operativo è supportato sia per le immagini del marketplace che per le immagini personalizzate.
Per abilitare gli aggiornamenti automatici del sistema operativo:
- Usare apiVersion
2021-05-01
o una versione successiva delle risorse Microsoft.ServiceFabric/managedclusters e Microsoft.ServiceFabric/managedclusters/nodetypes - Impostare la proprietà del cluster
enableAutoOSUpgrade
su true - Impostare la proprietà resource nodeTypes del cluster
vmImageVersion
su più recente
Ad esempio:
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters",
...
"properties": {
...
"enableAutoOSUpgrade": true
},
},
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
...
"properties": {
...
"vmImageVersion": "latest",
...
}
}
}
Dopo l'abilitazione, Service Fabric inizia a eseguire query e tenere traccia delle versioni delle immagini del sistema operativo nel cluster gestito. Se è disponibile una nuova versione del sistema operativo, i tipi di nodo del cluster (set di scalabilità di macchine virtuali) vengono aggiornati uno alla volta. Gli aggiornamenti del runtime di Service Fabric vengono eseguiti solo dopo aver confermato che non sono in corso aggiornamenti delle immagini del sistema operativo del nodo del cluster.
Se un aggiornamento non riesce, Service Fabric riprova dopo 24 ore, per un massimo di tre tentativi. Analogamente agli aggiornamenti classici (non gestiti) di Service Fabric, le app o i nodi non integri potrebbero bloccare l'aggiornamento dell'immagine del sistema operativo.
Per altre informazioni sugli aggiornamenti delle immagini, vedere Aggiornamenti automatici delle immagini del sistema operativo con i set di scalabilità di macchine virtuali di Azure.
Modificare l'SKU del sistema operativo per un tipo di nodo
I cluster gestiti di Service Fabric consentono di modificare l'SKU del sistema operativo per un tipo di nodo sul posto. Questo processo è utile per scenari come la migrazione da Windows 2019 a Windows 2022 o se si vuole passare a un SKU Server (Core) e Server con SKU Esperienza desktop.
Modificare l'SKU del sistema operativo con il portale
In questa procedura dettagliata si apprenderà come modificare l'immagine del sistema operativo per un tipo di nodo usando il portale.
Accedere al portale di Azure.
Passare alla pagina Panoramica della risorsa cluster.
Selezionare
Node Types
nella sezioneSettings
Selezionare il valore
Node type name
da modificareModificare
OS Image
sul nuovo valore desiderato e selezionareApply
nella parte inferiore. ![Esempio che mostra la modifica dell'immagine del sistema operativo] [change-os-image]Provisioning state
mostra lo stato diUpdating
ed esegue un dominio di aggiornamento alla volta. Al termine, viene visualizzato di nuovoSucceeded
.
Modificare l'SKU del sistema operativo con un modello
Per modificare l'immagine del sistema operativo per un tipo di nodo usando un modello di Resource Manager, regolare la proprietà vmImageSku
con il nuovo valore ed eseguire una distribuzione del cluster per rendere effettiva l'impostazione. Il provider di cluster gestiti ricrea l'immagine di ogni istanza in base al dominio di aggiornamento.
- La versione API della risorsa cluster gestito di Service Fabric deve essere 2021-05-01 o successiva.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"properties": {
...
"vmImagePublisher": "[parameters('vmImagePublisher')]",
"vmImageOffer": "[parameters('vmImageOffer')]",
"vmImageSku": "[parameters('vmImageSku')]",
"vmImageVersion": "[parameters('vmImageVersion')]",
...
}
}
Configurare le proprietà di posizionamento per un tipo di nodo
Le proprietà Posizionamento vengono usate per garantire che determinati carichi di lavoro vengano eseguiti solo in determinati tipi di nodo nel cluster. I cluster gestiti di Service Fabric supportano la configurazione di queste proprietà tramite il portale, il modello di Resource Manager o PowerShell.
Configurare le proprietà di posizionamento con il portale
In questa procedura dettagliata si apprenderà come modificare una proprietà di posizionamento per un tipo di nodo usando il portale.
Accedere al portale di Azure.
Passare alla pagina Panoramica della risorsa cluster.
Selezionare
Node Types
nella sezioneSettings
Selezionare il valore
Node type name
da modificareNella sezione
Placement properties
aggiungere il nome e il valore desiderati e selezionareApply
nella parte inferiore. In questo screenshot ilName
SSD_Premium
è stato usato conValue
ditrue
.Provisioning state
mostra lo stato diUpdating
fino al completamento. Al termine, viene visualizzato di nuovoSucceeded
.
Configurare le proprietà di posizionamento con un modello
Per modificare le proprietà di posizionamento per un tipo di nodo usando un modello di Resource Manager, regolare la proprietà placementProperties
con uno o più nuovi valori ed eseguire una distribuzione del cluster per rendere effettiva l'impostazione. L'esempio seguente mostra tre valori impostati per un tipo di nodo.
- La versione API della risorsa cluster gestito di Service Fabric deve essere 2021-05-01 o successiva.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"properties": {
"placementProperties": {
"PremiumSSD": "true",
"NodeColor": "green",
"SomeProperty": "5"
}
}
}
Configurare le proprietà di posizionamento con PowerShell
L'esempio seguente aggiorna e sovrascrive eventuali proprietà di posizionamento esistenti per un determinato tipo di nodo.
$rgName = "testRG"
$clusterName = "testCluster"
$NodeTypeName = "nt1"
Set-AzServiceFabricManagedNodeType -ResourceGroupName $rgName -ClusterName $clusterName -name $NodeTypeName -PlacementProperty @{NodeColor="Red";SomeProperty="6";} -Verbose
Modificare l'SKU della macchina virtuale per un tipo di nodo
Per modificare le dimensioni dell'SKU di una macchina virtuale per un tipo di nodo usando un modello di Resource Manager, regolare la proprietà vmSize
con il nuovo valore ed eseguire una distribuzione del cluster per rendere effettiva l'impostazione. Il provider di cluster gestiti ricrea l'immagine di ogni istanza in base al dominio di aggiornamento. Per un elenco delle opzioni dell'SKU, vedere Dimensioni delle macchine virtuali - Macchine virtuali di Azure | Microsoft Learn.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"properties": {
...
"vmSize": "[parameters('vmImageVersion')]",
...
}
}
Configurare più dischi gestiti
Per impostazione predefinita, i cluster gestiti di Service Fabric configurano un disco gestito. Configurando le proprietà e i valori facoltativi seguenti, è possibile aggiungere altri dischi gestiti ai tipi di nodo all'interno di un cluster. È possibile specificare la lettera di unità, il tipo di disco e le dimensioni per disco.
Configurare più dischi gestiti dichiarando la proprietà additionalDataDisks
e i parametri obbligatori nel modello di Resource Manager come indicato di seguito:
Requisiti per le funzionalità
- Lun deve essere univoco per disco e non può usare lun riservati 0 o 1
- La lettera disco non può usare lettere riservate C o D e non può essere modificata dopo la creazione. S viene usato per impostazione predefinita se non specificato.
- Specificare un tipo di disco supportato
- La versione API della risorsa cluster gestito di Service Fabric deve essere 2022-01-01 o successiva.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"properties": {
"additionalDataDisks": {
"lun": "2",
"diskSizeGB": "50",
"diskType": "Standard_LRS",
"diskLetter": "S"
}
}
}
Vedere elenco completo dei parametri disponibili.
Configurare la lettera di unità disco dati di Service Fabric
Per impostazione predefinita, i cluster gestiti di Service Fabric configurano un disco dati di Service Fabric e configurano automaticamente la lettera di unità in tutti i nodi di un tipo. Configurando questa proprietà e questo valore facoltativi, è possibile specificare e recuperare la lettera del disco dati di Service Fabric se sono previsti requisiti specifici per il mapping delle lettere di unità.
Requisiti per le funzionalità
- La lettera disco non può usare lettere riservate C o D e non può essere modificata dopo la creazione. S viene usato come predefinito se non specificato.
- La versione API della risorsa cluster gestito di Service Fabric deve essere 2022-01-01 o successiva.
{
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"properties": {
"dataDiskLetter": "S"
}
}
}
Impostare il prefisso del nome computer
I clienti che richiedono nomi più lunghi per il tipo di nodo per fornire una descrizione più dettagliata traggono vantaggio dal prefisso del nome computer.
Nota
Il prefisso del nome del computer funziona solo per la versione dell'API di Service Fabric 2024-04-01 or later
.
Implementare le modifiche del modello di Resource Manager seguenti per impostare il prefisso del nome computer:
{
"apiVersion": "2024-04-01",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', 'BE-testResourceGroup-testRegion-test')]",
"location": "[parameters('clusterLocation')]",
"dependsOn": [
"[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
],
"properties": {
"isPrimary": false,
"dataDiskSizeGB": "[parameters('dataDiskSizeGB')]",
"vmImagePublisher": "[parameters('vmImagePublisher')]",
"vmImageOffer": "[parameters('vmImageOffer')]",
"vmImageSku": "[parameters('vmImageSku')]",
"vmImageVersion": "[parameters('vmImageVersion')]",
"vmSize": "[parameters('vmSize')]",
"vmInstanceCount": "[parameters('vmInstanceCount')]",
"computerNamePrefix": "computerNamePrefix"
}
}