Partager via


Objets Node et Node-array

Les objets Node et nodearray sont des objets de rang 2 subordonnés à cluster. Un nœud représente une seule machine virtuelle, tandis qu’un tableau de nœuds peut représenter une collection de machines virtuelles ou au moins un groupe de machines virtuelles identiques.

Valeurs par défaut des nœuds

Il [[node defaults]] s'agit d'un nœud abstrait spécial qui spécifie les paramètres par défaut pour tous les nœuds et tableaux de nœuds dans un cluster :

[cluster my-cluster]
  [[node defaults]]
  Credentials = $Credentials
  SubnetId = my-rg/my-vnet/my-subnet
  MachineType = Standard_D2s_v3

  [[nodearray grid]]
  ImageName = cycle.image.ubuntu22
  MachineType = Standard_H16

$Credentials est une référence à un paramètre nommé Credentials.

Dans my-cluster, le grid nodearray hérite des valeurs Credential et SubnetId du node defaults nœud, mais utilise une taille de machine virtuelle HPC spécifique de Standard_H16.

Exemple :

Cet exemple de modèle crée un cluster avec deux nœuds et un tableau de nœuds. Le nœud proxy utilise la IsReturnProxy propriété pour définir le rôle spécial de ReturnProxy. Ce nœud agit comme point de terminaison pour un proxy de canal inverse qui provient de CycleCloud au démarrage du cluster.

[cluster my-cluster]

  [[node defaults]]
    Credentials = $Credentials
    SubnetId = $SubnetId
    KeyPairLocation = ~/.ssh/cyclecloud.pem
    ImageName = cycle.image.ubuntu22

  [[node proxy]]
    IsReturnProxy = true
    MachineType = Standard_B2

  [[node scheduler]]
    MachineType = Standard_D4s_v3

  [[nodearray execute]]
    MachineType = Standard_D16s_v3

Référence d’attribut requise

Vous avez besoin d’au moins quatre attributs requis pour démarrer un nœud :

Caractéristique Type Définition
Type de Machine Chaîne Taille de machine virtuelle Azure
SubnetId Chaîne Définition de sous-réseau sous la forme ${rg}/${vnet}/${subnet}. Notez que cette valeur n’est pas l’ID de ressource complet.
Informations d’identification Chaîne Nom du compte fournisseur de cloud.

Le quatrième attribut requis est lié à une image. Vous devez fournir un attribut d’image, mais vous pouvez choisir parmi plusieurs formulaires. Pour plus d’informations, consultez Attributs d’image.

Attributs supplémentaires

