Come raggruppare / comporre i servizi systemd?

Ho tre servizi di sistema (contenitori Docker, ma non è importnte). Tutti e tre questi servizi devono essere in esecuzione per essere completamente funzionale all'applicazione.

Per semplificare le procedure per la squadra di ops, ho creato un servizio systemd per raggruppare tutti insieme utilizzando le direttive Requires e PartOf . L'avvio e l'arresto di questo servizio sarà ora avviato e arrestato i tre contenitori nell'ordine corretto.

L'ultima sfida è quella di get il servizio systemd avanti per mostrare lo stato corretto. Adesso visualizza "caricato / inattivo" dopo aver avviato i servizi. È ansible configurarlo in modo tale da mostrare "caricato / attivo" quando e solo quando i primi tre servizi sono in esecuzione?

 [Unit] Description=This is the group Requires=a.service b.service c.service [Service] ExecStart=/bin/echo "Starting" ExecStop=/bin/echo "Stopping" [Install] WantedBy=local.target 

L' a.service , b.service e c.service contiene PartOf=group.service

  • Come si può distinguere tra un crash e un riavvio su RHEL7?
  • Perché ho il codice di stato 2 e cosa significa?
  • Systemd eseguire il command dopo il limite di avvio raggiunto
  • Perché devo utilizzare systemd per impostare il mio fuso orario in RHEL7?
  • systemd ExecStartPost non sembra essere chiamato
  • Avviare e arrestare un'unità systemd con un'altra
  • Ottenere il journald per submit email su determinati events
  • Come impostare il nome host per un sistema Debian Jessie?
  • One Solution collect form web for “Come raggruppare / comporre i servizi systemd?”

    Penso che sia necessario aggiungere una clausola After= . Se i tuoi tre servizi sono collegati, puoi anche semplificare i Requires .

    Se voleste che questo quarto servizio si fermasse quando gli altri 3 fanno, dovresti anche aggiungere una voce BindsTo .

    Come in:

     [Unit] Description=This is the group Requires=c.service After=c.service BindsTo=c.service 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.