Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.