Per quanto ho capito:
Mesos, Kubernetes e Fleet stanno tutti cercando di risolvere un problema molto simile. L'idea è di sottrarre tutto il tuo hardware agli sviluppatori e lo "strumento di gestione dei cluster" risolve tutto per te. Quindi tutto ciò che devi fare è dare un contenitore al cluster, dargli alcune informazioni (tenerlo in esecuzione in modo permanente, scalare se X accade ecc.) E il gestore cluster lo farà accadere.
Con Mesos, esegue tutta la gestione dei cluster per te, ma non include lo scheduler. Lo scheduler è il bit che dice, ok questo processo ha bisogno di 2 proc e 512 MB di RAM, e ho una macchina laggiù con quella libera, quindi la eseguirò su quella macchina. Ci sono alcuni programmatori di plugin disponibili per Mesos: Marathon e Chronos e puoi scriverne uno tuo. Questo ti dà molta potenza nella distribuzione delle risorse e nel ridimensionamento dei cluster, ecc.
Fleet e Kubernetes sembrano sottrarre questo tipo di dettagli (quindi non è necessario scrivere il proprio programmatore in pratica). Ciò significa che devi definire le tue attività e inviarle nel formato / modo definito da Fleet o Kubernetes e quindi assumono e pianificano le attività (container) per te.
Quindi immagino: l'uso di Mesos può significare un po 'più di lavoro nello scrivere il proprio programmatore, ma potenzialmente offre maggiore flessibilità se necessario.
Penso che l'idea di far funzionare Kubernetes su Mesos sia che Kubernetes funga da schedulatore per Mesos. Personalmente non sono sicuro di quali benefici porti a correre l'uno o l'altro da solo (speriamo che qualcuno salti dentro e spieghi!)
Come ha detto MikeB .. sono i primi giorni, ed è tutto pronto (tieni d'occhio anche l'ECS di Amazon), quindi ci sono molti standard concorrenti e molte sovrapposizioni!
-edit- Non ho menzionato lo sciame di Docker in quanto non ho molta esperienza con esso.