Skip to content
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

Load Balancer Provider #1250

Closed
moshloop opened this issue Aug 13, 2019 · 42 comments
Closed

Load Balancer Provider #1250

moshloop opened this issue Aug 13, 2019 · 42 comments
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/design Categorizes issue or PR as related to design. kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@moshloop
Copy link
Contributor

/kind feature

One of the long-standing issues in CAPV is the lack of a default/standard load balancer for vSphere environments - Many options exist (VMC ELB, F5, NSX, IPVS, Client-Side) but nothing would apply to all environments.

We, therefore, need a mechanism to support arbitrary load balancer implementations.

The first question that needs to be answered is where does this belong as a high-level provider similar to the bootstrap provider, or as an implementation detail in CAPV?

Note: This refers to the load balancer for control plane endpoints, not Service Type Load Balancer

kubernetes-sigs/cluster-api-provider-vsphere#491

@k8s-ci-robot k8s-ci-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Aug 13, 2019
@moshloop
Copy link
Contributor Author

/assign @timothysc @akutz @yastij

@moshloop
Copy link
Contributor Author

Potential implications for: #1197

@detiber
Copy link
Member

detiber commented Aug 13, 2019

@moshloop this aligns with my original ideas around how we should rework the "Cluster Infrastructure" when we first started discussing v1alpha2 changes. This also extends beyond just vSphere, but also affects bare metal and even OpenStack environments.

My thought was that we should split the existing monolithic cluster infrastructure into 3 separate components:

  • Load Balancer provider
  • Network provider
  • Firewall provider

What we are lacking is a CAEP/design doc around how we could implement this on top of v1alpha2.

@vincepri
Copy link
Member

/kind design

If there is enough interest, this functionality should be spec'd in a CAEP.

@k8s-ci-robot k8s-ci-robot added the kind/design Categorizes issue or PR as related to design. label Aug 13, 2019
@vincepri vincepri removed the kind/feature Categorizes issue or PR as related to a new feature. label Aug 13, 2019
@moshloop
Copy link
Contributor Author

I will try and create a CAEP for this.
/assign

@yastij
Copy link
Member

yastij commented Aug 13, 2019

@detiber - If there's enough traction on this then I'm happy to help on this.
one question that comes to my mind, if we want to have cluster infrastructure "composability" we'd need some new APIs to support this, would this be for v1a3 ?

@detiber
Copy link
Member

detiber commented Aug 13, 2019

@yastij it would definitely be post v1alpha2, whether it would be included in v1alpha3 would need to still be determined based on community planning.

@yastij
Copy link
Member

yastij commented Aug 13, 2019

cc @akutz

@timothysc timothysc modified the milestones: Next, v0.3.0 Sep 26, 2019
@timothysc timothysc added priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. kind/feature Categorizes issue or PR as related to a new feature. labels Sep 26, 2019
@timothysc
Copy link
Member

After reading through the spec several times, I don't see a reason to keep this open in the main CAPI repo as a POC can be done independently. Once the POC is complete and if folks think that it is generally useful we can revisit later.

@ncdc
Copy link
Contributor

ncdc commented Oct 23, 2019

/reopen
Reopening to continue the discussion. Discussed in the 10/23 meeting.

@k8s-ci-robot
Copy link
Contributor

@ncdc: Reopened this issue.

In response to this:

/reopen
Reopening to continue the discussion. Discussed in the 10/23 meeting.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@vincepri
Copy link
Member

/milestone Next

@vincepri
Copy link
Member

vincepri commented Jul 7, 2021

/assign @randomvariable

@fabriziopandini
Copy link
Member

/triage accepted

Still a valid idea, hopefully someone will volunteer for the work
/help

@k8s-ci-robot
Copy link
Contributor

@fabriziopandini:
This request has been marked as needing help from a contributor.

Guidelines

Please ensure that the issue body includes answers to the following questions:

  • Why are we solving this issue?
  • To address this issue, are there any code changes? If there are code changes, what needs to be done in the code and what places can the assignee treat as reference points?
  • Does this issue have zero to low barrier of entry?
  • How can the assignee reach out to you for help?

For more details on the requirements of such an issue, please see here and ensure that they are met.

If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-help command.

In response to this:

/triage accepted

Still a valid idea, hopefully someone will volunteer for the work
/help

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. labels Sep 30, 2022
@fabriziopandini
Copy link
Member

/unassign @randomvariable

@jayunit100
Copy link
Contributor

jayunit100 commented Oct 10, 2022

So , since this was made 3 years ago. Thought I'd just add some thoughts i had about how things work, today. Overall it seems like this is the right thing to add to CAPI in a general way.

Currently, in the real world, i guess my mental model is "you inject loadbalancing logic into something that runs orthogonal to CAPIs data model "..... at least, thats what it seems like for Vsphere.

To me since : A loadbalancer VIP is such a common problem in all K8s providers - - this seems like it has to end up, in CAPI, somehow eventually..

Tanzu supports AVI or kube vip as a loadbalancer. And in the kube-vip case, we embed yaml for kube vip into our kubeadm file bootstrapping.

A more declarative way to do this would be cool, because it would be more understandable and then easier to separate out "LB UX / config problems" from "CAPI installation problems" from "infra" problems related to unrouteable IPs and so on.

@lubronzhan
Copy link
Contributor

Hi @detiber Looks like the google doc is no longer available Referenced here #4389 (comment)
https://docs.google.com/document/d/1wJrtd3hgVrUnZsdHDXQLXmZE3cbXVB5KChqmNusBGpE/edit#
Do you still have the original doc?

@vincepri
Copy link
Member

vincepri commented Nov 8, 2023

Closing this in favor of #8500 and future endeavors

/close

@k8s-ci-robot
Copy link
Contributor

@vincepri: Closing this issue.

In response to this:

Closing this in favor of #8500 and future endeavors

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Denotes an issue that needs help from a contributor. Must meet "help wanted" guidelines. kind/design Categorizes issue or PR as related to design. kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

Successfully merging a pull request may close this issue.