Salt Project est un logiciel open source basé sur Python pour l'automatisation informatique événementielle, l'exécution des tâches distantes et la gestion de la configuration.

Pour plus d'informations sur Salt, reportez-vous au Guide de l'utilisateur de Salt.

Salt nécessite le déploiement de salt-minion dans l'invité. Les variables d'invité spécifiques au serviteur Salt sont définies côté hôte selon la VM, puis lues par VMware Tools dans l'invité. VMware Tools télécharge ensuite le bundle Salt et met en place une instance de salt-minion dans l'invité.

Conditions préalables

  • Prend uniquement en charge les SE 64 bits.
  • Windows, Windows 8 et versions ultérieures sont pris en charge.
    Note : Windows 2008 R2 n'est pas pris en charge.
  • VMware Tools doit être installé avec la fonctionnalité de serviteur Salt. Par défaut, cette fonctionnalité est activée.
  • Il existe des dépendances sur les modules installés dans Linux (tels que curl et wget)

Procédure

  • Configuration côté hôte par VM à l'aide de variables d'invité
    L'administrateur d'hôte gère tous les paramètres de variables d'invité côté hôte pour une VM particulière à l'aide de l'API VIM ou de l'interface utilisateur de vSphere/VC.
      • Windows :

        La fonctionnalité de serviteur Salt de VMware Tools est installée par défaut et peut être modifiée dans l'installation personnalisée.

        Pour que VMware Tools crée une instance de salt-minion sur une VM particulière et connecte salt-minion à salt-master, l'administrateur d'hôte doit configurer et définir la variable d'invité pour cette VM.

        Dans l'interface utilisateur de l'hôte vSphere, sélectionnez une VM particulière, cliquez avec le bouton droit et modifiez les paramètres. Dans l'onglet Options de la VM, sélectionnez Avancé > Modifier la configuration > Ajouter/supprimer le paramètre et définissez

        • guestinfo./Vmware.components.salt_minion.desiredstate afin de présenter
        • guestinfo./vmware.components.salt_minion.args à <arguments personnalisés vers le script de configuration de salt-minion de VMware Tools>

        Par exemple :

        guestinfo./vmware.components.salt_minion.desiredstate → present

        guestinfo./vmware.components.salt_minion.args → master=1.2.3.4

      • Linux :
        L'administrateur d'hôte doit installer open-vm-tools et open-vm-tools-salt-minion, puis définir la variable d'invité pour une VM particulière comme suit :
        • guestinfo./Vmware.components.salt_minion.desiredstate afin de présenter
        • guestinfo./vmware.components.salt_minion.args à <arguments personnalisés vers le script de configuration de salt-minion de VMware Tools>

        Par exemple :

        guestinfo./vmware.components.salt_minion.desiredstate → present

        guestinfo./vmware.components.salt_minion.args → master=1.2.3.4 id=12345

    • Suppression de salt-minion

      Dans Windows ou Linux, si l'administrateur d'hôte définit la variable d'invité guestinfo./vmware.components.salt_minion.desiredstate sur absent, VMware Tools supprime l'instance de salt-minion dans la VM invitée.

      Par exemple :

      guestinfo./vmware.components.salt_minion.desiredstate → absent

    • Vérification du dernier état de salt-minion dans l'invité

      Pour vérifier le dernier état de salt-minion dans l'invité dans l'interface utilisateur de vSphere, utilisez la variable d'invité :

      guestinfo.vmware.components.salt_minion.laststatus

  • Guest side configuration using tools.conf

    Le fichier tools.conf contient les configurations de VMware Tools au format .ini. Cet outil recherche la section salt_minion et utilise les configurations définies sous cette dernière. Ce fichier est stocké à l'emplacement suivant :

    Windows : C:\ProgramData\VMware\VMware Tools\tools.conf

    Linux : /etc/vmware-tools/tools.conf

    Voici un exemple de la section salt_minion telle qu'elle est définie dans tools.conf :

    [salt_minion]
    master=1.2.3.4
    conf_file=/etc/salt/minion
    id=dev_minion
    Note : Seules les options de configuration du serviteur sont disponibles dans tools.conf. L'action de script souhaitée ne peut pas être obtenue à partir de tools.conf.
    • Configuration de l'intervalle pour surveiller le changement d'état dans les variables d'invité :

      VMware Tools interroge périodiquement les variables d'invité pour connaître les changements d'état. L'intervalle d'interrogation par défaut est de 180 s et peut être configuré dans les paramètres tools.conf.

      [componentmgr]

      poll-interval=180 (valeur par défaut : 180 s)

    • Activation et désactivation du composant (salt_minion):
      • L'administrateur de l'invité peut activer salt_minion en configurant les paramètres tools.conf.

        [componentmgr]

        included=salt_minion

      • L'administrateur de l'invité peut activer tous les composants en configurant les paramètres tools.conf.

        [componentmgr]

        included=all (configuration par défaut)

      • L'administrateur de l'invité peut désactiver tous les composants en configurant les paramètres tools.conf.

        [componentmgr]

        included=none
  • Installation de salt-minion à l'aide d'un script d'installation
      • Environnement Linux
        Sur les systèmes Linux, le script d'installation svtminion.sh est un script bash avec les conditions préalables suivantes :
        • - systemctl
        • - curl
        • - sha512sum
        • - vmtoolsd
        • - grep
        • - awk
        • - sed
        • - cut
        • - wget

        svtminion.sh --help affiche les options de la ligne de commande.

        Utilisation :
        ./svtminion.sh [-c|--clear] [-d|--depend] [-h|--help] [-i|--install] 
         [-j|--source] [-l|--loglevel] [-m|--minionversion]
        [-r|--remove] [-s|--status] [-v|--version]

        ./svtminion.sh [-j|--source] spécifie l'emplacement de l'installation du serviteur Salt. L'emplacement par défaut est repo.saltproject.io.

        Par exemple : emplacement de l'URL

        http://my_web_server.com/my_salt_onedir

        https://my_web_server.com/my_salt_onedir

        file:////my_path/my_salt_onedir

        //my_path/my_salt_onedir

        Note : Si une version spécifique du serviteur Salt est spécifiée, [-m|--minionversion], elle est ajoutée à la source. La valeur par défaut est latest.

        Voici un exemple de l'installation de salt_minion telle qu'elle est définie dans tools.conf :

        [salt_minion]
        master=1.2.3.4
        conf_file=/etc/salt/minion
        id=dev_minion
        source=https://my_web_server.com/my_salt_onedir
        Note : En cas d'installation à partir de votre réplica privé de l'emplacement du référentiel standard pour Salt, utilisez source=https://repo.saltproject.io/salt/vmware-tools-onedir/
      • Environnement Windows

        Sur les systèmes Windows, le script d'installation svtminion.ps1 est un script PowerShell. Le fichier binaire « vmtoolsd.exe », qui est utilisé pour interroger les données des variables d'invité, est la seule condition préalable pour Windows.

        Pour obtenir de l'aide pour ce script, exécutez la commande svtminion.ps1 -h ou Get-Help svtminion.ps1.

        Le script VMware Tools pour la gestion du serviteur Salt sur un invité Windows est le suivant :
        .\svtminion.ps1 [-Install] [-MinionVersion <String>] [-Source <String>] [[-ConfigOptions] <String[]>] [-LogLevel <String>] [-Help] [-Version] [<CommonParameters>]

        -Source <String> est l'URL ou le chemin d'accès au référentiel contenant les programmes d'installation.

        Cela contiendrait une structure de répertoire semblable à celle trouvée à l'emplacement par défaut : https://repo.saltproject.io/salt/vmware-tools-onedir/. Cela peut gérer la plupart des protocoles courants tels que http, https, ftp, unc ou local

        Par exemple :

        PS>svtminion.ps1 -Install
                PS>svtminion.ps1 -Install -MinionVersion 3004-1 master=192.168.10.10 id=dev_box
                PS>svtminion.ps1 -Install -Source https://my.domain.com/vmtools/salt
        Note :

        Pour consulter les exemples, entrez get-help .\svtminion.ps1 -examples

        Pour plus d'informations, entrez get-help .\svtminion.ps1 -detailed

        Pour obtenir des informations techniques, entrez get-help .\svtminion.ps1 -full

  • Extraction des informations sur le journal
    L'administrateur de l'invité peut extraire des informations sur le journal liées au salt-minion à partir du chemin d'accès suivant :
    Windows
    Fichier journal Emplacement
    Fichier journal pour la vérification de l'état de salt-minion C:\Windows\Temp\vmware-svtminion-status-{Timestamp}.log
    Fichier journal pour l'installation d'une instance de salt-minion dans l'invité C:\Windows\Temp\vmware-svtminion-install-{TimeStamp}.log
    Fichier journal pour la suppression d'une instance de salt-minion dans l'invité : C:\Windows\Temp\vmware-svtminion-remove-{TimeStamp}.log
    Fichier journal pour la vérification des informations d'exécution après l'installation ou la suppression d'une instance de salt-minion dans l'invité Fichiers journaux de C:\salt\var\log\minion
    Linux
    Fichier journal Emplacement
    Fichier journal pour la vérification de l'état de salt-minion /var/log/vmware-svtminion.sh-status-{Timestamp}.log
    Fichier journal pour l'installation d'une instance de salt-minion dans l'invité /var/log/vmware-svtminion.sh-install-{TimeStamp}.log
    Fichier journal pour la suppression d'une instance de salt-minion dans l'invité : /var/log/vmware-svtminion.sh-remove-{TimeStamp}.log
    Fichier journal pour la vérification des informations d'exécution après l'installation ou la suppression d'une instance de salt-minion dans l'invité /var/log/salt/minion