Skip to content

Quickstart

Bring up Lace on a cluster with default settings and confirm it is working: nodes are IPv6-reachable, the chart installs cleanly, and pods land on the default Networks with addresses.

Lace’s underlay is IPv6, regardless of the address families used inside pod networks. Confirm every node has one:

Terminal window
kubectl get nodes -o wide

Install the plugin, then the optional networks chart, both with default values — no extra --set flags needed for a first run:

Terminal window
helm install lace oci://ghcr.io/squ94wk/charts/lace-cni \
--namespace kube-system
helm install lace-networks oci://ghcr.io/squ94wk/charts/lace-cni-networks \
--namespace kube-system

See Installation for what each chart deploys and the values worth knowing about, in particular controller.srv6LocatorPrefix, needed for cross-node traffic.

The networks chart installs two Networks that make a fresh cluster work out of the box, each with its own NetworkBindingPolicy: system, for every pod in kube-system, and default, a catch-all for any pod that no other policy matches. Being the catch-all, default installs no route to itself, so pods there can reach only Networks they are explicitly peered with — see Topology.

Confirm existing kube-system pods, bound to system, have addresses:

Terminal window
kubectl get pods -n kube-system -o wide

Then confirm a pod with no matching binding policy lands on default:

Terminal window
kubectl run quickstart --image=busybox --command -- sleep infinity
kubectl get pod quickstart -o wide
kubectl delete pod quickstart

Both should show a pod IP.

  • Networks — network types, addressing, and how pods are bound.
  • Topology — connecting isolated networks with routing policies.