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_BYOS ou 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