Distributed containerlabs, powered by Kubernetes.
Clabernetes or c9s (pronounced: see-nines) turns every network node and wire into an independently reconciled resource, then runs your containerlab workloads across the cluster.
Distributed declarative labs
Declaratively defined · distributed by K8s
spine-01
spine-02
leaf-01
leaf-02
leaf-03
Familiar containerlab syntax, Kubernetes native
Topology Custom Resource.
Declare a c9s Topology resource embedding the familiar containerlab definition. Its controller compiles your lab into Node and Link resources, then runs it across Kubernetes.
apiVersion: c9s.run/v1alpha1
kind: Topology
metadata:
name: two-node-lab
spec:
definition:
containerlab: |
name: two-node-lab
topology:
nodes:
srl:
kind: nokia_srlinux
image: ghcr.io/nokia/srlinux
sonic:
kind: sonic-vm
image: sonic-vm:latest
links:
- endpoints:
- "srl:e1-1"
- "sonic:eth1"Node definitions
One Nokia SR Linux router and one SONiC switch. Give each node a name, a kind, and a container image.
2 Node resources → 2 device PodsLink definition
Connect srl:e1-1 to sonic:eth1. Each endpoint identifies a node and its interface.
Designed for small and huge labs
A Kubernetes API for network infrastructure.
Keep containerlab vocabulary while gaining the reconciliation, policy, and distribution model of Kubernetes.
Primary API
Node and Link first
Model each network node and wire as an independently reconciled Kubernetes resource.
Learn moreKubernetes native
Policy that composes
Use node profiles, scheduling, persistence, services, and familiar cluster workflows.
Learn moreEasy adoption
Containerlab compatible
Run existing topologies through the supported Topology compiler or emit primitive resources.
Learn moreHow it works
From intent to running lab.
Author direct resources or bring an existing topology. c9s handles the controller and device Pod lifecycle.
Describe
Topology or direct CRs
Reconcile
Nodes, links, and policy
Run
One device Pod per node
Ready to build?
Your first distributed lab is one quickstart away.
Launch a disposable KinD cluster, install c9s, and connect your first network nodes.
Open the quickstart