Declarative node network configuration driven through Kubernetes API.
Go
291
999 commits
updated Oct 13, 2026
[keɪ ɛn ɛm steɪt] Declarative node network configuration driven through Kubernetes API.
We use nmstate to perform state driven network configuration on cluster nodes and to report back their current state. Both the configuration and reporting is controlled via Kubernetes objects.
apiVersion: nmstate.io/v1
kind: NodeNetworkConfigurationPolicy
metadata:
name: br1-eth0
spec:
desiredState:
interfaces:
- name: br1
type: linux-bridge
state: up
ipv4:
dhcp: true
enabled: true
bridge:
port:
- name: eth0
The only external dependency is NetworkManager running on nodes. See more details in Compatibility documentation.
You can choose to deploy this operator on a local virtualized cluster or on your arbitrary cluster.
You can also install kubernetes-nmstate using the Helm chart:
helm install nmstate oci://quay.io/nmstate/kubernetes-nmstate --version <version> --namespace nmstate --create-namespace
The following comprehensive 101 series is the best place to start learning about all the features:
These example manifests should serve as reference on how to configure various configuration options:
With hybrid clouds, node-networking setup is becoming even more challenging. Different payloads have different networking requirements, and not everything can be satisfied as overlays on top of the main interface of the node (e.g. SR-IOV, L2, other L2). The Container Network Interface (CNI) standard enables different solutions for connecting networks on the node with pods. Some of them are part of the standard, and there are others that extend support for Open vSwitch bridges, SR-IOV, and more...
However, in all of these cases, the node must have the networks setup before the pod is scheduled. Setting up the networks in a dynamic and heterogeneous cluster, with dynamic networking requirements, is a challenge by itself - and this is what this project is addressing.
Contributions are welcome! Find details about the project's design and development workflow in the developer guide.
Overall
Maintained
Code review
Latest release
Releases this year
97 followers · starred Feb 2019
654 followers · starred Jun 2024
32 followers · starred Feb 2024
247 followers · starred Aug 2024
Declarative node network configuration driven through Kubernetes API.
Go
291
999 commits
updated Oct 13, 2026
[keɪ ɛn ɛm steɪt] Declarative node network configuration driven through Kubernetes API.
We use nmstate to perform state driven network configuration on cluster nodes and to report back their current state. Both the configuration and reporting is controlled via Kubernetes objects.
apiVersion: nmstate.io/v1
kind: NodeNetworkConfigurationPolicy
metadata:
name: br1-eth0
spec:
desiredState:
interfaces:
- name: br1
type: linux-bridge
state: up
ipv4:
dhcp: true
enabled: true
bridge:
port:
- name: eth0
The only external dependency is NetworkManager running on nodes. See more details in Compatibility documentation.
You can choose to deploy this operator on a local virtualized cluster or on your arbitrary cluster.
You can also install kubernetes-nmstate using the Helm chart:
helm install nmstate oci://quay.io/nmstate/kubernetes-nmstate --version <version> --namespace nmstate --create-namespace
The following comprehensive 101 series is the best place to start learning about all the features:
These example manifests should serve as reference on how to configure various configuration options:
With hybrid clouds, node-networking setup is becoming even more challenging. Different payloads have different networking requirements, and not everything can be satisfied as overlays on top of the main interface of the node (e.g. SR-IOV, L2, other L2). The Container Network Interface (CNI) standard enables different solutions for connecting networks on the node with pods. Some of them are part of the standard, and there are others that extend support for Open vSwitch bridges, SR-IOV, and more...
However, in all of these cases, the node must have the networks setup before the pod is scheduled. Setting up the networks in a dynamic and heterogeneous cluster, with dynamic networking requirements, is a challenge by itself - and this is what this project is addressing.
Contributions are welcome! Find details about the project's design and development workflow in the developer guide.
Overall
Maintained
Code review
Latest release
Releases this year
97 followers · starred Feb 2019
654 followers · starred Jun 2024
32 followers · starred Feb 2024
247 followers · starred Aug 2024