Using a statefulset should get you pretty far, though will likely be less 
effective than a coreos-style “operator”. Some random points:
For scale-up: a node shouldn’t report “ready” until it’s in the NORMAL state; 
this will prevent multiple nodes from bootstrapping at once.
For scale-down: as of now there isn’t a mechanism to know if a pod is getting 
decommissioned because you’ve permanently lowered replica count, or because 
it’s just getting bounced/re-scheduled, thus knowing whether or not to 
decommission is basically impossible. Relevant issue: kubernetes/kubernetes#1462
 

From: Pradeep Chhetri <prad...@stashaway.com>
Reply-To: "user@cassandra.apache.org" <user@cassandra.apache.org>
Date: Friday, May 18, 2018 at 10:20 AM
To: "user@cassandra.apache.org" <user@cassandra.apache.org>
Subject: Re: Using K8s to Manage Cassandra in Production

 

Hello Hassaan, 

 

We use cassandra helm chart[0] for deploying cassandra over kubernetes in 
production. We have around 200GB cas data. It works really well. You can scale 
up nodes easily (I haven't tested scaling down).

 

I would say that if you are worried about running cassandra over k8s in 
production, maybe you should first try setting it for your 
staging/preproduction and gain confidence over time. 

 

I have tested situations where i have killed the host running cassandra 
container and have seen that container moves to a different node and joins 
cluster properly. So from my experience its pretty good. No issues till yet.

 

[0]: https://github.com/kubernetes/charts/tree/master/incubator/cassandra 
[github.com]

 

 

Regards,

Pradeep

 

On Fri, May 18, 2018 at 1:01 PM, Павел Сапежко <amelius0...@gmail.com> wrote:

Hi, Hassaan! For example we are using C* in k8s in production for our video 
surveillance system. Moreover, we are using Ceph RBD as our storage for 
cassandra. Today we have 8 C* nodes each manages 2Tb of data. 

 

On Fri, May 18, 2018 at 9:27 AM Hassaan Pasha <hpa...@an10.io> wrote:

Hi, 

 

I am trying to craft a deployment strategy for deploying and maintaining a C* 
cluster. I was wondering if there are actual production deployments of C* using 
K8s as the orchestration layer.

 

I have been given the impression that K8s managing a C* cluster can be a recipe 
for disaster, especially if you aren't well versed with the intricacies of a 
scale-up/down event. I know use cases where people are using Mesos or a custom 
tool built with terraform/chef etc to run their production clusters but have 
yet to find a real K8s use case.

 

Questions?

Is K8s a reasonable choice for managing a production C* cluster?

Are there documented use cases for this?

 

Any help would be greatly appreciated.

 

-- 

Regards, 

 

Hassaan Pasha

-- 

Regrads,
Pavel Sapezhko
 

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to