SaltStack - Gestión de trabajos

Salt tiene la capacidad de comunicarse de alta velocidad con una gran cantidad de sistemas. Este enfoque ayuda a Salt a crear un potente sistema multitarea. Salt puede ejecutar trabajos en más de un sistema, por lo que Salt utiliza la técnica de administración de trabajos para administrar cada trabajo que se ejecuta en todos los sistemas. Este capítulo explica en detalle la gestión de trabajos.

¿Qué es una identificación de trabajo?

Salt tiene directorio de caché, cachedir. Dentro de esto, un directorio que mantienen los minions se llama como elprocdirectorio. Se encuentra en el siguiente directorio / var / cache / salt / proc.

El directorio proc se usa para mantener todos los archivos. Cuando se ejecutan estos archivos, se asignan con un ID de trabajo único. Esta identificación de trabajo ayuda a identificar los trabajos que se están ejecutando actualmente en el minion y permite buscar los trabajos.

Módulo SALTUTIL

Salt presenta un nuevo módulo que se denomina proceso de gestión de trabajos Saltutil. Este módulo contiene diferentes funciones para gestionar trabajos. Estas funciones se utilizan para gestionar trabajos a nivel de minion. Las funciones se describen brevemente de la siguiente manera:

  • running - Devuelve todos los datos de trabajos en ejecución que se encuentran en el directorio proc.

  • find_job - Devuelve datos específicos sobre un determinado trabajo en función de la identificación del trabajo.

  • signal_job - Permite enviar una señal a una identificación de trabajo determinada (jid).

  • term_job - Envía una señal de terminación para el trabajo especificado.

  • kill_job - Envía una señal de interrupción para el trabajo especificado.

Corredor de trabajos

El corredor de trabajos contiene funciones para que la visualización de datos sea más fácil y limpia. Tiene diferentes funciones. Analicemos cada una de estas funciones en detalle.

Función ACTIVA

La función activa se utiliza para identificar qué trabajos aún se están ejecutando y verificar qué sistemas han completado un trabajo y qué sistemas aún se están esperando. Se ejecuta usando el siguiente comando,

salt-run jobs.active

Función LOOKUP_JID

El corredor lookup_jid mostrará los datos del trabajo actual. Estos trabajos se configuran a través delkeep_jobsopción en la configuración maestra. Se ejecuta usando el siguiente comando.

salt-run jobs.lookup_jid <job id number>

Función LIST_JOBS

La función List_jobs se utiliza para enumerar los datos del trabajo para trabajos. Se expresa mediante el siguiente comando:

salt-run jobs.list_jobs

Programación de trabajos

El sistema de programación expone la ejecución de cualquier función de ejecución en minions o cualquier corredor en el maestro.

Se realiza mediante los siguientes métodos:

  • Schedule - La opción de horario en el maestro o el minion config archivos.

  • Minion pillar data - Actualiza los datos del pilar minion usando el comando saltutil.refresh_pillar.

  • El estado de programación o módulo de programación.

Los estados de sal se ejecutan en el minion. Puede pasar los argumentos posicionales y proporcionar unYAML dict de los argumentos nombrados en el config file Como se muestra abajo.

schedule:
   job1:
      function: saltstate.sls
      seconds: 3600
      args:
         - httpd
      kwargs:
         test: True

Aquí, job1 ejecutará la función saltstate.sls con los argumentos especificados, httpdpor cada hora. lostest: True es el argumento adicional de la httpd comando que se define en saltstate.sls.