Come disabilitare le marionette pianificate automatiche che si verificano ogni 30 minuti?


8

Scopo

L'obiettivo è disabilitare le corse automatiche di Puppet-Agent che si verificano ogni 30 minuti. È possibile modificare l'intervallo , ma le esecuzioni automatiche di Puppet-Agent dovrebbero essere completamente disabilitate.


Tentativo uno

Secondo questa documentazione , dovrebbe essere possibile disabilitare le esecuzioni automatiche di Puppet-Agent configurando quanto segue:

/etc/puppet/puppet.conf

[agent]
daemonize=false

risultati in

Notice: Run of Puppet configuration client already in progress; 
skipping  (/var/lib/puppet/state/agent_catalog_run.lock exists)

se il pupazzo viene eseguito manualmente all'intervallo di esecuzione predefinito di 30 minuti.


Tentativo due

user@hostname:~$ sudo puppet agent --disable

risultati in

user@hostname:~$ sudo puppet agent -t
Notice: Skipping run of Puppet configuration client; 
administratively disabled (Reason: 'reason not specified');
Use 'puppet agent --enable' to re-enable.

Tentativo tre

Questa documentazione è stata trovata dopo aver cercato su Google la domanda di queste domande e risposte, ma le informazioni fornite non hanno risposto alla domanda.


2
Tentare di funzionare. Se era già in esecuzione devi fermarlo da solo. Questo impedisce solo che le istanze future vengano demonizzate. Se mi manca qualcosa, chiarire perché non ha funzionato. Puoi anche chkconfig puppet off && service puppet stopsu Red Hat e derivati.
Aaron Copley,

@AaronCopley Grazie per il consiglio. Ho disabilitato e fermato il burattino e monitorerò se non viene eseguito di nuovo ogni 30 minuti. L' daemonize=falseimpostazione risiede ancora nella sezione Agent in /etc/puppet/puppet.conf
030

@AaronCopley Potresti pubblicare il commento come risposta?
030

Risposte:


10

"Tentativo uno" avrebbe dovuto funzionare. Se era già in esecuzione devi fermarlo da solo. Questo impedisce solo che le istanze future vengano demonizzate. Se mi manca qualcosa, chiarire perché non ha funzionato. Puoi anche chkconfig puppet off && service puppet stopsu Red Hat e derivati.


Forse non ha funzionato la prima volta poiché l'agente fantoccio non è stato riavviato. Domani verificherò se l'esecuzione del comando fornito ha risolto il problema.
030

4

È necessario assicurarsi che l'agente fantoccio non inizi come servizio. I comandi piacciono systemctlo chkconfigsono i tuoi amici qui (ad es. systemctl disable puppetO chkconfig puppet off). Non sono sicuro della maggior parte delle distro.

Quindi dovresti anche assicurarti che l'agente sia fermato. Ad esempio systemctl stop puppeto service stop puppet.

Puoi anche semplicemente usare le marionette per realizzare quanto sopra:

puppet apply <(echo "service { puppet: ensure => false, enable => false }")

Se continua a non funzionare, pkill puppetper buona misura, riprovare, se ancora non funziona, riavviare.


3

Stai cercando un comando come:

puppet agent --disable

Grazie per aver inviato una risposta. L'esecuzione di questo comando comportaError: Could not parse application options: invalid option: --disable
030

1
dovrebbe essere un agente fantoccio
disabilitabile

@dmourati Questo comando è stato eseguito. sudo puppet agent -trisultatiNotice: Skipping run of Puppet configuration client; administratively disabled (Reason: 'reason not specified'); Use 'puppet agent --enable' to re-enable.
030

@TomOnTime Questo è già stato provato. Una volta eseguito questo comando, non è più possibile eseguire manualmente il pupazzo (Documentation of Attempt2 in the question)
030

1
Questo è quello che volevi: amministrativamente disabilitato. Se è necessario eseguire manualmente disabilitato a livello amministrativo: agente fantoccio - abilitabile; agente fantoccio - test; agente fantoccio
disabilitabile

2

Non mi aspetto che l'opzione daemonize influisca su questo - mi aspetto che controlli se lo sfondo del programma stesso si stacca e si stacca dal terminale.

https://docs.puppetlabs.com/references/stable/configuration.html#runinterval dice ...

runinterval

Con quale frequenza l'agente fantoccio applica il catalogo. Si noti che un intervallo di funzionamento pari a 0 significa "eseguire continuamente" anziché "mai eseguire". Se vuoi che l'agente fantoccio non venga mai eseguito, dovresti avviarlo con l'opzione --no-client. Questa impostazione può essere un intervallo di tempo in secondi (30 o 30 secondi), minuti (30 minuti), ore (6 ore), giorni (2 giorni) o anni (5 anni).

che sembra più pertinente (il riferimento all'inizio --no-clientpiuttosto che l'impostazione stessa).

Quando abbiamo bisogno di impedire alle marionette di apportare modifiche regolari, interrompiamo il servizio sul nodo gestito. Ciò ovviamente significa che devi essere in grado di invocare una corsa una tantum attraverso qualche altro meccanismo (non lo facciamo spesso, quindi corri solo dalla shell).

Con questa configurazione puppetd è in esecuzione ma non esegue aggiornamenti regolari (questa è la mia aspettativa - lo sto provando su una macchina di prova ma non è ancora trascorso abbastanza tempo).

L'esecuzione puppet agent --testcauserà una singola corsa ma non pianificherà alcuna corsa futura.


Grazie per aver inviato una risposta. Questo significa che se qualcuno esegue accidentalmente, ad es. sudo puppet agent -tChe l'esecuzione pianificata verrà riattivata?
030

No, -timplica no-daemonize. (Così come onetime, verbose, ignorecache, no-usecacheonfailure, detailed-exit-codes, no-splay, e show_diff.) Si può vedere questo nell'output del puppet agent help.
Aaron Copley,

1

sudo service puppet stop se stai eseguendo il demone fantoccio

Oppure elimina il cronjob se è così che lo hai configurato.


L'installazione di un agente Puppet comporta anche l'installazione di un processo cron? Non ho configurato un cronjob per eseguire Puppet da solo.
030

No, un'installazione predefinita non comporta un processo cron creato. Se scegli di eseguire Puppet senza il servizio daemonizzato, puoi creare tu stesso un lavoro cron .
Aaron Copley il

1
puppet --version

ritorna

5.3.3

puppet resource service puppet ensure=stopped enable=false

ritorna

Notice: /Service[puppet]/ensure: ensure changed 'running' to 'stopped'
service { 'puppet':
  ensure => 'stopped',
  enable => 'false',
}

L'opposto di stoppedè running. L'opposto di falseè true. ;)


0

Come ho accennato nella domanda collegata , una possibilità di aver eseguito il burattinaio e disabilitare l'esecuzione della configurazione, cambia runintervalin un valore molto grande, come 10 anni o qualcosa del genere. Ma questa soluzione attiva ancora la configurazione eseguita dopo il riavvio dell'agente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.