Partager via


Cluster-Init

Les sections cluster-init sont subordonnées aux sections node et nodearray. La [[[cluster-init]]] section définit les spécifications du projet CycleCloud à exécuter sur un nœud. La section utilise une notation abrégée pour référencer la spécification complète :

[[[cluster-init PROJECT:SPEC:VERSION]]]

Par défaut, les projets sont supposés être stockés dans le casier déjà. Toutefois, si vous utilisez un projet défini dans GitHub, vous pouvez l’indiquer avec le préfixe cyclecloud/.

[[[cluster-init cyclecloud/PROJECT:SPEC:VERSION]]]

Cette section indique à CycleCloud de télécharger les fichiers projet à partir de GitHub et de les charger dans votre casier dans une zone de cache spéciale. Sans cyclecloud/ dans la référence de cluster-init, CycleCloud s’attend à ce que vous chargiez le projet manuellement.

Par exemple, ce modèle de cluster définit un nœud qui utilise trois spécifications :

[cluster my-cluster]

  [[node defaults]]
    [[[cluster-init my-proj:default:versionA]]]

  [[node my-node]]
    Credentials = $Credentials
    SubnetId = $SubnetId
    MachineType = $MachineType
    ImageName = $ImageName

    [[[cluster-init test-locker/myproject:my-spec:x.y.z]]]

    [[[cluster-init my-proj:my-spec:versionA]]]

Valeurs d’attribut qui commencent par $ sont des paramètres de référence.

Les spécifications du projet CycleCloud s’exécutent dans l’ordre dans lequel vous les énumérez dans le fichier de modèle de Cluster. Dans cet exemple, my-proj:default s’exécute en premier, car il provient des valeurs par défaut du nœud. Ensuite, myproject:my-spec s’exécute, provenant du coffre nommé test-locker. Enfin, my-proj:my-spec s'exécute.

Le [[[cluster-init PROJECT:SPEC:VERSION]]] formulaire est un raccourci pour la section suivante :

    [[[cluster-init]]]
      Project = PROJECT
      Version = VERSION
      Spec = SPEC

Vous pouvez également utiliser [[[cluster-init SOURCE_LOCKER/PROJECT:SPEC:VERSION]]] pour spécifier un SourceLocker pour la spécification cluster-init. Le compartiment source est facultatif. Sans cela, CycleCloud suppose que les fichiers sont déjà indexés dans le coffre. S’il est défini sur le nom cyclecloudspécial, il utilise un projet intégré défini dans CycleCloud dont le contenu est stocké dans GitHub. Sinon, s'il est configuré pour un autre casier, il transfère les fichiers de ce casier vers le casier cible avant de démarrer le nœud. Cette fonctionnalité est utile pour les projets d’init de cluster personnalisés et les déploiements multirégions. Vous placez manuellement les fichiers dans un seul casier, et CycleCloud utilise ce casier en tant que casier source pour les nœuds d’autres régions.

Note

Les projets mis en phase automatiquement sont placés dans un répertoire de cache spécial du casier cible afin qu’ils ne soient pas en conflit avec les projets que vous effectuez manuellement.

Informations de référence sur l’attribut

Caractéristique Type Définition
Projet Chaîne Nom du projet CycleCloud.
Version Chaîne Version de la spécification du projet CycleCloud.
Spécification Chaîne Nom de la spécification du projet CycleCloud.
Locker Chaîne Nom du casier à partir duquel télécharger la spécification du projet.
SourceLocker Chaîne Optional. Nom d’un autre espace de stockage qui doit être utilisé pour transférer des fichiers. S’il est défini sur le nom spécial cyclecloud, il utilise un projet préconfiguré défini dans CycleCloud dont le contenu est stocké dans GitHub.
JSON Nombre entier Entier facultatif que vous pouvez utiliser pour remplacer l’ordre des spécifications. La valeur par défaut commence à 1 000 et monte d’un pour chaque spécification.