aws / aws/aws-cloud-map-mcs-controller-for-k8s

Strategy to evict stale endpoints

Open
#140 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.