Quickstart
Launch c9s and a sample network lab in a disposable KinD cluster.
The repository includes an automated workflow that creates a single-node KinD cluster, installs the selected c9s Helm chart, configures MetalLB, and deploys a sample network topology consisting of an Nokia SR Linux node connected to a Network Multitool node.
Requirements
The Makefile provided in the repository automates all steps required to create the KinD cluster and deploy the sample network topology. All you have to ensure is that:
gitis installed- you have enough local CPU and memory to run KinD cluster and the sample network node.
8GB of RAM and 4 CPUs should be enough.
KinD, kubectl, Helm, yq, UV, and GitHub CLI are downloaded into build/try-c9s/bin at the
repository-pinned versions. Host executables with the same names are not used by this workflow.
Clone the repository
From the directory where you want to clone the repository, run:
git clone https://github.com/clabernetes/clabernetes
cd clabernetesRun the try-c9s workflow
From the repository root, run:
make try-c9sThis command creates a single-node KinD cluster, installs c9s, configures Kubernetes load balancer (MetalLB) and deploys a sample network topology consisting of an Nokia SR Linux node connected to a Network Multitool node.
A successful run ends with the following output:
--> TRY-C9S: SR Linux SSH: ssh admin@<load-balancer-ip-1>
--> TRY-C9S: SR Linux gNMI: <load-balancer-ip-1>:57400
--> TRY-C9S: SR Linux NETCONF: <load-balancer-ip-1>:830
--> TRY-C9S: Multitool SSH: ssh admin@<load-balancer-ip-2>
--> TRY-C9S: clabernetes is ready to tryThe exact load balancer address depends on the local cluster configuration.
Connect to the nodes
The previous step ends with the list of commands to use to connect to the two nodes in the sample network topology. You can always re-run make try-c9s-print-access from the repository root to print the access commands again.
try-c9s sample topology
One switch, one client, one link
srl1
e1-1192.0.2.0/31multitool
eth1192.0.2.1/31The list of connection commands show you how to connect:
- with SSH/gNMI/NETCONF to the Nokia SR Linux node deployed in the lab and
- with SSH to the Network Multitool node deployed in the lab.
Connect to the SR Linux node using SSH, you should see the login prompt for the admin user, enter the NokiaSrl1! to log in.
Test the datapath
You can now test that the datapath is working by sending a ping from SR Linux ethernet-1/1 interface to the Network Multitool eth1 interface.
--{ running }--[ ]--
A:admin@srl1# ping network-instance default 192.0.2.1
Using network instance default
PING 192.0.2.1 (192.0.2.1) 56(84) bytes of data.
64 bytes from 192.0.2.1: icmp_seq=1 ttl=64 time=5.98 msExplore the deployment
Provided the datapath is working, you can continue exploring the deployment using kubectl that is downloaded into build/try-c9s/bin at the repository root.
Clean up
When you are done exploring c9s, you can clean up the whole deployment by removing the KinD cluster:
make try-c9s-clean