Skip to content

Commit 3df4dd2

Browse files
committed
add a note to make it clear implementation details vary and to explicitly call out what dummy services are
1 parent 2c890ef commit 3df4dd2

File tree

1 file changed

+3
-2
lines changed
  • keps/sig-multicluster/1645-multi-cluster-services-api

1 file changed

+3
-2
lines changed

keps/sig-multicluster/1645-multi-cluster-services-api/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -285,8 +285,8 @@ be recognized as a single combined service. For example, if 5 clusters export
285285
all exporting clusters. Properties of the `ServiceImport` (e.g. ports, topology)
286286
will be derived from a merger of component `Service` properties.
287287

288-
Existing implementations of Kubernetes Service API (e.g. kube-proxy) can be
289-
extended to present `ServiceImports` alongside traditional `Services`.
288+
This specification is not prescriptive on exact implementation details. Existing implementations of Kubernetes Service API (e.g. kube-proxy) can be
289+
extended to present `ServiceImports` alongside traditional `Services`. One often discussed implementation requiring no changes to kube-proxy is to have the mcs-controller maintain ServiceImports and create "dummy" or "shadow" Service objects, named after a mcs-controller managed EndpointSlice that aggregates all cross-cluster backend IPs, so that kube-proxy programs those endpoints like a regular Service. Other implementations are encouraged as long as the properties of the API described in this document are maintained.
290290

291291
### User Stories
292292

@@ -791,6 +791,7 @@ cluster name and `multicluster.kubernetes.io/source-cluster` label may be used
791791
to find and remove all `EndpointSlices` containing endpoints from the
792792
unreachable cluster.
793793
794+
794795
## Constraints and Conflict Resolution
795796
796797
Exported services are derived from the properties of each component service and

0 commit comments

Comments
 (0)