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

Add an ability to disable/adopt LoadBalancer #5130

Open
a13x5 opened this issue Oct 2, 2024 · 1 comment
Open

Add an ability to disable/adopt LoadBalancer #5130

a13x5 opened this issue Oct 2, 2024 · 1 comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@a13x5
Copy link

a13x5 commented Oct 2, 2024

/kind feature

The problem

Currently when reconciling AWSCluster all resources needed for cluster to function are created. This works well when you have all nodes as instances. However this approach doesn't quite work when you have control plane inside kubernetes cluster (like in case of k0sproject/k0smotron).

When load balancer is managed externally it creates a conflict:

  • CAPA controller creates LB and updates .spec.controlPlaneEndpoint of AWSCluster
  • Hosted control plane provider creates LB by means of Kubernetes Service and updates .spec.controlPlaneEndpoint of AWSCluster

Since it's impossible to use CAPA without creating AWSCluster current work around is to put cluster.x-k8s.io/managed-by annotation and disable AWSCluster reconcile, which is suboptimal.

Desired solution

I see 2 ways to resolve this:

  1. New id field is added to the AWSLoadBalancerSpec with an ability to adopt externally created LBs and thus skipping creation of the new LB.
  2. New disableCreation field is added to the AWSLoadBalancerSpec which simply disables creation of LB completely.

This will allow to use CAPA in deployment scenarios where LB is managed externally.

@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Oct 2, 2024
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If CAPA/CAPI contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

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-sigs/prow repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-priority needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
None yet
Development

No branches or pull requests

2 participants