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

Create new external load balancer kind #90

Open
richardcase opened this issue Jan 17, 2022 · 1 comment
Open

Create new external load balancer kind #90

richardcase opened this issue Jan 17, 2022 · 1 comment
Assignees
Labels
kind/feature New feature or request

Comments

@richardcase
Copy link
Member

Describe the solution you'd like:
Currently in our template we are using kube-vip for load balancing and you supply the VIP upfront. This is also used to fill in the controlPlaneEndpoint on MicrovmCluster.

This causes errors in the logs of the controller as controlPlaneEndpoint is part of the Cluster contract between CAPI and an infra provider. If the controlPlaneEndpoint is filled in then CAPI will start to use it but as kube-vip may not be running there is nothing responding on the endpoint (i.e. the vip).

We should only fill in the controlPlaneEndpoint on the MicrovmCluster when the loadbalancer is available. So its proposed that we introduce a new kind ExternalLoadBalancer were the spec has :

  • host (in template use ${CONTROL_PLANE_VIP})
  • port (optional, default to 6443)
    the status will have:
  • Ready (bool)
    The controller in reconcile will attempt to connect to the load balancer and on success it will set Ready.

The MicrovmCluster api will need to be updated to reference the ExternalLoadBalancer and its controller in normal reconciliation will wait for the status to be ready of ExternalLoadBalancer before it sets the controlPlaneEndpoint on MicrovmCluster.

Why do you want this feature:

To stop errors in the controller logs.

Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]

@github-actions
Copy link

This issue is stale because it has been open 60 days with no activity.

@github-actions github-actions bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Mar 21, 2022
@Callisto13 Callisto13 removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature New feature or request
Projects
No open projects
Status: Backlog
3 participants