[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Advantage over Cassandra in Kubernetes

This is a fairly high-level question which could end up going quite deep, but below is a quick summary off the top of my head.  

You can get a few advantages when running Cassandra in Kubernetes, particularly: 
  • Easy discovery and network connectivity with other services running on K8s
  • Reproducible, repeatable operations and deployments
  • A cloud-independent approach to container orchestration, that is supported by all major cloud providers.
  • Easy backups, deployments, scaling etc via statefulsets or an operator (see https://github.com/instaclustr/cassandra-operator).
There are also some rough edges with running Cassandra on Kubernetes:
  • Failure domain placement with statefulsets is still challenging (v1.12 goes a long way to fixing this - https://kubernetes.io/blog/2018/10/11/topology-aware-volume-provisioning-in-kubernetes/
  • Getting resource constraints correct and working out scheduling in constrained environments can be maddening. 
  • Only a few, small deployments (that I'm aware of) are running Cassandra in Kubernetes in production. So you will be breaking new ground and encounter problems that haven't been solved before.
  • The Cassandra examples in the official Kubernetes documentation is not something you want to take into production.


On Thu, Oct 11, 2018 at 6:50 PM Goutham reddy <goutham.chirutha@xxxxxxxxx> wrote:
We are in the process of setting up Cassandra cluster with high availability. So the debate is installing Cassandra in Kubernetes cluster.
Can someone  throw some light, what advantages can I get when created Cassandra cluster inside Kubernetes cluster. Any comments are highly appreciated:)

Thanks and Regards,
Goutham Reddy Aenugu.
Goutham Reddy
Ben Bromhead
CTO | Instaclustr
+1 650 284 9692
Reliability at Scale
Cassandra, Spark, Elasticsearch on AWS, Azure, GCP and Softlayer