Caractéristique Type Définition
Nom de l'ordinateur Chaîne Nom de l’ordinateur de la machine virtuelle. Si vous spécifiez cet attribut, il remplace le nom généré par le système.
ComputerNamePrefix Chaîne Préfixe ajouté aux noms d’ordinateurs générés par le système.
Zone Chaîne de caractères (liste) Zone de disponibilité pour les machines virtuelles ou les ensembles de machines virtuelles. Peut être une liste pour un Virtual Machine Scale Set. Par exemple : Zone = 1,3.
KeyPairLocation Nombre entier Emplacement où CycleCloud trouve unpair de clés SSH sur le système de fichiers local.
KeepAlive Booléen Si la valeur est true, CycleCloud empêche l’arrêt de ce nœud.
Locker Chaîne Nom du casier à utiliser pour télécharger les spécifications de projet. Consultez Utiliser des projets.
Caractéristique Type Définition
Nom de l'ordinateur Chaîne Nom de l’ordinateur de la machine virtuelle. Si vous spécifiez un nom, il remplace le nom généré par le système.
ComputerNamePrefix Chaîne Préfixe ajouté aux noms d’ordinateurs générés par le système.
EphemeralOSDisk Booléen Utilisez un disque de démarrage éphémère pour la machine virtuelle, s’il est pris en charge.
Zone Chaîne de caractères (liste) Zone de disponibilité pour la machine virtuelle ou l'ensemble de machines virtuelles. Peut être une liste pour un Virtual Machine Scale Set. Par exemple : Zone = 1,3.
ID du groupe de placement de proximité Chaîne ID complet du groupe de placement de proximité dans lequel placer ce nœud. Doit commencer par /subscriptions/.
PlacementGroupId Chaîne Si elle est définie, cette étiquette place le nœud dans un groupe de placement unique avec tous les autres nœuds qui ont une valeur correspondante pour PlacementGroupId. Cette configuration offre une communication à latence inférieure et est nécessaire pour activer InfiniBand sur les tailles de machine virtuelle qui le prennent en charge. Le planificateur définit généralement cette valeur selon les besoins. Vous n’avez donc pas besoin de le spécifier manuellement.
KeyPairLocation Nombre entier Où CycleCloud trouve unpair de clés SSH sur le système de fichiers local
KeepAlive Booléen Si la valeur est true, CycleCloud empêche l’arrêt de ce nœud
Locker Chaîne Nom du casier à partir duquel télécharger les spécifications du projet. Voir Utiliser des projets
BootDiagnosticsUri Chaîne URI de stockage pour les diagnostics de démarrage (exemple : https://mystorageaccount.blob.core.windows.net/), si spécifié. Les frais de stockage s’appliquent.
HybridBenefit Booléen Si la valeur est true, active la gestion des licences « Azure Hybrid Benefit » pour les machines virtuelles Windows
IdentifiantDuGroupeDeSécuritéRéseau Chaîne Si fourni, l’ID de ressource complet d’un groupe de sécurité réseau à utiliser pour ce nœud. Vous pouvez également spécifier cette valeur comme SecurityGroup sur une interface réseau.
EnableTerminateNotification (8.2.0+) Booléen Si la valeur est vraie, permet à la notification de terminaison d'envoyer des événements lors de la suppression d'une machine virtuelle à celle-ci pour une gestion locale. Ce paramètre s’applique uniquement aux machines virtuelles d'ensemble à grande échelle.
TerminateNotificationTimeout (8.2.2+) Heure relative Si la notification d’arrêt est activée, ce paramètre contrôle la durée pendant laquelle les machines virtuelles doivent gérer l’événement avant d’être supprimées.
ThrottleCapacity (8.2.2+) Booléen Si la valeur est true, le tableau de nœuds signale 0 capacité à mettre à l’échelle automatiquement pendant une valeur par défaut de cinq minutes après avoir rencontré un problème de capacité.
ThrottleCapacityTime (8.2.2+) Heure relative Si vous activez ThrottleCapacity, définissez la durée pendant laquelle rapporter une disponibilité de 0 après que la capacité a été limitée. La valeur par défaut est « 5m ».
HybridBenefitLicense (8.3.0+) Chaîne Si HybridBenefit la valeur est true, spécifiez la licence à utiliser : RHEL_BYOS, SLES_BYOSou Windows_Server. La valeur par défaut est Windows_Server.
FlexScaleSetId (8.3.0+) Chaîne Entrez l’ID complet d’un groupe d'échelles en mode d’orchestration Flex que vous souhaitez utiliser pour la machine virtuelle de ce nœud.
EncryptionAtHost (8.4.0+) Booléen Si la valeur est true, le chiffrement sur l’hôte est activé sur la machine virtuelle.
TypeDeSécurité (8.5.0+) Chaîne Définit le type de sécurité ; non défini, TrustedLaunchou ConfidentialVM.
EnableSecureBoot (8.5.0+) Booléen Active le démarrage sécurisé si vous utilisez des machines virtuelles de lancement approuvé ou des machines virtuelles confidentielles.
EnableVTPM (8.5.0+) Booléen Active le module de plateforme sécurisée virtuelle si vous utilisez des machines virtuelles de lancement approuvé ou des machines virtuelles confidentielles.
ScaleSetUpgradePolicyMode (8.6.2+) Chaîne Spécifie la stratégie de mise à niveau du groupe identique. Cette politique contrôle ce qui se passe pour les machines virtuelles existantes dans un ensemble de machines lorsque vous modifiez le modèle de l'ensemble en dehors de CycleCloud. En règle générale, activez cette stratégie si vous utilisez un outil automatisé pour modifier des groupes identiques existants, tels qu’Azure Policy. Remarque : cette stratégie ne met pas automatiquement à niveau l’image du système d’exploitation. Choisissez l’un de Automatic, Rolling ou Manual (valeur par défaut).

Remarque

Un groupe de placement de proximité est une fonctionnalité Azure générale. Vous devez en créer un avant de pouvoir le référencer sur un nœud. Cette fonctionnalité permet aux machines virtuelles CycleCloud de colocaliser avec d’autres ressources Azure dans ce groupe de placement de proximité, mais elle n’active pas la mise en réseau InfiniBand. En revanche, PlacementGroupId est une chaîne arbitraire dans CycleCloud, utilisée pour regrouper des machines virtuelles (VMs) pour les nœuds dans un même ensemble de mise à l'échelle unique. Ce groupe identique est contraint d’être sous le même commutateur réseau, mais il peut ne pas colocaliser avec d’autres ressources Azure. Vous pouvez utiliser les deux fonctionnalités ensemble, mais cette combinaison peut réduire le nombre de machines virtuelles que vous pouvez allouer.

Attributs d’image

Vous devez spécifier l’image de machine virtuelle pour lancer une machine virtuelle. Il existe trois formes valides de définition d’image : les noms d’images CycleCloud par défaut, les définitions d’images de la Place de marché et les ID d’image.

Nom de l'image

CycleCloud prend en charge plusieurs images de la Place de marché par défaut pour différentes versions du système d’exploitation. Vous pouvez spécifier ces images avec un ImageName.

Caractéristique Type Définition
Nom de l'image Chaîne Nom de l’image pris en charge par CycleCloud.

Images de la Place de marché

En plus des images gérées par cycle de la Place de marché, vous pouvez utiliser n’importe quelle image de la Place de marché en spécifiant les Publisher, Offer, Sku, et ImageVersion.

Caractéristique Type Définition
Azure.Publisher Chaîne Éditeur de l’image de la Place de marché de machines virtuelles
Azure.Offre Chaîne Offre pour l’image de la Place de marché de machines virtuelles
Azure.SKU Chaîne Référence SKU de l’image de la Place de marché de machines virtuelles
Azure.ImageVersion Chaîne Version d’image de l’image de la Place de marché

Remarque

Vous pouvez également spécifier une image de la Place de marché dans l’attribut ImageName . Encodez-le en tant qu’URN dans le formulaire Publisher:Offer:Sku:ImageVersion.

Images avec plan tarifaire personnalisé

Les images dans le Shared Image Gallery qui ont un plan tarifaire attaché nécessitent la fourniture d'informations sur le plan à utiliser, sauf si ces informations sont déjà stockées dans l'image de la galerie d'images partagées. Spécifiez ces informations avec l’attribut ImagePlan en utilisant les attributs imbriqués Publisher, Product et Plan.

Remarque

L’utilisation d’images personnalisées avec un plan tarifaire nécessite CycleCloud 8.0.2 ou version ultérieure.

ImageId

Vous pouvez également utiliser l’ID de ressource d’une image de machine virtuelle dans l’abonnement des Credentials :

Caractéristique Type Définition
ImageId Chaîne ID de ressource de l’image de machine virtuelle

Attributs d’image

Les images de la place de marché et celles associées à des ImageIds nécessitent quelques paramètres supplémentaires pour utiliser l’extension CycleCloud du système d’exploitation :

Caractéristique Type Définition
DownloadJetpack Booléen Si la valeur est false, CycleCloud ne télécharge pas Jetpack à partir du compte de stockage. Jetpack doit déjà être installé. Remarque : seuls les nœuds Linux sont pris en charge. La valeur par défaut est true. Ajouté dans la version 8.4.1.
Installer Jetpack Booléen Si la valeur est false, CycleCloud n’installe pas Jetpack sur de nouvelles machines virtuelles. La valeur par défaut est true.
En attente d'installation Booléen Si la valeur est false, CycleCloud n’attend pas que Jetpack signale les détails de l’installation lorsqu’il crée la machine virtuelle. La valeur par défaut est true.
JetpackPlatform Chaîne Plateforme d’installation Jetpack à utiliser : centos-7, , centos-6ubuntu-14.04, ubuntu-16.04, windows. Déconseillé dans la version 7.7.0.

Avertissement

Nous vous déconseillons de définir InstallJetpack ou AwaitInstallation. En outre, le paramètre DownloadJetpack nécessite une image personnalisée avec la version correcte de l’installation de Jetpack. Définissez DownloadJetpack uniquement si votre environnement rencontre des problèmes de téléchargement à partir de comptes de stockage.

Remarque

Si vous incluez plusieurs définitions d’image dans une définition de nœud unique, le déploiement utilise ImageId par défaut.

Exemple d’image de remplacement

L’exemple de modèle suivant utilise les trois constructions d’image alternatives pour les nœuds :

[cluster image-example]
  [[node defaults]]
    Credentials = $Credentials
    MachineType = Standard_D2_v3
    SubnetId = my-rg/my-vnet/my-subnet

  [[node cycle-image]]
    ImageName = cycle.image.ubuntu16

  [[node my-custom-vm-image]]
    ImageId = /subscriptions/9B16BFF1-879F-4DB3-A55E-8F8AC1E6D461/resourceGroups/my-rg/providers/Microsoft.Compute/images/jetpack-rhel7-1b1e3e93

    # Jetpack already installed on image
    DownloadJetpack = false

  [[node marketplace-vm-image]]
    Azure.Publisher = Canonical
    Azure.Offer = UbuntuServer
    Azure.Sku = 16.04-LTS
    Azure.ImageVersion = latest

  [[node custom-marketplace-vm-image]]
    ImageName = /subscriptions/9B16BFF1-879F-4DB3-A55E-8F8AC1E6D461/resourceGroups/my-rg/providers/Microsoft.Compute/images/jetpack-rhel8-1b1e3e93
    ImagePlan.Name = rhel-lvm8
    ImagePlan.Publisher = redhat
    ImagePlan.Product = rhel-byos

Attributs réseau avancés

Caractéristique Type Définition
IsReturnProxy Booléen Configurez un proxy de canal inverse sur ce nœud. Un seul nœud par cluster peut avoir ce paramètre comme true.
ReturnPath.Hostname Nom d’hôte Nom d’hôte où le nœud peut se connecter à CycleCloud.
ReturnPath.WebserverPort Nombre entier Port de serveur web où le nœud peut atteindre CycleCloud.
ReturnPath.BrokerPort Nombre entier Broker dans lequel le nœud peut atteindre CycleCloud.

Étiquettes

CycleCloud prend en charge l’étiquetage des machines virtuelles et des ensembles d'échelle de machines virtuelles.

Caractéristique Chaîne Définition
Étiquettes Chaîne Permet tags.my-tag = my-tag-value d’ajouter des balises au déploiement en plus des balises affectées par CycleCloud par défaut.

Attributs standard/Spot

CycleCloud prend en charge l’utilisation de machines virtuelles Spot via les attributs suivants. Pour plus d’informations, consultez Machines virtuelles Spot.

Caractéristique Chaîne Définition
Interruptible Booléen Si la valeur est true, la machine virtuelle est une machine virtuelle Spot qui offre une tarification réduite.
MaxPrice Float Prix maximal que vous souhaitez payer pour la machine virtuelle. (Par défaut : -1)

Attributs spécifiques à Nodearray

Tous les attributs d’un nœud sont valides pour un nodearray, mais un tableau de nœuds est une ressource élastique afin que des attributs supplémentaires soient disponibles. Nodearray agit comme un pilote pour les VirtualMachine ScaleSets Azure et peut être associé à plusieurs Virtual Machine Scale Sets.

Caractéristique Chaîne Définition
Azure.AllocationMethod Chaîne Définissez cet attribut sur StandAlone pour gérer des machines virtuelles uniques ou laissez-le non défini pour utiliser des ensembles de machines virtuelles.
Azure.SingleScaleset Booléen Utilisez un unique Virtual Machine Scale Set pour tous les nœuds (par défaut : faux).
Azure.SinglePlacementGroup Booléen Utilisez le paramètre de groupe de placement individuel pour le Virtual Machine Scale Set. (Valeur par défaut : false)
Azure.Overprovision Booléen Utilisez la fonction Overprovision des Virtual Machine Scale Sets. Cyclecloud définit dynamiquement cette valeur en fonction du scénario. Cette valeur est un remplacement.
Azure.MaxScaleSetSize Nombre entier Limitez le nombre de machines virtuelles dans un même Virtual Machine Scale Set. Une fois ce maximum atteint, CycleCloud ajoute de nouveaux groupes de machines virtuelles au cluster. (Par défaut : '40')
InitialCount Nombre entier Nombre de nœuds à démarrer lors du démarrage du cluster.
MaxCount Nombre entier Pour vous assurer que le cluster ne dépasse jamais 10 nœuds, spécifiez la valeur 10. Utilisez MaxCount et MaxCoreCount ensemble. La contrainte effective inférieure prend effet.
InitialCoreCount Nombre entier Nombre de cœurs à démarrer au démarrage du cluster.
MaxCoreCount Nombre entier Pour vous assurer que le cluster ne dépasse jamais 100 cœurs, spécifiez une valeur de 100. Utilisez MaxCount et MaxCoreCount ensemble. La contrainte effective inférieure prend effet.
Politique d'arrêt Chaîne Indique ce qu’il faut faire avec la machine virtuelle lorsqu’un nœud s’arrête. Si terminate, la machine virtuelle est supprimée lorsque le nœud s’arrête. Si deallocate, le nœud est arrêté à la place. (Par défaut : terminer)
Caractéristique Chaîne Définition
Azure.AllocationMethod Chaîne Définissez cette valeur à StandAlone pour gérer des machines virtuelles individuelles, ou laissez-la indéfinie pour utiliser des groupes de machines virtuelles.
Azure.SingleScaleset Booléen Utilisez un Virtual Machine Scale Set pour tous les nœuds (par défaut : false).
Azure.SinglePlacementGroup Booléen Utilisez le paramètre de groupe de placement individuel pour le Virtual Machine Scale Set. (Valeur par défaut : false)
Azure.Overprovision Booléen Utilisez la fonction Overprovision des Virtual Machine Scale Sets. CycleCloud définit dynamiquement cette valeur en fonction du scénario. Ce paramètre agit comme remplacement.
Azure.MaxScaleSetSize Nombre entier Limitez le nombre de machines virtuelles dans un même Virtual Machine Scale Set. Une fois ce maximum atteint, CycleCloud ajoute des jeux d'échelle de machines virtuelles supplémentaires au cluster. (Par défaut : '40')
InitialCount Nombre entier Nombre de nœuds à démarrer lors du démarrage du cluster.
MaxCount Nombre entier Pour vous assurer que le cluster ne dépasse jamais 10 nœuds, spécifiez la valeur 10. Utilisez MaxCount et MaxCoreCount ensemble. La contrainte effective inférieure prend effet.
InitialCoreCount Nombre entier Nombre de cœurs à démarrer au démarrage du cluster.
MaxCoreCount Nombre entier Pour vous assurer que le cluster ne dépasse jamais 100 cœurs, spécifiez une valeur de 100. Utilisez MaxCount et MaxCoreCount ensemble. La contrainte effective inférieure prend effet.
Politique d'arrêt Chaîne Indique ce qu’il faut faire avec la machine virtuelle lorsqu’un nœud s’arrête. Si vous définissez la valeur terminatesur , la machine virtuelle est supprimée lorsque le nœud s’arrête. Si vous définissez la valeur deallocate, le nœud est arrêté plutôt. (Par défaut : terminer)
ThrottleCapacity Booléen Indique s’il faut suspendre les demandes adressées à Azure lors de la réception du Insufficient Capacity signal. (Valeur par défaut : false)
ThrottleCapacityTime Heure relative Temps de retrait après réception du signal d’Azure Insufficient Capacity. AvailableCount est signalé comme zéro durant cette période. (Valeur par défaut : '5m')

Remarque

Tous les Virtual Machine Scale Sets se voient attribuer FaultDomainCount = 1.

Héritage

Vous pouvez dériver des nœuds et des tableaux de nœuds étroitement liés à d’autres nœuds dans le même modèle de cluster. Ces définitions héritées réduisent le nombre de déclarations dont vous avez besoin en partageant des attributs communs. La section couramment utilisée [[node defaults]] est une définition abstraite spéciale qui s’applique à tous les nœuds et tableaux de nœuds du cluster.

Caractéristique Chaîne Définition
Résumé Booléen Si la valeur est true, ne créez pas de nœud ou de tableau de nœuds dans le cluster. Utilisez le résumé pour l’héritage. (Valeur par défaut : false)
S'étend Chaîne de caractères (liste) Liste triée des noms de nœuds et de tableaux de nœuds hérités. Les éléments plus loin dans la liste sont prioritaires lorsque les valeurs sont en conflit. Le defaults nœud est toujours effectivement premier dans la liste. (Par défaut : [])

Objets subordonnés

Les objets node et nodearray ont un volume, une interface réseau, un cluster-init, un point de terminaison d’entrée et une configuration en tant qu’objets subordonnés.