En tant que développeur de modèle de cloud, vous pouvez ajouter des propriétés au fichier YAML qui installe le minion Salt lorsque vous déployez le modèle.

Les propriétés de base que vous ajoutez au modèle incluent l'accès à distance pour la machine que vous souhaitez déployer et les propriétés de configuration pour la SaltStack Config resource. La procédure inclut uniquement les propriétés sélectionnées. Le fichier YAML inclut d'autres propriétés SaltStack Config resource qui ne sont pas utilisées dans cet exemple. Pour plus d'informations, consultez le schéma.

Bien que cet exemple montre comment ajouter le nom d'utilisateur et le mot de passe pour les propriétés d'accès à distance, vous pouvez configurer une propriété secrète et l'ajouter au modèle. Pour obtenir un exemple, reportez-vous à la section Propriétés secrètes Automation Assembler.

Si le minion Salt est déployé dans un environnement Windows, reportez-vous à la section Déploiement des minions Windows pour connaître les exigences de dépendance supplémentaires.

Procédure

  1. Dans Automation Assembler, sélectionnez Conception > Modèles de cloud.
  2. Ouvrez un modèle existant.
  3. Localisez la SaltStack Config resource et faites-la glisser vers le canevas.
  4. Attachez la SaltStack Config resource à la machine sur laquelle le minion sera installé.
  5. Dans le volet de code, ajoutez des propriétés à la SaltStack Config resource.
    Vous n'êtes pas obligé d'inclure toutes les propriétés possibles. Les valeurs utilisées dans cet exemple sont expliquées dans le tableau.
    Note : Par défaut, la propriété createTimeout est définie sur 30 minutes. Vous pouvez mettre à jour cette valeur si nécessaire en utilisant le format minute/heure (par exemple : 30m ou 1h).
    Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1".id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database   
           additionalAuthParams:
             profile:
                tmp_dir: /var/run

    Description des propriétés Cloud_SaltStack_1 utilisées dans cet exemple.

    Propriété Description
    masterId Dans l'exemple de schéma, la valeur de masterId est saltstack_enterprise_installer.

    Vous pouvez définir les ID master de Automation Config dans Administration > Clés de master .

    hosts La valeur de la propriété hosts est l'ID de la machine ou du cluster de machines sur lesquelles vous souhaitez installer le minion. Par défaut, le nom de la machine est transmis en tant qu'ID de minion dans Automation Config.

    Il est recommandé de choisir des noms de machine comportant 15 caractères ou moins, en particulier si vous déployez des minions sous Windows. Windows n'autorise pas les noms d'hôte de plus de 15 caractères.

    Si vous souhaitez définir une convention d'attribution de nom personnalisée pour les machines que vous souhaitez déployer, consultez Attribution de nom personnalisée pour les ressources déployées dans Automation Assembler.

    saltEnvironment Dans cet exemple, sse est un emplacement de fichier pour les fichiers d'état.

    Vos fichiers d'état peuvent être enregistrés dans d'autres emplacements du serveur de fichiers de Automation Config dans Configuration > Serveur de fichiers.

    stateFiles Dans cet exemple, doe.sls est un fichier d'état par défaut fourni dans le répertoire du serveur de fichiers spécifié comme saltEnvironment.
    variables Les variables définies dans le modèle de cloud sont transmises sous forme de Pillar à des états Salt. Dans cet exemple, la variable user est transmise au fichier doe.sls.

    Les variables peuvent être référencées dans les fichiers d'état à l'aide de Jinja, comme le montre l'exemple suivant :

    {% set username = pillar.get('user', 'random') %}
    
    friend:
      user.present:
        - names:
          -  {{username}}

    Le fichier doe.sls garantit qu'un utilisateur, représenté par la variable user dans le modèle de cloud, existe. Si la variable n'est pas spécifiée dans le modèle de cloud, elle garantit que l'utilisateur random est présent.

    additionalMinionParams Utilisez cette propriété pour transmettre des paramètres de configuration supplémentaires pour le minion. Ces paramètres doivent être transmis en tant que dictionnaire :

    • grains : utilisez cette propriété pour attribuer des grains Salt personnalisés au minion. Une ou plusieurs paires key:value sont acceptées. Les valeurs peuvent être une chaîne, un tableau ou un mappage.

      Vous pouvez uniquement attribuer des données de grain personnalisées lors du provisionnement d'une nouvelle machine. Vous ne pouvez pas attribuer de données de grain personnalisées lors de l'exécution de l'action de jour 2 Attacher une ressource SaltStack ou Mettre à jour la configuration Salt.

    additionalAuthParams Utilisez cette propriété pour transmettre des paramètres d'autorisation supplémentaires pour le provisionnement du minion qui sera fusionné/remplacé par la configuration salt-cloud par défaut. Ces paramètres doivent être transmis en tant que dictionnaire.

    Une ou plusieurs paires key:value sont acceptées sous forme de chaîne, de tableau ou de mappage. Pour voir un exemple d'utilisation de cette propriété, consultez la section Cas d'utilisation : déploiement de minions à l'aide de l'API dans un environnement Linux.

    Note : Vous ne pouvez pas attribuer de paramètres d'autorisation supplémentaires lors de l'exécution de l'action de jour 2 Mettre à jour la configuration de Salt.
  6. Ajoutez les propriétés remoteAccess à la machine qui héberge le minion Salt.
    • Si vous déployez un minion Salt sur une machine Windows, la clé authentication peut avoir la valeur usernamePassword ou generatedPublicPrivateKey. publicPrivateKey n'est pas pris en charge.
    • Si vous déployez un minion Salt sur une machine Windows, la clé authentication doit avoir la valeur usernamePassword..
     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
            skipUserCreation: true
    Note : La propriété skipUserCreation concerne l'accès à distance. Un utilisateur est créé par défaut si cette propriété n'est pas définie dans le modèle de cloud ou si la valeur est False. La définition de la valeur sur True, comme dans cet exemple, ignore la création d'un utilisateur.
  7. Vérifiez que votre fichier YAML inclut des propriétés semblables à l'exemple suivant.
    resources:
      Cloud-Network:
        type: Cloud.Network
        properties:
          networkType: existing 
      Cloud_VM_1:
        type: Cloud.vSphere.Machine
        properties:
          image: ubuntu
          flavor: small
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
            skipUserCreation: true
          networks:
            - network: ${resource["Cloud-Network"].id}
      Cloud_SaltStack_1:
        type: Cloud.SaltStack
        properties:
          masterId: saltstack_enterprise_installer
          hosts:
            - ${resource["Cloud_VM_1"].id}
          saltEnvironment: sse
          stateFiles:
            - /doe.sls
          variables: 
            user: joe
          additionalMinionParams:
            grains:
              roles:
                - webserver
                - database
  8. Testez et déployez le modèle de cloud.
    Si le déploiement de votre minion échoue, consultez Dépanner les déploiements de minion.
  9. Vérifiez les propriétés de configuration Salt pour la machine déployée.
    1. Sélectionnez Déploiements > Déploiements et ouvrez les détails du déploiement.
    2. Dans l'onglet Topologie, cliquez sur la machine et développez les propriétés de Configuration Salt dans le volet de droite.

      Capture d'écran de l'onglet Topologie avec les propriétés de configuration Salt développées dans le volet de droite. Les propriétés incluent l'ID de master, l'environnement Salt et les fichiers d'état.

Vérifiez le minion dans Automation Config

Après avoir installé le minion sur la machine virtuelle, localisez le minion et exécutez les tâches ou les commandes sur la ressource.

Procédure

  1. Pour ouvrir Automation Config, cliquez sur le menu des applications dans le coin supérieur droit, puis cliquez sur Console de Cloud Services.
  2. Ouvrez le service VMware Aria Automation.
  3. Cliquez sur la vignette du service Config.
  4. Dans Automation Config, développez Clés de minion et cliquez sur Accepté.
  5. Dans la colonne ID de minion, cliquez sur l'icône de filtre et entrez le nom du minion.
    Le nom par défaut du minion est le nom d'hôte de la machine virtuelle. Dans cet exemple, l'ID de minion est salt-vm-010.
    Capture d'écran des clés de minion acceptées dans Automation Config.
  6. Pour afficher les détails, cliquez sur le nom du minion.
    Vous pouvez exécuter des tâches ou des commandes sur le minion. Par exemple, Exemple d'utilisation du disque. Cette tâche renvoie les statistiques d'utilisation du disque pour un minion.
    Capture d'écran de la page de détails de l'exemple d'ID de minion

Afficher les données de grain de Salt

Une fois que vous avez terminé le déploiement d'un minion Salt sur vos machines virtuelles, vous pouvez afficher les grains du minion dans Automation Assembler.

Les grains Salt sont collectés pour le système d'exploitation, le nom de domaine, l'adresse IP, le noyau, le type de système d'exploitation et la mémoire du minion, ainsi que de nombreuses autres propriétés système. Si vous n'avez pas accès à Automation Config ou si vous souhaitez afficher rapidement les données de grain sans quitter l'interface utilisateur de Automation Assembler, vous pouvez utiliser l'onglet Topologie pour afficher les données de grain. Pour en savoir plus sur les données de grain, reportez-vous à la section Grains Salt.

Pour afficher les grains d'un minion :

  1. Dans Automation Assembler, sélectionnez Ressources > Déploiements et localisez votre déploiement.
  2. Dans l'onglet Topologie, sélectionnez la machine virtuelle attachée à la SaltStack Config resource.
  3. Localisez la section Configuration de Salt dans le volet de droite et faites défiler la liste vers le bas pour afficher la liste des données de grain.Capture d'écran des données de grain dans Automation Assembler

Les données de grain d'un minion sont récupérées après le déploiement du minion. Pour voir quand les données de grain ont été mises à jour pour la dernière fois, vous pouvez faire défiler l'écran jusqu'au bas de la section Configuration Salt.

Note : Vous pouvez également afficher les données et les attributs Salt Grain en cliquant sur Resources > Machines virtuelles et en sélectionnant la machine souhaitée pour afficher les configurations et les attributs de la machine.
Capture d'écran des dernières données de grain mises à jour dans Automation Assembler