Como administrador de sistemas, puede crear trabajos en SaltStack Config para ejecutar tareas de ejecución remota, aplicar estados, iniciar ejecutores de Salt, etc. Por lo general, los trabajos se diseñan para operaciones del sistema que se deben automatizar y ejecutar varias veces.

Antes de comenzar

Los trabajos de SaltStack Config suelen incorporar uno de los módulos de ejecución o los módulos de estado desarrollados por la comunidad de código abierto Salt. Por este motivo, primero debe familiarizarse con algunos de los conceptos básicos sobre el sistema de Salt y cómo realizar tareas administrativas comunes mediante los módulos de estado y ejecución disponibles.

Para obtener más información sobre cómo... Consulte...

Conceptos básicos para trabajar con Salt

Estados de Salt

Módulos de estado y ejecución de Salt

Creación de trabajos

Para crear un trabajo nuevo:

  1. Investigue qué módulos de ejecución o estado de Salt le ayudarán a lograr el resultado deseado. Cuando encuentre el módulo de Salt que cumpla con sus necesidades, lea la documentación del módulo para asegurarse de que está familiarizado con los parámetros del módulo y otros requisitos.
  2. Si el trabajo utiliza módulos de estado de Salt, cree un nuevo archivo de estado en el servidor de archivos de SaltStack Config. Consulte Cómo crear archivos de estado y datos de pilar para obtener más información.
  3. Cree un nuevo trabajo.
    1. Haga clic en Configuración > Trabajos en el menú lateral para abrir el área de trabajo Trabajos.
    2. Haga clic en el botón Crear trabajo.
      Nota:

      Si no ve el botón Crear trabajo, no tiene permiso para crear nuevos trabajos. Póngase en contacto con el administrador de vRealize Automation para obtener acceso o para crear este trabajo en su nombre, de modo que pueda completar el tutorial.

    3. Introduzca los detalles del nuevo trabajo.
      Campo Valor

      Nombre

      Asigne al trabajo un nombre descriptivo que indique brevemente el propósito del trabajo o la tarea que debe realizarse. Por ejemplo: "Configurar configuración de firewall de Windows".

      Descripción

      Agregue una descripción que indique a otros usuarios el propósito de este trabajo, como "Abre el firewall para el puerto 445 en nodos de Windows".

      Comando

      • Seleccione salt para los trabajos que se ejecutan en minions.
      • Seleccione salt-run para los trabajos que se ejecutan en el maestro de Salt. Los trabajos salt-run se conocen también como ejecutores de Salt. Los ejecutores de Salt son módulos que se utilizan para ejecutar funciones de conveniencia en el maestro de Salt. Puede utilizar ejecutores de Salt para ejecutar una orquestación, activar minions de forma remota, llamar a webhooks, etc. Son útiles para ejecutar tareas de forma centralizada o desde un punto de partida central. Por ejemplo, puede aplicar un estado alto a todos los minions asociados con un maestro de Salt determinado.

      Si no está seguro de qué opción seleccionar, utilice salt porque la mayoría de los trabajos se ejecutan en minions.

      Nota: Si decide cambiar el comando, se le presentará una nueva lista de funciones entre las que elegir.

      Destinos

      Opcional: Un destino es el grupo de minions, en uno o varios maestros de Salt, al que se aplica el comando de Salt de un trabajo. Puede crear destinos para sus trabajos en las áreas de trabajo Minions o Destinos. Consulte Cómo crear destinos para obtener más información.

      Si desea que se seleccionen los destinos en el momento en que ejecuta el trabajo, no seleccione nada en este menú. Si deja este campo en blanco, podrá seleccionar el destino en el momento en que ejecute el trabajo. Sin embargo, al definir el destino de un trabajo, también se evita que ese trabajo se ejecute en nodos en los que no se debe ejecutar.

      Función

      Seleccione qué módulo de Salt se va a ejecutar al ejecutar este trabajo. Haga clic en este campo y comience a escribir el nombre del módulo de Salt que desea seleccionar o selecciónelo en el menú. También puede escribir su propio valor si el módulo que desea utilizar no se encuentra en el menú desplegable.

      Si este trabajo está pensado para aplicar un archivo de estado de Salt a un minion, utilice el módulo state.apply. Consulte state.apply para obtener más información.

      Consulte el Índice de módulos de Salt para obtener una lista completa de los módulos de Salt. Consulte también Ejemplos de trabajos comunes para ver una tabla que describe algunos de los módulos más utilizados.

      Argumentos

      Puede utilizar el campo Argumentos para pasar args y kwargs al módulo de Salt.

      Cada línea del campo Argumentos representa un argumento. Por ejemplo, si utiliza el módulo file.copy, puede pasar path/to/src/ y path/to/dst al módulo.

      También puede utilizar argumentos de palabra clave. Por ejemplo, puede pasar src=path/to/src/ y dst=path/to/dst/ al módulo file.copy.

      Consulte el Índice de módulos de Salt para obtener una lista completa de los módulos de Salt.

      Entornos

      Este campo solo está disponible cuando se aplica a la función seleccionada, como state.apply, state.highstate y otros.

      Seleccione el entorno de Salt que desee en el menú o escríbalo si no aparece en la lista. Por ejemplo, si va a aplicar un archivo de estado desde el entorno base, seleccione base en el menú.

      Estados

      Este campo solo está disponible cuando se aplica a la función seleccionada, como state.apply.

      Seleccione el archivo de estado que desea aplicar en el menú o escriba el archivo si no aparece en la lista.

      Anulaciones de pilares

      Este campo solo está disponible cuando se aplica a la función seleccionada, como state.apply. Acepta los datos del pilar como JSON. Los datos del pilar se guardan en la definición del trabajo y se pasan a la función de módulo en tiempo de ejecución.

      El uso de Anulación de pilar en SaltStack Config es similar al envío de valores del pilar personalizados a través de la CLI. Los valores pasados de esta manera anulan los valores existentes del pilar establecidos mediante pillar_roots o un origen de pilar externo. Los valores del pilar que no se incluyen en kwarg no se sobrescribirán.

      Consulte Cómo crear archivos de estado y datos de pilar para obtener más información sobre los datos de los pilares.

      Un trabajo Apache de ejemplo en SaltStack Config
    4. Opcional: Compruebe la opción Ejecutar como prueba (simulacro) para ejecutar un trabajo de prueba y generar un retorno de trabajo simulado. La prueba (simulacro) solo está disponible para ciertas funciones, tales como state.apply. Si selecciona Probar, el trabajo se ejecuta en modo de simulacro y no se realizará ningún cambio. Si deja esta opción sin seleccionar, puede optar por ejecutar el trabajo como una prueba más adelante cuando lo ejecute.
    5. Opcional: Agregue Entradas de trabajo a su trabajo. Consulte Agregar entradas de trabajo para obtener más información.
  4. Guarde el trabajo y confirme que aparece en el área de trabajo Trabajos.

