Skip to content

[Feature] Enhance inter-cluster networking: direct path support between 'leaf' clusters #3011

@Gabbe64

Description

@Gabbe64

Describe the problem you are having (if any)

In a multi-cluster deployment with a central cluster and multiple provider clusters (leaves), I’ve successfully established a direct connection between two leaf clusters using liqoctl network connect.
While the network connection itself works and pods in the leaf clusters can communicate directly, at the exposure of a deployment, the resulting Service makes the traffic go through the central cluster even if would be possible to use the direct connection.

Describe the solution you would like

As discussed in the Slack channel of Liqo these are the possible solutions:

  1. Change how the Virtual Kubelet reflects the EndpointSlices to allow direct connectivity. This is a simple solution but can create conflicts in case the PodCIDRs are overlapped.
  2. Develop a network manager that stays on top of every cluster and watches them. This manager can write the correct EndpointSlice in every cluster since it has total visibility on the topology. This can be made by using the ServiceImport and ServiceExport kubernetes standard resources to expose services and make that reachable from other clusters.

Describe the user value of this feature

This feature proposal together with the possiblity to create shortcuts among leaves (as mentioned in #3006) directly from the central cluster would enable the users to improve the performance of communications between provider clusters and also centralize the management of these connections.

Do you volunteer to implement this feature?

  • I want to implement this feature

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature proposalSuggest a feature to Liqorelease-1.1Feature that is planned to be integrated within a given Liqo release

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions