-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support MetalLB #466
Support MetalLB #466
Conversation
b83b0e0
to
839526a
Compare
k8s/manifests/charts/ck-loadbalancer/templates/cilium/bgp-policy.yaml
Outdated
Show resolved
Hide resolved
501e142
to
ce8fac0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Provided some thoughts to chew on. I think there's a bug in the cilium/l2-policy.yaml
k8s/manifests/charts/ck-loadbalancer/templates/cilium/lb-ip-pool.yaml
Outdated
Show resolved
Hide resolved
k8s/manifests/charts/ck-loadbalancer/templates/metallb/lb-ip-pool.yaml
Outdated
Show resolved
Hide resolved
k8s/manifests/charts/ck-loadbalancer/templates/metallb/l2-policy.yaml
Outdated
Show resolved
Hide resolved
k8s/manifests/charts/ck-loadbalancer/templates/metallb/bgp-policy.yaml
Outdated
Show resolved
Hide resolved
Let me know if you have any ideas on what to do with gateway-api. Leave the script in hacks/ and run it from update-component-versions.py? @neoaggelos |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In addition, please add a comment with all the metallb images that are used.
k8s kubectl get node -o template='{{ range .items }}{{ .metadata.name }}{{":"}}{{ range .status.images }}{{ "\n- " }}{{ index .names 1 }}{{ end }}{{"\n"}}{{ end }}'
can help with this
MetalLB images:
|
e029aa9
to
e417d40
Compare
I added a description with an example values.yaml and the generated template. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please rebase, there's changes with Contour.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work Etienne!
One last thing, please add all the images in use by metallb in the PR.
k8s kubectl get node -o template='{{ range .items }}{{ .metadata.name }}{{":"}}{{ range .status.images }}{{ "\n- " }}{{ index .names 1 }}{{ end }}{{"\n"}}{{ end }}'
Just add a comment or add it to your PR description please.
Additionally, please add a var with the image repo and the tag similar to here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another last comment :)
Please write a card to add some bgp integration tests in the future.
Already done but I can paste it again. MetalLB images: quay.io/metallb/speaker:v0.14.5 |
* Add metallb chart * make ck-loadbalancer chart work with cilium or metallb * implement metallb feature * moonray use metallb --------- Co-authored-by: Angelos Kolaitis <angelos.kolaitis@canonical.com>
Testing
Example generated templates from values.yaml
Metallb
values.yaml
:Metallb template output:
Potential improvements
When a user gets an IP for a service using bgp-mode=true, a BGPPeer and a BGPAdvertisement resource are created. If the user then sets bgp-mode=false, the BGPPeer and BGPAdvertisement resources will continue existing. When the user sets l2-mode=true, the service will successfully receive a IP using l2 mode.
From my testing this does not cause problems in terms of bugs or functionality but it could be nice to clean up when the config is changed.