multus-cni
by
k8snetworkplumbingwg

Description: A CNI meta-plugin for multi-homed pods in Kubernetes

View on GitHub ↗

Summary Information

Updated 1 hour ago
Added to GitGenius on June 12th, 2025
Created on December 13th, 2016
Open Issues & Pull Requests: 25 (+0)
Number of forks: 663
Total Stargazers: 2,906 (+0)
Total Subscribers: 62 (+0)

Issue Activity (beta)

Open issues: 11
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 72 days
Stale 30+ days: 3
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 2
Events in 7 days: 3

Top labels

  • Stale (179)
  • help wanted (26)
  • enhancement (19)
  • bug (17)
  • question (7)
  • readme-update (4)
  • triaged (4)
  • good-first-issue (2)

Repository Insights (GitGenius)

Median issue/PR response: 13.8 days
Mean response time: 462.5 days
90th percentile: 2099.4 days
Tracked items: 124

Most active contributors

Detailed Description

Multus-CNI is a meta-plugin for the Container Network Interface that enables Kubernetes pods to attach multiple network interfaces simultaneously. Written in Go, it addresses a fundamental limitation in standard Kubernetes networking where each pod typically has only a single network interface. By acting as a meta-plugin that orchestrates calls to other CNI plugins, Multus allows the creation of multi-homed pods with multiple interfaces, each capable of connecting to different networks.

The project implements the Kubernetes Network Custom Resource Definition De-facto Standard, providing a standardized approach for specifying configurations of additional network interfaces. This standard was developed by the Kubernetes Network Plumbing Working Group, which maintains this repository. The architecture allows a pod to have a primary interface (eth0) connecting to the Kubernetes cluster network for communication with core services like the API server and kubelet, while additional interfaces (such as net0 and net1) can connect to other networks using various CNI plugins including VLAN, VXLAN, and point-to-point implementations.

A significant architectural evolution occurred with the multus 4.0 release, which introduced a thick plugin deployment model alongside the original thin plugin approach. The thick plugin uses a client-server style architecture consisting of two binaries: multus-daemon and multus-shim CNI plugin. The multus-daemon runs as a local agent on all nodes and provides additional capabilities such as metrics collection that were unavailable in the thin plugin deployment. This architectural choice involves a resource consumption tradeoff, with the thick plugin recommended for most environments while the thin plugin remains available for resource-constrained deployments.

Installation flexibility is a core feature of the project, with multiple deployment options available. Users can apply a daemonset using kubectl for quick setup, download pre-built binaries from the release page, use Docker images from the GitHub Container Registry, or build from source. The project includes comprehensive documentation covering usage patterns, quick-start guides, configuration options, development information, and thick plugin specifics.

Community engagement around Multus-CNI shows moderate activity levels according to GitGenius tracking data. Across 124 tracked issues and pull requests, the median response latency was 330.2 hours with a mean of 11100.1 hours, indicating variable response times. The most frequently applied issue labels were Stale with 64 occurrences, help wanted with 17, and bug with 7, suggesting ongoing maintenance challenges and community support requests. The primary contributor dougbtv generated 82 tracked events, with evilhamsterman and bpickard22 contributing 9 and 8 events respectively. The repository shares contributors with major projects including microsoft/vscode, microsoft/typescript, and rust-lang/rust, indicating cross-project involvement from its maintainers.

Multus-CNI is positioned as part of Intel's Baremetal Container Experience kit and serves use cases requiring containerized virtual network functions and multi-network pod deployments in Kubernetes environments.

multus-cni
by
k8snetworkplumbingwgk8snetworkplumbingwg/multus-cni

Repository Details

Fetching additional details & charts...