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
smime.p7s
Description: S/MIME cryptographic signature