Git Product home page Git Product logo

Comments (4)

tamalsaha avatar tamalsaha commented on June 1, 2024 1

@stevenpall thanks for explaining your use-case. I think it will be an useful feature to have. PRs are welcome. If you are interested, we can discuss the design. I think it will be similar to passing an array of services with weights.

As far as the original question though, for my own knowledge and for anyone searching for this answer later, does "cross namespace service support" simply mean that one can route to different namespaces in the same config?

Yes. If you provide the servicename as svc_name.ns_name, then service name will resolved accordingly. This allows you to use ingress from one namespace and service from another namespace.

from voyager.

tamalsaha avatar tamalsaha commented on June 1, 2024

@stevenpall , currently it is not possible to assign weight directly. This will actually require changes in the YAML format so that multiple services can be defined for a single endpoint.

But if you are looking to use the canary deployment model, you might be interested in https://kubernetes.io/docs/user-guide/managing-deployments/#canary-deployments . This will work with voyager.

Let me know if you have more questions.

from voyager.

stevenpall avatar stevenpall commented on June 1, 2024

Thanks for the info. I have looked at the canary deployment model, though two issues with it stand out to me for this use case.

The first is that services would not be namespaced, so service discovery becomes more complicated (i.e. having to refer to a service as my-app-feature vs. just my-app).

The other issue is that the percentage of traffic a canary deployment receives is dependant upon the number of replicas of the service in question. This number could change dynamically if horizontal pod autoscaling is enabled, so it would be difficult to use the percentage of traffic going to the canary deployment as a baseline for performance testing. By contrast, setting a weight of, for example, 1 for a backend in the HAProxy config vs. 100 for the other backends guarantees the canary service will always receive 1% of traffic. Of course, 1% of traffic would not be a constant number of req/s over time, but it seems like a more stable value than the alternative.

As far as the original question though, for my own knowledge and for anyone searching for this answer later, does "cross namespace service support" simply mean that one can route to different namespaces in the same config?

Thanks!

from voyager.

tamalsaha avatar tamalsaha commented on June 1, 2024

@stevenpall , we have added option to set weights to a service using annotation ingress.appscode.com/backend.weight . This will give you more fine grain control over backends of a ingress. All the backends must be in the same namespace.

Cross namespace support will not be added, as that can't be supported without breaking the current. YAML format.

This will be out with 1.5.5 release in next week.

from voyager.

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.