I was wondering if Google Kubernetes is able to run Apache Mesos frameworks, such as Hadoop or Cassandra etc.., like applications running on top of it. If yes or no, please justify your answers. Thank you.
Yes!
The new "DaemonSet" abstraction in Kubernetes provides great support for running data processing and storage systems like HDFS and others relying on daemon-based architectures...
"Users might want to implement a sharded datastore in their (Kubernetes) cluster. A few nodes in the cluster, labeled ‘app=datastore’, might be responsible for storing data shards, and pods running on these nodes might serve data. This architecture requires a way to bind pods to specific nodes, so it cannot be achieved using a Replication Controller. A DaemonSet is a convenient way to implement such a datastore."
See: https://github.com/kubernetes/kubernetes/blob/release-1.1/docs/design/daemon.md
There's conflicting answers, here. Let me try to clarify.
Kubernetes and Mesos are both frameworks/platforms that are more like pets than cattle. In fact, they're a little bit of both.
Running pets is something that Kubernetes CAN now do, with the recent DaemonSets functionality, but it wasn't really designed with this capability in mind. And, IMO, it doesn't quite do well enough yet for production use. Kubernetes was originally designed to run cattle-like replicated containers. However, there is active development to improve running pet-like applications, especially to support bootstrapping, to run Kubernetes itself on Kubernetes nodes, using DaemonSets.
Mesos, on the other hand, was designed explicitly to make these pet-like distributed systems easier to write and manage. It does this by effectively outsourcing the consistent state management, and providing a standard interface against with to write a framework/controller which can respond to cluster events with custom logic. It doesn't just treat every application the same way, it lets you program your own event handler code, specific to your pet-like application. This allows for more control. Obviously, cattle-like applications don't need this extra control. So to run cattle-like applications on Mesos you use an intermediate framework, like Marathon or Kubernetes, to implement the scheduling and event handling logic in a generic, declaratively configurable way.
Disclaimer: I work on the Kubernetes-Mesos project for running Kubernetes on Mesos/DCOS.
No. In fact it's the other way round. Concerning benefits see also my presentation here.
Yes and no - you can run applications in containers on kubernetes, and you can run kubernetes on mesos.
In fact, Cassandra is one of the standard kubernetes examples. And there is an example of kubernetes on mesos.