Giter Club home page Giter Club logo

Comments (2)

bradfordcp avatar bradfordcp commented on June 24, 2024

HTTP ingress is not going to work here as Cassandra uses TCP. There are ways to do TCP ingress with nginx (and other ingress controllers). Typically it requires either adding a configmap to the ingress or using a custom resource definition provided via the ingress instead of the standard k8s ingress objects. (Note the Gateway API should help with this in the future).

Now when you get that configured you must decide how you route from the ingress to pods. The naive solution is to let it round robin, but this will introduce latency as the drivers prefer to connect to a node that houses the data for the query and use it as a coordinator. Additionally, should you run multiple C* clusters within a single k8s cluster how do you route to the different clusters? One option is to put each cluster on its own port within the ingress. Alternatively you could leverage TLS with SNI to allow for direct routing from the ingress to the appropriate node. It is worth noting that if you go this route there is additional configuration needed within the client application to configure TLS appropriately AND logic to update the routing within your ingress should you C* cluster topology change.

That's not to say it isn't possible, and we have some examples of how to accomplish this.

from k8ssandra.

bradfordcp avatar bradfordcp commented on June 24, 2024

So with all that being said what type of example would you prefer?

  • TLS w/ SNI routing
  • Port-based routing

from k8ssandra.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.