come pianificare il lavoro con il monitoraggio della CPU, della memory, del disco io, ecc.

Il mio problema è che ho un server dedicato, ma le risorse sono ancora limitate, cioè IO, memory, CPU, ecc. Ho bisogno di eseguire molti lavori each giorno. Alcuni lavori sono intensivi, alcuni lavori sono computazionali. C'è un modo per monitorare lo stato attuale e decidere quando avviare un nuovo lavoro dal mio pool di lavoro o no. Ad esempio, quando conosce che il lavoro in corso è intenso, puo 'pranzare un lavoro che non si relegia su gran parte di io. Oppure può scegliere un lavoro in esecuzione che utilizza un sacco di disco io, interromperlo, riarrangiarlo più tardi. Vado a trovare la soluzione con docker, in quanto può monitorare il process, ma non conosco tale tipo di pianificatore build sulla cima del docker. Grazie

È ansible controllare il command docker stats per get le metriche di base su ciò che è in esecuzione nei contenitori gestiti da un demone docker.

Non è ansible assegnare un lavoro ad un nodo in base al suo comportmento dinamico . Ciò significherebbe sapere in anticipo quale tipo di risorse utilizzerà un lavoro. Quello che non è descritto nel docker a tutti.

Docker fornisce un modo per contrassegnare i nodes che consentono ai file di swarm , che consentono a un gestore di cluster come lo swarm di select il nodo giusto in base ai criteri rappresentati da un tag.

Ma Docker non sa circa il "lavoro" da lanciare.

A seconda della versione di Docker sei in uso, hai una serie di opzioni per prod. È ansible utilizzare il nativo Docker Swarm (appena andato GA in v1.9), puoi dare il Kubernetes più maturo a provare o il Nomad di HashiCorp (primi giorni) e c'è naturalmente Apache Mesos + Marathon . Vedi anche questo confronto per ulteriori informazioni sull'argomento.