Giter Club home page Giter Club logo

frr-k8s's Introduction

MetalLB

MetalLB is a load-balancer implementation for bare metal Kubernetes clusters, using standard routing protocols.

Project maturity: beta license CI Containers Go report card CII Best Practices

Check out MetalLB's website for more information.

WARNING

Although the main branch has been relatively stable in the past, please be aware that it is the development branch.

Consuming manifests from main may result in unstable / non backward compatible deployments. We strongly suggest consuming a stable branch, as described in the official docs.

Contributing

We welcome contributions in all forms. Please check out the hacking and contributing guide for more information.

Participation in this project is subject to a code of conduct.

One lightweight way you can contribute is to tell us that you're using MetalLB, which will give us warm fuzzy feelings :).

Reporting security issues

You can report security issues in the github issue tracker. If you prefer private disclosure, please email to all of the maintainers:

We aim for initial response to vulnerability reports within 48 hours. The timeline for fixes depends on the complexity of the issue.

frr-k8s's People

Contributors

65278 avatar alinasecret avatar dependabot[bot] avatar fedepaol avatar karampok avatar oribon avatar tylerauerbeck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

frr-k8s's Issues

Wrong allowMode: all for outgoing prefixes

When merging two configurations with different prefixes, one config has allowmode: all for outgoing, only the prefixes local to the allowAll are advertised.

I know that we said a config must be self contained, but this is different from the incoming prefixes and I think not intuitive.
All means all.

`SrcAddr` setting is not wired into the API

Hi, there seems to be an internal SrcAddr setting to populate update-source for neighbors that is not exposed in the K8S API. Is that intentional?

I think my use case would benefit from it. I'm trying to expose some routes to IPv6 load balancers from multiple nodes in my cluster, and to do that I'm peering with an IPv6 router. Now, the interface that is connected to that router has many IPv6 addresses (on all nodes involved), so I need to make sure that the one selected by the kernel matches the one that is used to establish the BGP session from the peer end. This leads me to the following problem:

  • In MetalLB in "regular" FRR mode, I can't seem to define two BGPPeer resources with the same neighbor address (even with mutually exclusive node selectors) because the API forbids that, so I can only align the source address for at most one node.
  • With frrk8s.enabled=true, I thought I could get away with a single BGPPeer for all nodes and override the source address on a per-node basis by introducing extra FRRConfiguration resources scoped to specific nodes. But since this setting is apparently not exposed in the API, the sourceAddress feature doesn't work at all in this setup.

Is that something that simply hasn't been implemented yet, or is there something fundamental I'm not understanding here?

Since I control all the devices involved, I can probably work around this problem by giving extra IPs to the interface on the peer router's end, allowing me to create one BGPPeer per node in my cluster, but that feels like a hack. Thoughts?

Thank you!

Advertise Service IPs

Is there a way to inject service-ip/external-ip routes into the outbound advertisements?

Awesome project by the way! Love the ability to inject raw FRR configs.

Please build frr-k8s image for arm64 architecture

I run a mixed-architecture kubernetes cluster and some of my services that require load balancer addresses run inside those arm64 nodes. It would be wonderful if there were native arm64 images available for me.

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.