-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Description
What problem are you trying to solve?
Currently, multi-cluster service discovery in Linkerd typically relies on Linkerd-specific mechanisms.
However, this can make interoperability difficult with other tools and clusters that prefer Kubernetes standards.
People adopting the Kubernetes Multi-Cluster Services (MCS) API want Linkerd to "just work" with ServiceExport
/ ServiceImport
as the common language for cross-cluster services.
How should the problem be solved?
Would you consider adding first-class support for the Kubernetes MCS API in Linkerd—specifically recognizing and following the specifications of ServiceExport
and ServiceImport
for cross-cluster service discovery and routing?
This would allow users to rely on a standard model across environments and tooling.
Any alternatives you've considered?
- Continue using Linkerd's existing multi-cluster approach and resources.
- Third-party controllers that translate between MCS resources and Linkerd concepts.
These work, but they don't provide a simple, standard, vendor-neutral contract like the MCS API.
How would users interact with this feature?
As an alternative to the current options of labeling Services with mirror.linkerd.io/federated=member
or mirror.linkerd.io/exported=true
, users could use ServiceExport
to expose services to other clusters.
In the other cluster, ServiceImport
would be automatically created and become available for use.
References
KEP-1645: Multi-Cluster Services API
Multicluster Services API Overview - SIG Multicluster
kubernetes-sigs/mcs-api
Multi-Cluster Services API (Beta) — Cilium
Multi-Cluster Services API - Istio
Would you like to work on this feature?
None