On Mon, Jul 6, 2020 at 10:01 AM manish khandelwal < manishkhandelwa...@gmail.com> wrote:
> I have started reading about how to deploy Cassandra with K8S. But as I > read more I feel there are a lot of challenges in running Cassandra on K8s. > Some of the challenges which I feel are > > 1. POD IPs identification - If the pods go down and when they come up > their IPs change, how is it handled as we are dependent on IPs of Cassandra > nodes for internode as well client server communication. > Strictly safe to change an IP to an IP that is unused. Strictly unsafe to use an IP that's already in the cluster (so if two pods go down, having the first pod that comes up grab the IP of the second pod is strictly dangerous and will violate consistency and maybe lose data). > > 2. A K8S node can host a single pod. This is being done so that even if > the host goes down we have only one pod down case. With multiple pods on a > single host there is a risk of traffic failures as consistency might not be > achieved. But if we keep two pods of the same rack on a single host then > are we safe or is there any unknown risk? > This sounds like you're asking if rack aware snitches protect you from concurrent pods going down. Make sure you're using a rack aware snitch. > > 3. Seed discovery? Again as an extension of point 1, since IPs can change, > how we can manage seeds. > Either use DNS instead of static IPs, or use a seed provider that handles IPs changing. > > 4. Also I read a lot of use of Cassandra operators for maintaining a > Cassandra cluster on Kubernetes. I think that Cassandra Operator is like a > robot (automated admin) which works and acts like a norma admin will work. > I want to understand that how important is Cassandra operator and what if > we go on to production without one? > > Regards > Manish >