Partager via


Objets Node et Nodearray

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

Valeurs par défaut des nœuds

L'[[node defaults]] est un nœud abstrait spécial qui spécifie le paramètre par défaut pour tous les nœuds et les nœuds d’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.centos6
  MachineType = Standard_H16

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

Dans my-cluster, le nodearray grid hérite informations d’identification et subnetId du nœud defaults, 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 nodearray. Le nœud proxy utilise le IsReturnProxy pour définir le rôle spécial de ReturnProxy, qui sera le point de terminaison d’un proxy de canal inverse provenant de CycleCloud au démarrage du cluster.

[cluster my-cluster]

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

  [[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

Il existe au moins quatre attributs requis pour démarrer un nœud :

Attribut Type Définition
MachineType Corde Taille de machine virtuelle Azure
SubnetId Corde Définition de sous-réseau dans le formulaire ${rg}/${vnet}/${subnet}
Pouvoirs Corde Nom du compte fournisseur de cloud.

Le quatrième attribut requis est lié à une image. Un attribut d’image est obligatoire, mais il existe plusieurs formes qu’il peut prendre : voir Attributs d’image.

Attributs supplémentaires

Attribut Type Définition
ComputerName Corde Nom de l’ordinateur pour la machine virtuelle. S’il est spécifié, remplace le nom généré par le système.
ComputerNamePrefix Corde Préfixe pré-pendré aux noms d’ordinateurs générés par le système
Zone Chaîne (liste) Zone de disponibilité pour la machine virtuelle ou VMSS. Il peut s’agir d’une liste pour VMSS. Par exemple, Zone = 1,3
KeyPairLocation Entier Où CycleCloud trouvera unpair de clé 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
Casier Corde Spécifiez le nom du casier à partir duquel télécharger les spécifications du projet. Voir Utiliser des projets
Attribut Type Définition
ComputerName Corde Nom de l’ordinateur pour la machine virtuelle. S’il est spécifié, remplace le nom généré par le système.
ComputerNamePrefix Corde Préfixe pré-pendré aux noms d’ordinateurs générés par le système
EphemeralOSDisk Booléen Utiliser le disque de démarrage éphémère pour la machine virtuelle, si pris en charge
Zone Chaîne (liste) Zone de disponibilité pour la machine virtuelle ou VMSS. Il peut s’agir d’une liste pour VMSS. Par exemple, Zone = 1,3
ProximityPlacementGroupId Corde ID complet du groupe de placement de proximité dans lequel placer ce nœud. Doit commencer par /subscriptions/
PlacementGroupId Corde Si elle est définie, cette étiquette est utilisée pour placer ce nœud dans un seul groupe de placement avec tous les autres nœuds qui ont une valeur correspondante pour PlacementGroupId. Cela offre une communication à latence inférieure et est nécessaire pour activer InfiniBand sur les tailles de machine virtuelle qui le prennent en charge. Cela est généralement défini par le planificateur si nécessaire afin qu’il n’ait pas besoin d’être spécifié manuellement.
KeyPairLocation Entier Où CycleCloud trouvera unpair de clé 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
Casier Corde Spécifiez le nom du casier à partir duquel télécharger les spécifications du projet. Voir Utiliser des projets
BootDiagnosticsUri Corde 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
EnableTerminateNotification (8.2.0+) Booléen Si la valeur est true, arrêter la notification d’envoyer des événements lors de la suppression de machine virtuelle à la machine virtuelle pour la gestion locale. Cela s’applique uniquement aux machines virtuelles de groupe identique.
TerminateNotificationTimeout (8.2.2+) Heure relative Si la notification d’arrêt est activée, cela contrôle la durée pendant laquelle les machines virtuelles sont données pour gérer l’événement avant d’être supprimées.
ThrottleCapacity (8.2.2+) Booléen Si la valeur est true, ce nodearray signale 0 capacité aux autoscalers pendant une valeur par défaut de 5 minutes après avoir rencontré un problème de capacité
ThrottleCapacityTime (8.2.2+) Heure relative Si ThrottleCapacity est activé, il s’agit de la durée pendant laquelle la disponibilité est limitée après la contrainte de la capacité. La valeur par défaut est « 5m ».
HybridBenefitLicense (8.3.0+) Corde Si HybridBenefit a la valeur true, cela spécifie la licence à utiliser : RHEL_BYOS, SLES_BYOSou Windows_Server. La valeur par défaut est Windows_Server.
FlexScaleSetId (8.3.0+) Corde Si elle est définie, il s’agit de l’ID complet d’un groupe identique en mode d’orchestration Flex utilisé pour la machine virtuelle pour ce nœud.
EncryptionAtHost (8.4.0+) Booléen Si la valeur est true, la machine virtuelle aura chiffrement sur l’hôte activée.
SecurityType (8.5.0+) Corde Définit le type de sécurité ; non défini, TrustedLaunch ou ConfidentialVM
EnableSecureBoot (8.5.0+) Booléen Active de démarrage sécurisé, si vous utilisez des machines virtuelles de lancement approuvées ou des machines virtuelles confidentielles.
EnableVTPM (8.5.0+) Booléen Active module de plateforme sécurisée virtuelle, si vous utilisez des machines virtuelles de lancement approuvées ou des machines virtuelles confidentielles.

Note

Un groupe de placement de proximité est une fonctionnalité Azure générale et un groupe doit être créé avant de pouvoir être référencé sur un nœud. Cela permet aux machines virtuelles CycleCloud d’être colocalisées avec d’autres ressources Azure dans ce groupe de placement de proximité, mais 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 pour les nœuds dans un même groupe de mise à l’échelle qui est contraint d’être sous le même commutateur réseau, mais peut ne pas être colocalisée avec d’autres ressources Azure. Ils peuvent être utilisés ensemble, mais cela peut réduire le nombre de machines virtuelles qui peuvent être allouées.

Attributs d’image

L’image de machine virtuelle est un paramètre requis 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.

ImageName

CycleCloud prend en charge un certain nombre d’images de la Place de marché par défaut disponibles pour différentes versions de système d’exploitation. Ceux-ci peuvent être spécifiés avec un ImageName.

Attribut Type Définition
ImageName Corde Nom de l’image prise en charge par cycle. cycle.image. [win2016, win2012, centos7, centos6, ubuntu16, ubuntu14]

Images de la Place de marché

En plus des images de la Place de marché gérées par cycle, n’importe quelle image de la Place de marché peut être utilisée en spécifiant les Publisher, les Offer, les Sku et les ImageVersion.

Attribut Type Définition
Azure.Publisher Corde Éditeur de l’image de la Place de marché de machines virtuelles
Azure.Offer Corde Offre pour l’image de la Place de marché de machines virtuelles
Référence Azure.SKU Corde Référence SKU de l’image de la Place de marché de machines virtuelles
Azure.ImageVersion Corde Version de l’image de la Place de marché.

Note

Une image de la Place de marché peut également être spécifiée dans l’attribut ImageName, encodée en tant qu’URN sous la forme Publisher:Offer:Sku:ImageVersion.

Images avec plan tarifaire personnalisé

Les images de la galerie d’images partagées qui ont un plan tarifaire attaché nécessitent des informations sur le plan à utiliser, sauf si ces informations sont stockées dans l’image Shared Image Gallery. Cela est spécifié avec l’attribut ImagePlan à l’aide des attributs imbriqués Publisher, Product et Plan.

Note

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 informations d’identification :

Attribut Type Définition
ImageId Corde ID de ressource de l’image de machine virtuelle

Attributs d’image

L’image et les images de la Place de marché définies par ImageIds ont besoin de quelques paramètres supplémentaires pour configurer correctement l’extension du système d’exploitation CycleCloud :

Attribut 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.
InstallJetpack Booléen Si la valeur est false, CycleCloud n’installe pas Jetpack sur les nouvelles machines virtuelles. La valeur par défaut est true.
AwaitInstallation Booléen Si la valeur est false, CycleCloud n’attend pas que Jetpack signale les détails de l’installation lors de la création de la machine virtuelle. La valeur par défaut est true.
JetpackPlatform Corde Plateforme d’installation Jetpack à utiliser : centos-7, centos-6, ubuntu-14.04, ubuntu-16.04, windows. Déconseillé dans la version 7.7.0.

Avertissement

La définition de InstallJetpack ou de AwaitInstallation n’est pas recommandée. En outre, la définition de DownloadJetpack nécessite une image personnalisée avec une version correcte de Jetpack install et est uniquement recommandée pour les environnements qui rencontrent des problèmes de téléchargement à partir de comptes de stockage.

Note

ImageId est utilisé par défaut si plusieurs définitions d’image sont incluses dans une définition de nœud unique.

Exemple d’image de remplacement

Voici un exemple de modèle utilisant les trois constructions d’images 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 de mise en réseau avancés

Attribut Type Définition
IsReturnProxy Booléen Établissez un proxy de canal inverse vers 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 atteindre CycleCloud.
ReturnPath.WebserverPort Entier Port de serveur web où le nœud peut atteindre CycleCloud.
ReturnPath.BrokerPort Entier Broker où le nœud peut atteindre CycleCloud.

Étiquettes

CycleCloud prend en charge l’étiquetage des machines virtuelles et vmSS.

Attribut Corde Définition
Étiquettes Corde Utilisez tags.my-tag = my-tag-value pour ajouter des balises au déploiement en plus des balises affectées par CycleCloud par défaut.

Attributs réguliers/spot

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

Attribut Corde Définition
Interruptible Booléen Si la valeur est true, la machine virtuelle est une machine virtuelle Spot pour fournir une tarification réduite.
MaxPrice Flotter Prix maximal à dépenser sur la machine virtuelle. (Par défaut : -1)

attributs Nodearray-Specific

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 est un pilote pour Azure VirtualMachine ScaleSets (VMSS) et peut avoir de nombreux VMSS de stockage.

Attribut Corde Définition
Azure.AllocationMethod Corde Définissez cette option sur StandAlone pour gérer des machines virtuelles uniques ou laissez non définie pour utiliser VMSS.
Azure.SingleScaleset Booléen Utilisez un seul VMSS pour tous les nœuds (valeur par défaut : false).
Azure.SinglePlacementGroup Booléen Utilisez le paramètre de groupe de placement unique pour vmSS. (Valeur par défaut : false)
Azure.Overprovision Booléen Utilisez la fonctionnalité Overprovision de VMSS. Cyclecloud définit dynamiquement en fonction du scénario. Il s’agit d’un remplacement.
Azure.MaxScaleSetSize Entier Limitez le nombre de machines virtuelles dans un seul vmSS. Une fois ce maximum atteint, CycleCloud ajoute des vmSS supplémentaires au cluster. (Par défaut : '40')
InitialCount Entier Nombre de nœuds à démarrer au démarrage du cluster.
MaxCount Entier Pour vous assurer que le cluster ne dépasse jamais 10 nœuds, vous devez spécifier une valeur de 10. Notez que MaxCount et MaxCoreCount peuvent être utilisés ensemble, auquel cas la contrainte effective inférieure prend effet.
InitialCoreCount Entier Nombre de cœurs à démarrer au démarrage du cluster.
MaxCoreCount Entier Pour vous assurer que le cluster ne dépasse jamais 100 cœurs, vous devez spécifier une valeur de 100. Notez que MaxCount et MaxCoreCount peuvent être utilisés ensemble, auquel cas la contrainte effective inférieure prend effet.
ShutdownPolicy Corde 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 la valeur est « désallouée », le nœud est arrêté à la place. (Par défaut : terminer)
Attribut Corde Définition
Azure.AllocationMethod Corde Définissez cette option sur StandAlone pour gérer des machines virtuelles uniques ou laissez non définie pour utiliser VMSS.
Azure.SingleScaleset Booléen Utilisez un seul VMSS pour tous les nœuds (valeur par défaut : false).
Azure.SinglePlacementGroup Booléen Utilisez le paramètre de groupe de placement unique pour vmSS. (Valeur par défaut : false)
Azure.Overprovision Booléen Utilisez la fonctionnalité Overprovision de VMSS. Cyclecloud définit dynamiquement en fonction du scénario. Il s’agit d’un remplacement.
Azure.MaxScaleSetSize Entier Limitez le nombre de machines virtuelles dans un seul vmSS. Une fois ce maximum atteint, CycleCloud ajoute des vmSS supplémentaires au cluster. (Par défaut : '40')
InitialCount Entier Nombre de nœuds à démarrer au démarrage du cluster.
MaxCount Entier Pour vous assurer que le cluster ne dépasse jamais 10 nœuds, vous devez spécifier une valeur de 10. Notez que MaxCount et MaxCoreCount peuvent être utilisés ensemble, auquel cas la contrainte effective inférieure prend effet.
InitialCoreCount Entier Nombre de cœurs à démarrer au démarrage du cluster.
MaxCoreCount Entier Pour vous assurer que le cluster ne dépasse jamais 100 cœurs, vous devez spécifier une valeur de 100. Notez que MaxCount et MaxCoreCount peuvent être utilisés ensemble, auquel cas la contrainte effective inférieure prend effet.
ShutdownPolicy Corde 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 la valeur est « désallouée », le nœud est arrêté à la place. (Par défaut : terminer)
Limitation de la capacité Booléen Indique s’il faut suspendre les demandes adressées à Azure lors de la réception de Insufficient Capacity signal. (Valeur par défaut : false)
ThrottleCapacityTime Heure relative Délai d’interruption après réception du signal Insufficient Capacity d’Azure. AvailableCount sera signalé comme zéro pendant cette période. (Valeur par défaut : '5m')

Note

Tous les VMSS sont affectés FaultDomainCount = 1

Héritage

Les nœuds et les nœuds étroitement liés peuvent être dérivés d’autres nœuds du même modèle de cluster. Ces définitions héritées réduisent les déclarations nécessaires en partageant les attributs communs. Couramment utilisée est la section [[node defaults]], qui est une définition abstraite spéciale qui s’applique à tous les nœuds et nœuds du cluster.

Attribut Corde Définition
Abstrait Booléen Si la valeur est true, ne créez pas de nœud ou de nœud dans le cluster. L’abstrait peut être utilisé pour l’héritage. (Valeur par défaut : false)
S' étend Chaîne (liste) Liste triée des noms de nœud/nœud hérités. Les éléments plus loin dans la liste sont prioritaires lorsque les valeurs sont en conflit. Le nœud « par défaut » sera toujours en premier dans la liste. (Par défaut : [])

Objets subordonnés

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