Giter Club home page Giter Club logo

Comments (9)

szuecs avatar szuecs commented on August 25, 2024

Many people use skipper as second layer of load balancer infrastructure, that's why we do not set status in ingress.
There is another complexity, because of routesrv, which let's you split control plane and data plane in skipper. It's not really clear to me how this can work very well. Maybe best to outline how this can work.

Required will be an option to enable this behavior.

from skipper.

rickhlx avatar rickhlx commented on August 25, 2024

Many people use skipper as second layer of load balancer infrastructure, that's why we do not set status in ingress.

Not opposed to replicating this behavior, unsure how we could from an on-premise infrastructure setup.

I'll work on an initial proposal on for setting this up. Thanks!

from skipper.

szuecs avatar szuecs commented on August 25, 2024

Maybe it would also make more sense to create a new controller that just set's the status of ingress to your LB VIP (service type loadbalancer IP).
To be more helpful I would need to understand your VIP implementation by service type loadbalancer.

from skipper.

rickhlx avatar rickhlx commented on August 25, 2024

Looking into how other controllers do this, NGINX uses a CLI flag to enable reporting and option to use LB type Service or a predefined address.

For our clusters, when a VIP (LB type Service) is created, an external load balancer assigns an external IP address from a pool and forwards L4 traffic to the service endpoints.

On Ingress-NGINX (not NGINX ingress controller) and Contour Ingress controllers, the ingresses "external" address are automatically updated with the LB type Service External-IP address.

from skipper.

szuecs avatar szuecs commented on August 25, 2024

Yes these controllers are basically singleton controllers that do not consume the traffic, that's why I wrote that it might make more sense to create a new controller.
nginx nor envoy knows about kubernetes nor ingress. Skipper knows kubernetes to build its routing table. If you want to build it into skipper, then I would propose to do this only in routesrv sub component and also add a flag to enable this. I think it will create more work for you if you add it to routesrv.

from skipper.

rickhlx avatar rickhlx commented on August 25, 2024

@szuecs thanks for the direction, I think we will develop a controller to update our ingress definitions. As you stated, working it into skipper would be more work.

Feel free to close this issue if it's not something planned to be implemented by you. Thank you!

from skipper.

szuecs avatar szuecs commented on August 25, 2024

If you want we can also link the controller if you want to publish it open source.
What do you think?

from skipper.

rickhlx avatar rickhlx commented on August 25, 2024

Not opposed to that personally, would have to see if we could do that or would have to be a personal project.

from skipper.

szuecs avatar szuecs commented on August 25, 2024

Let us know what decision you took, when it happened. We are happy to link any kind of project which is useful and it sounds really useful.

For now I will close the issue, but if you have something public to share, let us know and we'll link it!

from skipper.

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.