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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync Catalog: Utilize EndpointSlice conditions when endpoints are updated #3898

Open
jukie opened this issue Apr 11, 2024 · 2 comments 路 May be fixed by #3874
Open

Sync Catalog: Utilize EndpointSlice conditions when endpoints are updated #3898

jukie opened this issue Apr 11, 2024 · 2 comments 路 May be fixed by #3874
Labels
type/enhancement New feature or request

Comments

@jukie
Copy link
Contributor

jukie commented Apr 11, 2024

Community Note

  • Please vote on this issue by adding a 馃憤 reaction to the original issue to help the community and maintainers prioritize this request. Searching for pre-existing feature requests helps us consolidate datapoints for identical requirements into a single place, thank you!
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment.

Is your feature request related to a problem? Please describe.

Sync Catalog currently doesn't account for an Endpoint's condition state. As a result, an endpoint that is in terminating state will remain being synced to Consul until it's fully removed. This can cause issues in environments where a user may want to healthily wait for connections to drop off on a pod (e.g. the synced consul instance) before fully terminating or the opposite use case of not wanting to register the Endpoint in Consul until it's deemed ready.

Feature Description

With #3693 Sync Catalog changed from using Endpoints to EndpointSlices. This was mostly done to provide access to topology information but another feature of EndpointSlices is Conditions which expose additional state about whether the endpoint is ready, serving, and/or terminating.
Sync Catalog could use this extra information to enhance existing behavior and only register Endpoint's that are marked as ready and clean up Endpoints once they are marked as terminating.

Use Case(s)

  • I'm rolling a new replicaset for my Kubernetes Deployment and my workload has a long initialization phase. I don't want it to be registered to Consul until all readiness checks have passed and the underlying Endpoint is marked as ready or serving.
  • I'm using consul-template to add consul instances as backend targets in an external system. It would be ideal to have these Consul instances updated with some state information or removed whenever the pod is being torn down to allow for a buffer period and any open connections to complete.

Contributions

#3874 adds this feature

@jukie jukie added the type/enhancement New feature or request label Apr 11, 2024
@jukie jukie linked a pull request Apr 11, 2024 that will close this issue
2 tasks
@jukie
Copy link
Contributor Author

jukie commented Apr 11, 2024

I've opened a PR for this under #3874

@jukie
Copy link
Contributor Author

jukie commented Apr 30, 2024

bumpety bump in case anyone's watching

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant