aws / aws/aws-cloud-map-mcs-controller-for-k8s
Strategy to evict stale endpoints
- Dominant language
- Go
- Stars
- 98
- Forks
- 32
- PR merge metrics
- No merged PRs in 30d
Description
As per the [Multi-Cluster Services API](https://github.com/kubernetes/enhancements/tree/master/keps/sig-multicluster/1645-multi-cluster-services-api#endpoint-ttl), we need to define the strategy for below
> Endpoint TTL
>
> To prevent stale endpoints from persisting in the event that the mcs-controller is unable to reach a cluster, it is recommended that an implementation provide an in-cluster controller to monitor and remove stale endpoints. This may be the mcs-controller itself in distributed implementations.
>
> We recommend creating leases to represent connectivity with source clusters. These leases should be periodically renewed by the mcs-controller while the connection with the source cluster is confirmed alive. When a lease expires, the cluster name and multicluster.kubernetes.io/source-cluster label may be used to find and remove all EndpointSlices containing endpoints from the unreachable cluster.
Contributor guide
Research direction
Start with the linked Multi-Cluster Services API endpoint-TTL section and inspect the mcs-controller entry point. Define and document how connectivity leases are renewed and how expired leases identify stale EndpointSlices for removal; the strategy should be reviewable against the stated stale-endpoint requirement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, go
- Domain
- backend, cloud, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100