Si vous intégrez SaltStack Config à vRealize Automation Cloud, vous pouvez installer les minions sur des machines virtuelles dans vos déploiements et utiliser les capacités de SaltStack Config pour effectuer des opérations de gestion supplémentaires sur les machines.

Vous pouvez déployer des minions dans le cadre de vos modèles de cloud ou en ajouter un aux machines en tant qu'action du jour 2. Vous pouvez également spécifier les fichiers d'état dans le cadre du modèle ou en tant qu'action de jour 2. Les instructions de déploiement dans un modèle de cloud sont fournies ici. Pour plus d'informations sur l'action du jour 2, consultez Appliquer la configuration Salt dans Actions pouvant être exécutées sur les déploiements de Cloud Assembly.

Les minions sont des nœuds qui exécutent le service salt-minion. Le service écoute les commandes d'un master Salt et effectue les tâches demandées.

À l'heure actuelle, vous pouvez utiliser le modèle de cloud pour installer le minion sur des machines Linux.

Par quoi commencer

  • Vérifiez que vous avez installé SaltStack Config et configuré l'intégration. Reportez-vous à la section Créer une intégration de SaltStack Config dans vRealize Automation Cloud.
  • Pour vous familiariser avec le fonctionnement de SaltStack Config, y compris les concepts clés des minions, reportez-vous à la section Minions.
  • Dans SaltStack Config, vérifiez que la résolution du nom de domaine complet du minion au master fonctionne. Pour vérifier le nom de domaine complet sur le master Salt dans SaltStack Config, sélectionnez Minions > Tous les minions, et filtrez la colonne ID de minion pour la valeur saltmaster. Cliquez sur saltmaster pour afficher les détails. Vérifiez la valeur de nom de domaine complet.
  • Vérifiez que les capacités SSH des images dans vSphere que vous prévoyez de déployer avec un minion Salt sont activées. SSH est utilisé pour accéder à distance à la machine et déployer le minion.
  • Vérifiez que vous pouvez attribuer des adresses IP aux machines que vous déployez. SaltStack Config nécessite que les machines disposent d'adresses IP. Utilisez les adresses IP de la plage CIDR d'adresses IP publiques pour le centre de données défini par logiciel (SDDC, Software-Defined Datacenter) où se trouve le master Salt.
  • Vérifiez que le modèle de cloud auquel vous ajoutez le minion peut être déployé avant d'ajouter les propriétés saltConfiguration.

Ajouter le minion au modèle de cloud

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 distant et certaines propriétés saltConfiguration. La procédure inclut uniquement les propriétés sélectionnées. Le fichier YAML inclut d'autres propriétés saltConfiguration 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 ajouter la propriété 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. Dans le volet de code, ajoutez des propriétés saltConfiguration aux ressources de la machine.

    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.

     saltConfiguration:
            masterId: saltstack_enterprise_installer
            minionId: '${input.minionID}'
            saltEnvironment: sse
            stateFiles:
              - /doe.sls
            variables: 
              user: joe

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

    Propriété Description
    masterID La valeur saltstack_enterprise_installer est l'ID de master par défaut. Vous pouvez définir les ID de master de SaltStack Config dans Administration > Clés principales.
    minionID L'ID de minion est attribué par SaltStack Config si vous ne le fournissez pas vous-même. L'ID par défaut est l'adresse de la machine. Vous ne pouvez pas le configurer pour utiliser le nom d'hôte de la machine.

    La valeur actuelle dans l'exemple de fichier YAML, '${input.minionID}', est une variable. Cette procédure inclut les étapes d'ajout d'une valeur d'entrée afin que vous puissiez la nommer et la tester. Toutefois, autoriser les utilisateurs à définir la valeur minionID n'est pas une pratique courante.

    saltEnvironment La valeur sse est l'emplacement de fichier par défaut des 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.
    stateFiles La valeur 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.
  4. Ajoutez les propriétés remoteAccess que SaltStack Config utilise pour communiquer avec le minion.

    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
  5. Ajoutez des entrées pour que l'utilisateur en cours de déploiement puisse spécifier le minionID.
    inputs:
      minionID:
        type: string
        title: Minion ID
  6. Vérifiez que votre fichier YAML inclut des propriétés semblables à l'exemple suivant.
    inputs:
      minionID:
        type: string
        title: Minion ID
    resources:
      Cloud_vSphere_Machine_1:
        type: Cloud.vSphere.Machine
        properties:
          image: centos
          flavor: small
          saltConfiguration:
            masterId: saltstack_enterprise_installer
            minionId: '${input.minionID}'
            saltEnvironment: sse
            stateFiles:
              - /doe.sls
            variables:
              user: sylvia
          remoteAccess:
            authentication: usernamePassword
            username: adminUser
            password: adminPassword
  7. Testez et déployez le modèle de cloud.
  8. 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 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'ID de minion, 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 du minion est la chaîne entrée lorsque vous avez déployé le modèle de cloud dans Cloud Assembly. Dans cet exemple, l'ID de minion est MinionID-0001.
    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.

Que faire ensuite

Pour utiliser les capacités de SaltStack Config pour gérer vos ressources, consultez la documentation de SaltStack Config.