Salt Project es un software de código abierto basado en Python para la automatización de TI basada en eventos, la ejecución de tareas remotas y la administración de la configuración.

Para obtener más información sobre Salt, consulte la Guía del usuario de Salt.

Salt requiere la implementación de una instancia de salt-minion en el invitado. Las variables de invitado específicas de Salt se establecen en el lado del host por máquina virtual y, posteriormente, VMware Tools las lee dentro del invitado. A continuación, VMware Tools descarga el paquete de Salt y programa una instancia de salt-minion dentro del invitado.

Requisitos previos

  • Solo admite sistemas operativos de 64 bits.
  • Para Windows, se admiten Windows 8 y versiones posteriores.
    Nota: Windows 2008R2 no es compatible.
  • VMware Tools debe instalarse con la función Salt Minion. Esta función está habilitada de forma predeterminada.
  • Hay dependencias en los paquetes instalados en Linux (como curl y wget)

Procedimiento

  • Configuración del lado del host por máquina virtual mediante variables de invitado
    El administrador de host administra toda la configuración de variables de invitado en el lado del host para una máquina virtual específica mediante la API de VIM o la interfaz de usuario de vSphere/VC.
      • Windows:

        La función Salt Minion de VMware Tools se instala de forma predeterminada y se puede modificar durante la instalación personalizada.

        Para que VMware Tools cree una instancia de salt-minion en una máquina virtual específica y conecte salt-minion con salt-master, el administrador del host debe configurar y establecer la variable de invitado para esa máquina virtual.

        En la interfaz de usuario del host de vSphere, seleccione una máquina virtual específica, haga clic con el botón secundario y edite la configuración. En la pestaña Opciones de la máquina virtual, seleccione Avanzado > Editar configuración > Agregar/Eliminar parámetro y establezca

        • guestinfo./vmware.components.salt_minion.desiredstate en presente
        • guestinfo./vmware.components.salt_minion.args en <argumentos personalizados para el script de configuración de salt-minion de VMware Tools>

        Por ejemplo:

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

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

      • Linux:
        El administrador del host debe instalar open-vm-tools y open-vm-tools-salt-minion y establecer la variable de invitado para una máquina virtual específica como:
        • guestinfo./vmware.components.salt_minion.desiredstate en presente
        • guestinfo./vmware.components.salt_minion.args en <argumentos personalizados para el script de configuración de salt-minion de VMware Tools>

        Por ejemplo:

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

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

    • Eliminar salt-minion

      En Windows o Linux, si el administrador del host establece la variable de invitado guestinfo./vmware.components.salt_minion.desiredstate en ausente, VMware Tools elimina la instancia de salt-minion en la máquina virtual invitada.

      Por ejemplo:

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

    • Comprobar el estado más reciente de salt-minion dentro del invitado

      Para comprobar el estado más reciente de salt-minion dentro del invitado en la interfaz de usuario de vSphere, utilice la variable guest:

      guestinfo.vmware.components.salt_minion.laststatus

  • Configuración del lado del invitado mediante tools.conf

    El archivo tools.conf contiene las configuraciones de VMware Tools en formato .ini. Esta herramienta busca la sección salt_minion y utiliza las configuraciones definidas en esa sección. Este archivo se almacena en:

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

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

    Este es un ejemplo de la sección salt_minion como se define en tools.conf:

    [salt_minion]
    master=1.2.3.4
    conf_file=/etc/salt/minion
    id=dev_minion
    Nota: Solo las opciones de configuración de minions están disponibles en tools.conf. La acción de script deseada no se puede obtener de tools.conf.
    • Configurar el intervalo para supervisar el cambio de estado en las variables de invitado:

      VMware Tools sondea periódicamente las variables de invitado en busca de cambios de estado. El valor predeterminado de poll-interval es de 180 segundos y se puede configurar en los ajustes de tools.conf.

      [componentmgr]

      poll-interval=180 (valor predeterminado: 180 s)

    • Habilitar y deshabilitar el componente (salt_minion):
      • El administrador de invitados puede habilitar salt_minion mediante la configuración de tools.conf.

        [componentmgr]

        included=salt_minion

      • El administrador de invitados puede habilitar todos los componentes configurando los ajustes de tools.conf.

        [componentmgr]

        included=all (configuración predeterminada)

      • El administrador de invitados puede deshabilitar todos los componentes configurando los ajustes de tools.conf.

        [componentmgr]

        included=none
  • Instalar salt-minion mediante un script de instalación
      • Entorno Linux
        En sistemas Linux, el script de instalación svtminion.sh es un script de Bash con los siguientes requisitos previos:
        • - systemctl
        • - curl
        • - sha512sum
        • - vmtoolsd
        • - grep
        • - awk
        • - sed
        • - cut
        • - wget

        svtminion.sh --help muestra las opciones de la línea de comandos.

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

        donde ./svtminion.sh [-j|--source] especifica la ubicación desde la que instalar Salt Minion. La ubicación predeterminada es repo.saltproject.io.

        Por ejemplo: ubicación de 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

        Nota: Si se especifica una versión específica de Salt Minion, [-m|--minionversion], se anexa al origen. El valor predeterminado es el más reciente.

        Este es un ejemplo de la instalación de salt_minion como se define en 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
        Nota: Si instala desde su réplica privada de la ubicación del repositorio estándar para Salt, utilice source=https://repo.saltproject.io/salt/vmware-tools-onedir/
      • Entorno de Windows

        En los sistemas Windows, el script de instalación svtminion.ps1 es un script de PowerShell. El único requisito previo para Windows es el archivo binario 'vmtoolsd.exe', que se utiliza para consultar los datos de las variables del invitado.

        Para obtener ayuda con este script, ejecute el comando svtminion.ps1 -h o Get-Help svtminion.ps1.

        El script de VMware Tools para administrar Salt Minion en un invitado de Windows es:
        .\svtminion.ps1 [-Install] [-MinionVersion <String>] [-Source <String>] [[-ConfigOptions] <String[]>] [-LogLevel <String>] [-Help] [-Version] [<CommonParameters>]

        donde -Source <String> es la URL o la ruta de acceso al repositorio que contiene los instaladores.

        Esto contendría una estructura de directorios similar a la que se encuentra en la ubicación predeterminada: https://repo.saltproject.io/salt/vmware-tools-onedir/. Puede controlar la mayoría de protocolos más comunes, como http, https, ftp, unc, local.

        Por ejemplo:

        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
        Nota:

        Para ver los ejemplos, escriba get-help .\svtminion.ps1 -examples

        Para obtener más información, escriba get-help .\svtminion.ps1 -detailed

        Para obtener información técnica, escriba get-help .\svtminion.ps1 -full

  • Recuperar información de registro
    El administrador de invitados puede recuperar información de registro relacionada con salt-minion en la siguiente ruta:
    Windows
    Archivo de registro Ubicación
    Archivo de registro para comprobar el estado de salt-minion C:\Windows\Temp\vmware-svtminion-status-{Timestamp}.log
    Archivo de registro para instalar una instancia de salt-minion dentro del invitado C:\Windows\Temp\vmware-svtminion-install-{TimeStamp}.log
    Archivo de registro para eliminar una instancia de salt-minion dentro del invitado: C:\Windows\Temp\vmware-svtminion-remove-{TimeStamp}.log
    Archivo de registro para comprobar la información de tiempo de ejecución después de instalar o eliminar una instancia de salt-minion dentro del invitado C:\salt\var\log\minion log files
    Linux
    Archivo de registro Ubicación
    Archivo de registro para comprobar el estado de Salt-Minion /var/log/vmware-svtminion.sh-status-{Timestamp}.log
    Archivo de registro para instalar una instancia de salt-minion dentro del invitado /var/log/vmware-svtminion.sh-install-{TimeStamp}.log
    Archivo de registro para eliminar una instancia de salt-minion dentro del invitado: /var/log/vmware-svtminion.sh-remove-{TimeStamp}.log
    Archivo de registro para comprobar la información de tiempo de ejecución después de instalar o eliminar una instancia de salt-minion dentro del invitado /var/log/salt/minion