Sejauh yang saya mengerti:
Mesos, Kubernetes, dan Armada semuanya mencoba memecahkan masalah yang sangat mirip. Idenya adalah Anda memisahkan semua perangkat keras dari pengembang dan 'alat manajemen kluster' mengurutkan semuanya untuk Anda. Maka semua yang perlu Anda lakukan adalah memberikan sebuah wadah ke cluster, berikan beberapa info (tetap berjalan secara permanen, tingkatkan jika X terjadi dll) dan manajer cluster akan mewujudkannya.
Dengan Mesos, itu melakukan semua manajemen cluster untuk Anda, tetapi itu tidak termasuk penjadwal. Penjadwal adalah bit yang mengatakan, ok proses ini membutuhkan 2 procs dan RAM 512MB, dan saya punya mesin di sana dengan yang gratis, jadi saya akan menjalankannya di mesin itu. Ada beberapa penjadwal plugin yang tersedia untuk Mesos: Marathon dan Chronos dan Anda dapat menulis sendiri. Ini memberi Anda banyak kekuatan distribusi sumber daya dan penskalaan klaster dll.
Armada dan Kubernetes tampaknya mengaburkan detail-detail semacam itu (jadi pada dasarnya Anda tidak harus menulis sendiri penjadwal). Ini berarti Anda harus mendefinisikan tugas Anda dan mengirimkannya dalam format / cara yang ditentukan oleh Armada atau Kubernetes dan kemudian mereka mengambil alih dan menjadwalkan tugas (wadah) untuk Anda.
Jadi saya kira: Menggunakan Mesos mungkin berarti sedikit lebih banyak pekerjaan dalam menulis penjadwal Anda sendiri, tetapi berpotensi memberikan lebih banyak fleksibilitas jika diperlukan.
Saya pikir ide menjalankan Kubernetes di atas Mesos adalah bahwa Kubernet bertindak sebagai penjadwal untuk Mesos. Secara pribadi saya tidak yakin manfaat apa yang didapat dari menjalankan satu atau yang lainnya sendiri (mudah-mudahan seseorang akan melompat masuk dan menjelaskan!)
Seperti yang dikatakan MikeB .. ini adalah hari-hari awal, dan itu semua untuk diperebutkan (mengawasi ECS Amazon juga) sehingga ada banyak standar yang bersaing dan banyak tumpang tindih!
-edit- Saya tidak menyebutkan Docker berkerumun karena saya tidak benar-benar memiliki banyak pengalaman dengannya.