Agregar entradas de trabajo

Como administrador de sistemas, puede utilizar entradas de trabajo para configurar argumentos o variables que otros usuarios pueden cambiar en tiempo de ejecución. Antes de crear varios trabajos para distintos casos prácticos, puede crear trabajos de propósito general y, a continuación, definir entradas de trabajo opcionales y obligatorias para los usuarios. Esto puede ayudar a reducir la cantidad de solicitudes de creación de trabajos que recibe.

Una ventaja de usar entradas de trabajo es que puede restringir o limitar el acceso a los tipos de argumentos o variables que otros administradores pueden transferir a la función en el tiempo de ejecución del trabajo, a la vez que les permite realizar las tareas necesarias para realizar tareas dentro de su ámbito de responsabilidad. De esta manera, las entradas de trabajo claramente definidas garantizan que la organización siga las prácticas recomendadas de seguridad estándar, como el principio de menor privilegio.

Antes de comenzar

Tenga en cuenta las entradas de trabajo que los usuarios necesitan editar

Antes de definir las entradas de trabajo, es importante pensar qué entradas de trabajo desea que los usuarios vean y editen en tiempo de ejecución. Recuerde que otras personas además de usted podrían ejecutar este trabajo y que la forma en que se les muestren las entradas del trabajo cambiará en función de cómo configure las entradas del trabajo. Tómese un poco de tiempo para pensar detenidamente qué entradas de trabajo desea que estos usuarios vean y editen en tiempo de ejecución.

Por ejemplo, es posible que cree un trabajo que aplique las opciones de configuración a los servidores según el propósito o la función del servidor. Es posible que pueda crear un trabajo genérico que aplique las opciones de configuración de un archivo de estado y crear entradas de trabajo que permitan a un administrador seleccionar qué archivo de estado se aplica en una lista del menú desplegable. En el tiempo de ejecución del trabajo, el usuario vería el menú desplegable con una lista de los archivos de estado posibles que definió y nada más.

De esta manera, las entradas de trabajo proporcionan a los administradores del sistema más control sobre lo que permiten que otros administradores vean y cambien en el tiempo de ejecución del trabajo. Asimismo, puede proporcionar flexibilidad y, al mismo tiempo, garantizar que otros usuarios solo puedan cambiar lo que se permite dentro de su ámbito de responsabilidad o nivel de permiso.

