En tant que développeur de modèle de cloud, vous pouvez ajouter des propriétés au fichier YAML qui installe le minion SaltStack Config 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 ressource SaltStack Config. La procédure inclut uniquement les propriétés sélectionnées. Le fichier YAML inclut d'autres propriétés de la ressource SaltStack Config 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 Cloud Assembly.

Procédure

  1. Dans Cloud Assembly, sélectionnez Conception > Modèles de cloud.
  2. Ouvrez un modèle existant.
  3. Localisez la ressource SaltStack Config et faites-la glisser vers le canevas.
  4. Attachez la ressource SaltStack Config à la machine sur laquelle le minion sera installé.
  5. Dans le volet de code, ajoutez des propriétés à la ressource SaltStack Config.

    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.

    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

    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 masterId est saltstack_enterprise_installer. Vous pouvez définir les ID de master de SaltStack 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 SaltStack 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 Cloud Assembly.

    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 SaltStack Config dans Configuration > Serveur de fichiers.

    Seuls les environnements basés sur un serveur de fichiers local sont pris en charge.

    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é pour le paramètre saltEnvironment.
    variables Les variables sont les valeurs que le fichier d'état utilise. Dans cet exemple, le fichier doe.sls accepte une valeur user.

    Les variables imbriquées complexes ne sont actuellement pas prises en charge. Par exemple, lorsque vous utilisez des tableaux pour les valeurs de variables, ils ne peuvent pas contenir de valeurs imbriquées comme un autre tableau ou mappage à l'intérieur des éléments du tableau.

    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.

  6. Ajoutez les propriétés remoteAccess à la machine qui héberge le minion Salt.

    La valeur de la clé authentication doit être usernamePassword ou generatedPublicPrivateKey. publicPrivateKey n'est pas pris en charge.

     remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  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
          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 SaltStack 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 SaltStack Config, cliquez sur le menu des applications dans le coin supérieur droit, puis cliquez sur Console de Cloud Services.
  2. Cliquez sur la vignette du service SaltStack Config.
  3. Dans SaltStack Config, développez Clés de minion et cliquez sur Accepté.
  4. 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 SaltStack Config.
  5. 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 Cloud Assembly.

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 à SaltStack Config ou si vous souhaitez afficher rapidement les données de grain sans quitter l'interface utilisateur de Cloud Assembly, 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 Cloud Assembly, sélectionnez Ressources > Déploiements et localisez votre déploiement.
  2. Dans l'onglet Topologie, sélectionnez la machine virtuelle attachée à la ressource SaltStack Config.
  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 Cloud Assembly

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.

Capture d'écran des dernières données de grain mises à jour dans Cloud Assembly
Note : Les données de grain ne sont mises à jour que si vous exécutez l'action de jour 2 Mettre à jour la configuration Salt sur une ressource SaltStack Config. Elles ne sont pas mises à jour si des modifications sont apportées en dehors de Cloud Assembly.