From 9bca5270fed3ba3185c8d65e9fcc80231fa2b413 Mon Sep 17 00:00:00 2001 From: Rob Scott Date: Tue, 11 Aug 2020 17:35:06 -0700 Subject: [PATCH] Documenting EndpointSlice deduplication requirements --- .../docs/concepts/services-networking/endpoint-slices.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/content/en/docs/concepts/services-networking/endpoint-slices.md b/content/en/docs/concepts/services-networking/endpoint-slices.md index b9c1107a92..5f2522ae7e 100644 --- a/content/en/docs/concepts/services-networking/endpoint-slices.md +++ b/content/en/docs/concepts/services-networking/endpoint-slices.md @@ -192,6 +192,15 @@ necessary soon anyway. Rolling updates of Deployments also provide a natural repacking of EndpointSlices with all Pods and their corresponding endpoints getting replaced. +### Duplicate endpoints + +Due to the nature of EndpointSlice changes, endpoints may be represented in more +than one EndpointSlice at the same time. This naturally occurs as changes to +different EndpointSlice objects can arrive at the Kubernetes client watch/cache +at different times. Implementations using EndpointSlice must be able to have the +endpoint appear in more than one slice. A reference implementation of how to +perform endpoint deduplication can be found in the `EndpointSliceCache` +implementation in `kube-proxy`. ## {{% heading "whatsnext" %}}