I am asking this because the only case where I see IP swap can occur is when two Cassandra nodes are running on the same K8S host node. I am evaluating how safe it is two run two Cassandra nodes on a single K8S host node.
*Totally Agree that swap is not the right word but one node still taking other nodes IP* Regards Manish On Tue, Aug 4, 2020 at 10:07 AM manish khandelwal < manishkhandelwa...@gmail.com> wrote: > But again if > Some Cassandra node (pod) with particular IP X is down, > Second Cassandra node (pod) tries to take the IP X of first Cassandra node, > Second Cassandra node should fail to join the cluster as the Cassandra > cluster will complain that IP X is already occupied. > In that sense actual swap of IPs can occur between two nodes and data > issues should not occur. > > I am asking this because the only case where I see IP swap can occur is > when two Cassandra nodes are running on the same K8S host node. I am > evaluating how safe it is two run two Cassandra nodes on a single K8S host > node. > > Regards > Manish > > > > On Tue, Aug 4, 2020 at 9:01 AM Christopher Bradford <bradfor...@gmail.com> > wrote: > >> In *most* k8s environments each Kubernetes worker receives its own >> dedicated CIDR range from the cluster’s CIDR space for allocating pod IP >> addresses. The issue described can occur when a k8s worker goes down then >> comes back up and the pods are rescheduled where either pod starts up with >> another pods previously used IP. >> >> They don’t necessarily have to swap 1:1 (ie one pod could use the other’s >> previous address while that pod receives a new address). Additionally it’s >> not a race condition of which container starts first. The k8s scheduler and >> kubelet daemon assign IPs to pods. >> >> On Mon, Aug 3, 2020 at 11:14 PM 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). >>> >>> *For point 2 (Strictly unsafe to use an IP) , if the first pod grabs the >>> IP of the second node then it should not be able to join the cluster.* >>> *So can IPs still be swapped? * >>> *When and how this IP swap can occur?* >>> >>> Regards >>> Manish >>> >>> On Mon, Jul 6, 2020 at 10:40 PM Jeff Jirsa <jji...@gmail.com> wrote: >>> >>>> >>>> >>>> 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 >>>>> >>>> -- >> >> Christopher Bradford >> >>