kubernetes-retired / contrib

[EOL] This is a place for various components in the Kubernetes ecosystem that aren't part of the Kubernetes core.
Apache License 2.0
2.46k stars 1.68k forks source link

F5 LoadBalancer #12

Closed stevesloka closed 6 years ago

stevesloka commented 9 years ago

I'm looking to see what the effort would be to write an F5 integration. Currently my enterprise uses RHEL Atomic hosts with an F5 load balancer. We can access the F5 API to programmatically create virtual servers.

On AWS, I can specify the "LoadBalancer" service type, and it auto creates the ELB + configures. I'm looking for a way to do exactly the same thing. I am 100% cool with doing the effort, just looking for some strategy around how / where / and integration.

Is this pluggable where I could mirror how it works on AWS? Or do I need to change approaches. It's probably important to be pluggable as I"m not building k8s myself, rather, using the RHEL packages from Atomic upgrades.

stevesloka commented 8 years ago

Hey @vipulsabhaya! Right now I'm working on NodePorts implementation since it's the simplest for my company to get rolling. But I've talked with @bprashanth a bit about wanting an Ingress version as well.

I've been trying to get heads down on this to get something up to look at and play with.

bprashanth commented 8 years ago

We initially started service-loadbalancer as a Service centric thing (https://github.com/kubernetes/contrib/tree/master/service-loadbalancer), but got a lot of feedback about centralized policy and security configuration, the need for a cross-platform lb api etc. I think the ingress controller is the desired goal, but we can get there incrementally. If annotations on a Service is the easiest thing lets start with that.

Fyi the gce ingress controller mandates nodeport services (https://github.com/kubernetes/contrib/tree/master/ingress/controllers/gce).

bpradipt commented 8 years ago

I'm not very much familiar with F5 LB, but is making the F5 LB part of the VXLAN/flannel network as described in [1] an option ? Anyone have any experience with such kind of a setup ?

[1] https://f5.com/resources/white-papers/vxlan-and-the-big-ip-platform

smarterclayton commented 8 years ago

Not directly equivalent, but routing_from_edge_b.html https://docs.openshift.org/latest/install_config/routing_from_edge_lb.html#establishing-a-tunnel-using-a-ramp-node describes what you can do if you want to ramp from an F5 if you can't make it part of VXLAN. I know F5 was looking at updating to be compatible with the kernel and version of OVS we used but haven't looked recently to see if it happened.

On Fri, Aug 5, 2016 at 10:23 AM, Pradipta Banerjee <notifications@github.com

wrote:

I'm not very much familiar with F5 LB, but is making the F5 LB part of the VXLAN/flannel network as described in [1] an option ? Anyone have any experience with such kind of a setup ?

[1] https://f5.com/resources/white-papers/vxlan-and-the-big-ip-platform

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/kubernetes/contrib/issues/12#issuecomment-237863790, or mute the thread https://github.com/notifications/unsubscribe-auth/ABG_pzLJBqrtBcg8i1E_78Se1LJcODnbks5qc0dLgaJpZM4FuCJ4 .

chen23 commented 8 years ago

@bpradipt I've used the F5 Python SDK to populate the FDB table and ARP entries following the documentation from: https://support.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/tmos-implementations-12-1-0/8.html

I did this in my spare time as an example, but I cannot vouch for whether this is the "correct" way to network with flannel network. Here's the example: https://github.com/f5devcentral/f5-icontrol-codeshare-python/tree/master/kubernetes-example In my lab environment it allows the BIG-IP to route to the host via VXLAN. Related article: https://devcentral.f5.com/articles/f5-python-sdk-and-kubernetes-21045

vipulsabhaya commented 8 years ago

We've added support for an F5 backend to a new service loadbalancer implementation https://github.com/kubernetes/contrib/pull/1343 -- we plan to update this and consume Ingress as Ingress evolves to support TCP load balancing

pires commented 7 years ago

F5 plug-in for Openshift has moved to https://github.com/openshift/origin/tree/master/pkg/router/f5.

fejta-bot commented 6 years ago

Issues go stale after 30d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 30d of inactivity and eventually close.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta. /lifecycle stale