Skip to content

Allow service controller to indicate that it has cleared load balancer resources #32157

Closed
@nikhiljindal

Description

Issue:
Create a type=LoadBalancer service.
When the user creates the service, service controller creates the corresponding cloud specific Load balancer. User can watch for load balancer to be created using ServiceStatus.
When user deletes the service, service controller deletes the corresponding LB. There is no way for user to know that service controller has deleted the LB.

What you expected to happen:
A way to figure out if cloud LB resources were deleted.

Proposal:
Use the finalizer/termination condition flow as in namespaces.
Service controller adds itself as a finalizer to each service.
When user deletes a service, apiserver sets the terminating condition on it.
Service controller observes that the service went in termination condition, it deletes the cloud resources it had created for that service, removes itself as finalizer and then deletes the service if there are no more finalizers.

cc @bgrant0607 @bprashanth @thockin @madhusudancs

Metadata

Assignees

No one assigned

    Labels

    area/teardownkind/designCategorizes issue or PR as related to design.kind/featureCategorizes issue or PR as related to a new feature.lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.sig/networkCategorizes an issue or PR as relevant to SIG Network.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions