Types de nœuds de cluster managés Service Fabric
Chaque type de nœud d’un cluster managé Service Fabric est adossé à un groupe de machines virtuelles identiques. Avec les clusters managés, vous apportez toutes les modifications requises par le biais du fournisseur de ressources de cluster managé Service Fabric. Toutes les ressources sous-jacentes pour le cluster sont créées et abstraites par le fournisseur de cluster managé en votre nom. Le fait que le fournisseur de ressources gère les ressources permet de simplifier le déploiement et la gestion du type de nœud de cluster, d’éviter des erreurs d’opération telles que la suppression d’un nœud de départ, et l’application de meilleures pratiques, telles que la validation d’une référence SKU de machine virtuelle, peut être utilisée en toute sécurité.
Le reste de ce document explique comment ajuster différents paramètres lors de la création d’un type de nœud, de l’ajustement du nombre d’instances du type de nœud, de l’activation des mises à niveau automatiques de l’image du système d’exploitation, de la modification de l’image du système d’exploitation et de la configuration des propriétés de sélection élective. Ce document se concentre également sur l’utilisation du Portail Azure ou de modèles Azure Resource Manager pour apporter des modifications.
Important
À ce stade, les clusters managés Service Fabric ne prennent pas en charge les images de système d’exploitation personnalisées.
Notes
Vous n’êtes pas en mesure de modifier le type de nœud lorsqu’une modification est en cours. Il est recommandé de laisser toutes les modifications demandées se terminer avant d’en apporter d’autres.
Ajouter un type de nœud
Vous pouvez ajouter un type de nœud à un cluster managé Service Fabric à l’aide du portail, d’un modèle Azure Resource Manager ou de PowerShell.
Ajouter avec le portail
Notes
Vous pouvez ajouter uniquement des types de nœuds secondaires à l’aide du portail
Connectez-vous au portail Azure.
Accédez à la page Vue d’ensemble de votre ressource de cluster.
Sélectionnez
Node types
dans la sectionSettings
Cliquez sur
Add
en haut, renseignez les informations requises, puis cliquez sur Ajouter en bas et c’est tout !Attendez la fin de l’ajout du nouveau type de nœud.
Ajouter avec un modèle ARM
Ajoutez un autre type de ressource Microsoft.ServiceFabric/managedclusters/nodetypes
avec les valeurs requises et effectuez un déploiement de cluster pour que le paramètre prenne effet.
- L’apiVersion de la ressource de cluster managé Service Fabric doit être 2021-05-01 ou ultérieure.
- Veillez à affecter la valeur
true
àisPrimary
si vous envisagez de remplacer un type de nœud principal existant.
{
"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')]"
}
}
Pour obtenir un exemple de configuration à deux types de nœuds, consultez notre exemple de modèle ARM à deux types de nœuds.
Ajouter avec PowerShell
Pour créer un nouveau type de nœud, vous devez définir ces propriétés :
- Groupe de ressources : groupe de ressources dans lequel le cluster se trouve.
- Nom du cluster : nom du cluster managé.
- Nom du type de nœud : Nom unique issu d’un des types de nœud existants du cluster.
- Nombre d’instances : Nombre initial de nœuds du nouveau type de nœud.
- Taille de la machine virtuelle : Référence SKU de machine virtuelle pour les nœuds. Si elle n’est pas spécifiée, la valeur par défaut Standard_D2 est utilisée.
Notes
Si vous ajoutez un type de nœud principal, vous devez utiliser la propriété -Primary
.
$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "nt2"
$vmSize = "Standard_D2_v2"
New-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -Name $nodeTypeName -InstanceCount 3 -vmSize $vmSize
Supprimer un type de nœud
Vous pouvez supprimer un type de nœud de cluster managé Service Fabric à l’aide du portal ou de PowerShell.
Notes
Pour supprimer un type de nœud principal d’un cluster managé Service Fabric, vous devez utiliser PowerShell et il doit y avoir plusieurs types de nœud principal à disposition.
Supprimer avec le portail
Connectez-vous au portail Azure.
Accédez à la page Vue d’ensemble de votre ressource de cluster.
Sélectionnez
Node types
dans la sectionSettings
Sélectionnez le
Node Type
que vous souhaitez supprimer et cliquez surDelete
en haut.
Supprimer avec PowerShell
Notes
La suppression d’un type de nœud principal pour des scénarios tels que la mise à niveau de la référence SKU prend plusieurs heures, et l’avancement peut être contrôlé à l’aide de SFX. Les nœuds initiaux migrent un nœud par domaine de mise à niveau à la fois.
Pour supprimer un type de nœud, vous devez définir ces propriétés :
- Groupe de ressources : groupe de ressources dans lequel le cluster se trouve.
- Nom du cluster : nom du cluster managé.
- Nom du type de nœud : Nom unique issu d’un des types de nœud existants du cluster.
$resourceGroup = "myResourceGroup"
$clusterName = "myCluster"
$nodeTypeName = "nt2"
Remove-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -Name $nodeTypeName
Mettre à l’échelle un type de nœud
Vous pouvez mettre à l’échelle un type de nœud de cluster managé Service Fabric avec le portail, un modèle ARM ou PowerShell. Vous pouvez également configurer la mise à l’échelle automatique pour un type de nœud secondaire si vous souhaitez obtenir une solution entièrement automatisée.
Notes
- Un type de nœud principal ne peut pas être défini sur la mise à l’échelle automatique. Vous pouvez uniquement le définir sur une mise à l’échelle manuelle.
- Pour le type de nœud Principal, vous ne pouvez pas descendre en dessous de 3 nœuds pour un cluster avec la référence SKU De base et de 5 nœuds pour un cluster avec la référence SKU Standard.
Mettre à l’échelle à l’aide du portail
Dans cette procédure pas à pas, vous allez apprendre à modifier le nombre de nœuds pour un type de nœud à l’aide du portail.
Connectez-vous au portail Azure.
Accédez à la page Vue d’ensemble de votre ressource de cluster.
Dans la section
Node Types
, sous la sectionSettings
Sélectionnez le
Node type name
que vous souhaitez modifier.Passez en revue les propriétés de type de nœud et mettez-les à jour si nécessaire.
Sélectionnez
Manage node type scaling
pour configurer les paramètres de mise à l’échelle et choisir entre la mise à l’échelle automatique personnalisée et la mise à l’échelle manuelle. La mise à l’échelle automatique est une fonctionnalité intégrée qui aide les applications à donner le meilleur d’elles-mêmes lorsque la demande change. Vous pouvez choisir de mettre à l’échelle votre ressource manuellement vers un nombre d’instances spécifique ou via une stratégie de mise à l’échelle automatique personnalisée qui effectue la mise à l’échelle en fonction des seuils de métriques. Vous pouvez également planifier un nombre d’instances qui sera mis à l’échelle pendant les fenêtres de temps désignées. Découvrez la mise à l’échelle automatique Azure ou regardez la vidéo explicative.Mise à l’échelle automatique personnalisée : sélectionnez le
scale mode
approprié pour définir la stratégie de mise à l’échelle automatique personnalisée :Scale to a specific instance count
ouScale based on a metric
. Cette dernière est basée sur des règles de déclenchement relatives aux métriques, par exemple, le fait d’augmenter le nombre d’instances de 1 lorsque le pourcentage processeur est supérieur à 70 %. Une fois que vous avez défini la stratégie, sélectionnezSave
en haut.Mise à l’échelle manuelle : ajustez le
Node count
sur la nouvelle valeur voulue et sélectionnezSave
en haut. Dans cette capture d’écran, la valeur était3
et a été ajustée sur5
.
Sélectionnez
Apply
en bas pour configurer ces paramètres enregistrés sur le type de nœud.Le
Provisioning state
affiche à présent l’étatUpdating
jusqu’à ce que l’achèvement. À l’achèvement, il afficheSucceeded
à nouveau.
Mettre à l’échelle un type de nœud avec un modèle
Pour ajuster le nombre de nœuds pour un type de nœud à l’aide d’un modèle ARM, ajustez la propriété vmInstanceCount
avec la nouvelle valeur et effectuez un déploiement de cluster pour que le paramètre prenne effet. Le cluster commence la mise à niveau automatiquement ; vous verrez les nœuds supplémentaires une fois terminé.
- L’apiVersion de la ressource de cluster managé Service Fabric doit être 2021-05-01 ou ultérieure.
Notes
Le fournisseur de cluster managé bloquera les ajustements de mise à l’échelle et renverra une erreur si la demande de mise à l’échelle ne respecte pas les conditions minimales requises.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"properties": {
...
"vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
...
}
}
Mettre à l’échelle un type de nœud avec PowerShell
Modifiez le nombre d’instances pour augmenter ou diminuer le nombre de nœuds sur le type de nœud que vous souhaitez mettre à l’échelle. Vous pouvez trouver les noms des types de nœuds dans le modèle Azure Resource Manager (modèle ARM) à partir de votre déploiement de cluster ou dans Service Fabric Explorer.
$resourceGroup = "myResourceGroup"
$clusterName = "mysfcluster"
$nodeTypeName = "FE"
$instanceCount = "7"
Set-AzServiceFabricManagedNodeType -ResourceGroupName $resourceGroup -ClusterName $clusterName -name $nodeTypeName -InstanceCount $instanceCount -Verbose
Le cluster commence la mise à niveau automatiquement ; vous verrez les nœuds supplémentaires une fois terminé.
Activer les mises à niveau de l’image du système d’exploitation
Vous pouvez choisir d’activer les mises à niveau automatiques de l’image du système d’exploitation vers les machines virtuelles exécutant vos nœuds de cluster managés. Bien que les ressources du groupe de machines virtuelles identiques soient managées en votre nom avec des clusters managés Service Fabric, vous avez le choix d’activer les mises à niveau automatiques de l’image du système d’exploitation pour vos nœuds de cluster. Comme avec les clusters Service Fabric classiques, les nœuds de cluster managés ne sont pas mis à niveau par défaut, afin d’éviter toute interruption involontaire de votre cluster.
Pour activer les mises à niveau automatiques du système d’exploitation :
- Utilisez apiVersion
2021-05-01
ou une version ultérieure des ressources Microsoft.ServiceFabric/managedclusters et Microsoft.ServiceFabric/managedclusters/nodetypes - Définir la propriété
enableAutoOSUpgrade
du cluster sur true - Définir la propriété
vmImageVersion
de la ressource nodeTypes du cluster sur latest
Par exemple :
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters",
...
"properties": {
...
"enableAutoOSUpgrade": true
},
},
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
...
"properties": {
...
"vmImageVersion": "latest",
...
}
}
}
Une fois activé, Service Fabric commence l’interrogation et le suivi des versions d’image du système d’exploitation dans le cluster managé. Si une nouvelle version du système d’exploitation est disponible, les types de nœuds de cluster (groupes de machines virtuelles identiques) sont mis à niveau successivement. Les mises à niveau du runtime Service Fabric sont effectuées uniquement après la confirmation qu’aucune mise à niveau d’une image de système d’exploitation de nœud de cluster n’est en cours.
En cas d’échec d’une mise à niveau, Service Fabric effectue une nouvelle tentative après 24 heures, pour un maximum de trois tentatives. Comme lors des mises à niveau de Service Fabric classiques (non managées), les applications ou les nœuds non sains peuvent bloquer la mise à niveau de l’image du système d’exploitation.
Pour plus d’informations sur les mises à niveau d’images, consultez Mises à niveau automatiques d’images de système d’exploitation avec des groupes de machines virtuelles identiques Azure.
Modifier la référence SKU du système d’exploitation pour un type de nœud
Les clusters managés Service Fabric vous permettent de modifier la référence SKU du système d’exploitation pour un type de nœud sur place. Cela est utile pour des scénarios tels que la migration de Windows 2019 vers Windows 2022, ou si vous voulez basculer vers une référence SKU Serveur (Core) à partir d’une référence SKU Serveur avec Expérience utilisateur.
Modifier la référence SKU du système d’exploitation avec le portail
Dans cette procédure pas à pas, vous allez apprendre à modifier l’image de système d’exploitation pour un type de nœud à l’aide du portail.
Connectez-vous au portail Azure.
Accédez à la page Vue d’ensemble de votre ressource de cluster.
Dans la section
Node Types
, sous la sectionSettings
Sélectionnez le
Node type name
que vous souhaitez modifier.Ajustez le
OS Image
à la nouvelle valeur voulue et sélectionnezApply
en bas. ![Exemple qui illustre la modification de l’image du système d’exploitation] [change-os-image]L’
Provisioning state
affiche alors l’étatUpdating
et poursuit un domaine de mise à niveau à la fois. À l’achèvement, il afficheSucceeded
à nouveau.
Modifier la référence SKU du système d’exploitation avec un modèle
Pour modifier l’image de système d’exploitation pour un type de nœud à l’aide d’un modèle ARM, ajustez la propriété vmImageSku
avec la nouvelle valeur et effectuez un déploiement de cluster pour que le paramètre prenne effet. Le fournisseur de cluster managé réimagera chaque instance par domaine de mise à niveau.
- L’apiVersion de la ressource de cluster managé Service Fabric doit être 2021-05-01 ou ultérieure.
{
"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')]",
...
}
}
Configurer les propriétés de sélection élective d’un type de nœud
Les propriété de sélection élective servent à s’assurer que certaines charges de travail s’exécutent uniquement sur certains types de nœuds du cluster. Les clusters managés Service Fabric prennent en charge la configuration de ces propriétés par le biais du portail, d’un modèle ARM ou de PowerShell.
Configurer les propriétés de sélection élective avec le portail
Dans cette procédure pas à pas, vous allez apprendre à modifier la propriété de sélection élective pour un type de nœud à l’aide du portail.
Connectez-vous au portail Azure.
Accédez à la page Vue d’ensemble de votre ressource de cluster.
Dans la section
Node Types
, sous la sectionSettings
Sélectionnez le
Node type name
que vous souhaitez modifier.Dans la section
Placement properties
, ajoutez le nom et la valeur souhaités, puis sélectionnezApply
en bas. Dans cette capture d’écran, leName
SSD_Premium
a été utilisé avecValue
défini surtrue
.Le
Provisioning state
affiche à présent l’étatUpdating
jusqu’à ce que l’achèvement. À l’achèvement, il afficheSucceeded
à nouveau.
Configurer les propriétés de sélection élective avec un modèle
Pour ajuster les propriétés de sélection élective pour un type de nœud à l’aide d’un modèle ARM, ajustez la propriété placementProperties
avec la nouvelle valeur et effectuez un déploiement de cluster pour que le paramètre prenne effet. L’exemple ci-dessous montre trois valeurs qui sont définies pour un type de nœud.
- L’apiVersion de la ressource de cluster managé Service Fabric doit être 2021-05-01 ou ultérieure.
{
"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"
}
}
}
Configurer les propriétés de sélection élective avec PowerShell
L’exemple suivant met à jour et remplace toutes les propriétés de sélection élective existantes pour un type de nœud donné.
$rgName = "testRG"
$clusterName = "testCluster"
$NodeTypeName = "nt1"
Set-AzServiceFabricManagedNodeType -ResourceGroupName $rgName -ClusterName $clusterName -name $NodeTypeName -PlacementProperty @{NodeColor="Red";SomeProperty="6";} -Verbose
Modifier la référence SKU de machine virtuelle pour un type de nœud
Pour modifier la référence SKU de machine virtuelle pour un type de nœud à l’aide d’un modèle ARM, ajustez la propriété vmSize
avec la nouvelle valeur et effectuez un déploiement de cluster pour que le paramètre prenne effet. Le fournisseur de cluster managé réimagera chaque instance par domaine de mise à niveau. Pour obtenir une liste des options de référence SKU, consultez le site Tailles de machine virtuelle - Machines virtuelles Azure | Microsoft Learn.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"properties": {
...
"vmSize": "[parameters('vmImageVersion')]",
...
}
}
Configurer plusieurs disques managés
Les clusters managés Service Fabric par défaut configurent un disque managé. En configurant la propriété et les valeurs facultatives suivantes, vous pouvez ajouter des disques managés supplémentaires aux types de nœuds au sein d’un cluster. Vous pouvez spécifier la lettre de lecteur, le type de disque et la taille par disque.
Configurez des disques managés supplémentaires en déclarant la propriété additionalDataDisks
et les paramètres requis dans votre modèle Resource Manager comme suit :
Exigences concernant les fonctionnalités
- Le numéro d’unité logique doit être unique par disque et ne peut pas utiliser le numéro d’unité logique réservé 0
- La lettre de disque ne peut pas utiliser les lettres réservées C ou D et ne peut pas être modifiée une fois créée. S sera utilisé comme valeur par défaut s’il n’est pas spécifié.
- Vous devez spécifier un type de disque pris en charge
- L’apiVersion de la ressource de cluster managé Service Fabric doit être 2022-01-01 ou ultérieure.
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"properties": {
"additionalDataDisks": {
"lun": "1",
"diskSizeGB": "50",
"diskType": "Standard_LRS",
"diskLetter": "S"
}
}
}
Voir la liste complète des paramètres disponibles
Configurer la lettre de lecteur de disque de données Service Fabric
Les clusters managés Service Fabric par défaut configurent un disque de données Service Fabric et configurent automatiquement la lettre de lecteur sur tous les nœuds d’un type de nœud. Si vous configurez cette propriété et cette valeur facultatives, vous pouvez spécifier et récupérer la lettre de disque de données Service Fabric si vous avez des exigences spécifiques pour le mappage des lettres de lecteur.
Exigences concernant les fonctionnalités
- La lettre de disque ne peut pas utiliser les lettres réservées C ou D et ne peut pas être modifiée une fois créée. S sera utilisé comme valeur par défaut s’il n’est pas spécifié.
- L’apiVersion de la ressource de cluster managé Service Fabric doit être 2022-01-01 ou ultérieure.
{
{
"apiVersion": "[variables('sfApiVersion')]",
"type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
"name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
"location": "[resourcegroup().location]",
"properties": {
"dataDiskLetter": "S"
}
}
}