SaltStack - Gestione dei lavori

Salt ha la capacità di comunicazione ad alta velocità con un gran numero di sistemi. Questo approccio aiuta Salt a creare un potente sistema multitasking. Salt può eseguire lavori su più di un sistema, quindi Salt utilizza la tecnica di gestione dei lavori per gestire ogni lavoro in esecuzione su tutti i sistemi. Questo capitolo spiega in dettaglio la gestione dei lavori.

Cos'è un Job ID?

Salt ha una directory della cache, cachedir. All'interno di questo, una directory mantenuta dai servi è chiamataprocdirectory. Si trova nella seguente directory / var / cache / salt / proc.

La directory proc viene utilizzata per mantenere tutti i file. Quando questi file vengono eseguiti, vengono assegnati con un ID lavoro univoco. Questo ID lavoro aiuta a identificare i lavori correnti in esecuzione sul servitore e consente di cercare i lavori.

Modulo SALTUTIL

Salt introduce un nuovo modulo chiamato processo di gestione dei lavori Saltutil. Questo modulo contiene diverse funzioni per gestire i lavori. Queste funzioni vengono utilizzate per gestire i lavori a livello di minion. Le funzioni sono descritte brevemente come segue:

  • running - Restituisce tutti i dati dei lavori in esecuzione che si trovano nella directory proc.

  • find_job - Restituisce dati specifici su un determinato lavoro in base all'ID lavoro.

  • signal_job - Consente a un determinato ID lavoro (jid) di ricevere un segnale.

  • term_job - Invia un segnale di conclusione per il lavoro specificato.

  • kill_job - Invia un segnale kill per il lavoro specificato.

Jobs Runner

Il runner dei lavori contiene funzioni per rendere la visualizzazione dei dati più semplice e pulita. Ha diverse funzioni. Cerchiamo di discutere ciascuna di queste funzioni in dettaglio.

Funzione ATTIVA

La funzione Attivo viene utilizzata per identificare quali lavori sono ancora in esecuzione e controllare quali sistemi hanno completato un lavoro e quali sistemi sono ancora in attesa. Viene eseguito utilizzando il seguente comando,

salt-run jobs.active

Funzione LOOKUP_JID

Il runner lookup_jid mostrerà i dati per il lavoro in cerca corrente. Questi lavori vengono configurati tramitekeep_jobsopzione nella configurazione master. Viene eseguito utilizzando il seguente comando.

salt-run jobs.lookup_jid <job id number>

Funzione LIST_JOBS

La funzione List_jobs viene utilizzata per elencare i dati del lavoro per i lavori. È espresso dal seguente comando:

salt-run jobs.list_jobs

Pianificazione del lavoro

Il sistema di pianificazione espone l'esecuzione di qualsiasi funzione di esecuzione su minion o qualsiasi corridore sul master.

Viene eseguito con i seguenti metodi:

  • Schedule - L'opzione di pianificazione nel master o nel minion config File.

  • Minion pillar data - Aggiorna i dati del pilastro minion utilizzando il comando saltutil.refresh_pillar.

  • Lo stato di pianificazione o il modulo di pianificazione.

Gli stati del sale vengono eseguiti sul servitore. Puoi passare gli argomenti posizionali e fornire un fileYAML dict degli argomenti denominati in config file come mostrato di seguito.

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

Qui, job1 eseguirà la funzione saltstate.sls con gli argomenti specificati, httpdper ogni ora. Iltest: True è l'argomento aggiuntivo per httpd comando definito in saltstate.sls.