Para definir entradas de trabajo:
  1. Haga clic en Configuración > Trabajos en el menú lateral para abrir el área de trabajo Trabajos.
  2. Seleccione un trabajo para abrir los detalles del trabajo.
  3. Desplácese hacia abajo hasta la sección Entradas de trabajo de la página de detalles del trabajo.Captura de pantalla de una lista de entradas de trabajo
  4. Haga clic en el botón Agregar entrada de trabajo.
  5. Introduzca los detalles de la entrada del trabajo.
    Campo Valor
    Nombre para mostrar

    Establezca el nombre de la entrada del trabajo.

    Cuando un usuario ve esta entrada de trabajo en tiempo de ejecución, el texto que introduzca como Nombre para mostrar es el indicador más importante de la función y el propósito de la entrada.

    Elija un nombre breve, preciso y descriptivo, como "Servicio para reiniciar".

    Tipo de entrada

    Establezca el tipo de entrada del trabajo. Existen cuatro tipos de entrada: cadena, número, booleano y seleccionar.

    • Utilice el tipo de entrada cadena si desea que los usuarios proporcionen un valor.
    • Utilice el número si desea que los usuarios especifiquen la cantidad o el tamaño.
    • Utilice booleano para escenarios verdaderos o falsos.
    • Utilice seleccionar si desea que los usuarios elijan entre una lista de valores. Los valores de una lista seleccionar pueden ser cadenas, números o booleanos. Por ejemplo, el tipo de entrada de la entrada de trabajo "Servicio para reiniciar" puede ser una lista para seleccionar cadenas. Por ejemplo, httpd, sshd o mysqld.

    Antes de elegir un tipo de entrada, consulte el Índice de módulos de Salt. El tipo de entrada se determina en función del módulo de Salt que utiliza el trabajo y con qué parámetro se correlaciona el tipo de entrada en el módulo de Salt. Si elige un tipo de entrada incorrecto, se producirá un error en el trabajo.

    Mostrar al ejecutar el trabajo

    Permite que los usuarios vean y editen los valores al ejecutar el trabajo.

    Si activa esta opción, el campo Texto de ayuda aparece en la ventana Editar entrada de trabajo.

    Si se encuentra con problemas para encontrar un Nombre para mostrar breve y preciso, utilice el campo Texto de ayuda para proporcionar información adicional sobre la entrada del trabajo. Por ejemplo, puede describir una situación que requiera que un usuario proporcione un valor.

    Este texto de ayuda aparece en la información sobre herramientas de ayuda (?) junto al nombre de la entrada del trabajo cuando un usuario ejecuta el trabajo.

    Palabra clave

    Proporcione el parámetro o argumento que se transfiere a la función del módulo que se está ejecutando. Consulte el Índice de módulos de Salt para obtener más información sobre las funciones del módulo.

    Nota: Las entradas de trabajo no admiten argumentos posicionales sin palabra clave. Se pueden especificar en el trabajo en Argumentos, pero no se pueden proporcionar durante la ejecución del trabajo.

    Valor predeterminado/valor

    Si Mostrar al ejecutar el trabajo está habilitado, puede utilizar el campo opcional Valor predeterminado para proporcionar un valor predeterminado para la entrada del trabajo. Los usuarios pueden transferir el valor predeterminado a la función de módulo o cambiarlo en tiempo de ejecución.

    Considere si proporcionar un valor predeterminado para los usuarios será útil. Proporcionar un valor predeterminado puede ayudar a los usuarios a ahorrar tiempo al ejecutar trabajos, pero puede haber situaciones en las que no sea necesario. Por ejemplo, es posible que una entrada de trabajo llamada "Centro de datos" no requiera un valor predeterminado porque el valor variará.

    Si Mostrar al ejecutar el trabajo está deshabilitado, puede utilizar el campo Valor para pasar un valor predeterminado a la función del módulo. Los usuarios no podrán ver ni editar el valor.

    Se requiere en la entrada del trabajo

    Si Mostrar al ejecutar el trabajo está habilitado, tiene la opción de solicitar a los usuarios que proporcionen un valor para la entrada del trabajo.

    Considere si requerir que los usuarios proporcionen un valor será útil. A medida que diseña sus trabajos, piense qué puede suceder si los usuarios no proporcionan un valor. Si se puede producir un error en el trabajo si no tiene un valor, requiéralo en el tiempo de ejecución. Si el trabajo se puede ejecutar correctamente sin él, haga que sea opcional.

    Si es posible, utilice el campo Texto de ayuda para ayudar a los usuarios a comprender la función de entrada del trabajo.

  6. Guarde la entrada del trabajo y confirme que aparece en la lista de entradas del trabajo en la página de detalles del trabajo.
    Nota:

    Es posible que otros campos aparezcan en la lista de entradas de trabajo, como Entornos, Estados o Prueba, según la función del módulo que utilice. Si desea que los usuarios vean estas entradas en tiempo de ejecución, haga clic en el icono de lápiz junto a la palabra clave para editar la entrada del trabajo y alternar Mostrar al ejecutar el trabajo.

  7. Guarde el trabajo.
  8. Para validar que las entradas de trabajo funcionan según lo esperado, inicie sesión en SaltStack Config como un usuario que pueda ejecutar trabajos con un nivel de permiso o una función con menos privilegios de acceso.

    Si falta una entrada de trabajo, se produce un error en el trabajo o la entrada del trabajo necesita argumentos o descripciones adicionales, realice los ajustes necesarios en el trabajo antes de permitir que los usuarios lo ejecuten.

Pasos siguientes

Después de crear su trabajo, ahora puede ejecutarlo ad hoc o en una programación regular. Para obtener más información, consulte: