Skip to content

Conversation

@ruicao93
Copy link

@ruicao93 ruicao93 commented Sep 24, 2024

Currently, the spec specifies the interfaces array should not be included in the delegated IPAM plugin result.

However, considering a common scenario where there are multiple interfaces on a Node, and each Pod use a dedicated network interface for ingress/egress traffic, the primary CNI plugin needs to know the uplink interface to install the corresponding routes. The muliple interface node is widely used in various clouds:

  • Public cloud: using multiple ENIs to meet IP allocation and dedicated security group requirements.
    • AWS: EKS
    • Alibaba cloud: ACK
    • Bytedance cloud(Volcengine): VKE
  • Private cloud: Use multiple interfaces for security consideration or better performance.
  • RDMA: multiple RDMA nics are common used on single GPU node and shared by Pods.

So we should allow the interfaces array be included to hint the uplink interface info(sandbox is emtpy) which can be consumed by the primary CNI plugin.

More discussion could be found in: cilium/cilium#34779 (comment)

@ruicao93 ruicao93 changed the title spec: interfaces can be included in the delegated IPAM plugin result spec: allow interfaces to be included in the delegated IPAM plugin result Sep 24, 2024
@ruicao93
Copy link
Author

hi @squeed, could you please help review the PR?

@dakehero
Copy link

dakehero commented Sep 26, 2024

  • RDMA: multiple RDMA nics are common used on single GPU node and shared by Pods.

It's a common case that different pods share a same RDMA NIC through macvlan (or ipvlan). For those nodes with multiple RDMA NICs, it's also helpful to use a single IPAM plugin to manage IPs on different devices.

Signed-off-by: Rui Cao <[email protected]>
@ruicao93
Copy link
Author

cc @joestringer

@ruicao93
Copy link
Author

@MikeZappa87 More discussions could be found in: cilium/cilium#34779 (comment)

@squeed squeed self-requested a review November 4, 2024 16:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants