k8snetworkplumbingwg/multus-cni

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

View on GitHub ↗Jump to charts ↓Open shareable report →

k8snetworkplumbingwg/multus-cni has 2.5k+ stars and 650+ forks on GitHub, is written in Go, and was last pushed on Oct 9, 2026. Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 51 minutes ago
Added to GitGenius on June 12th, 2025
Created on December 13th, 2016
Open Issues & Pull Requests: 26 (+0)
GitHub issues: Enabled
Number of forks: 679
Total Stargazers: 2,963 (+0)
Total Subscribers: 62 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 13.8 days
Mean response time: 162.5 days
90th percentile: 689.6 days
Tracked items: 102

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 39 days
Stale 30+ days: 2
Stale 90+ days: 0

Recent activity

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

Top labels

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

Most active issues this week

Sign in to see which issues are moving.
Sign in

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. 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.