Handbook (Operator Cheat-Sheet)¶
A one-screen operational reference for working inside the testbed. Canonical detail lives in the linked owners below; this page does not restate IPs, VNIs, or phase documentation (see CLAUDE.md for the ownership charter).
kubectl: K3s ships no standalone
kubectl. Run from master (vagrant ssh master) withsudo k3s kubectl.
Where to find what¶
| For | See |
|---|---|
| Interface matrix (subnets, static IPs, VXLAN VNIs) | architecture/5g-interfaces.md |
| Node/VM topology and IPs | architecture/overview.md |
| Network design (OVS, VXLAN, Multus) | architecture/network-topology.md |
| Deployment phases | deployment/phases.md |
| Dashboard access and modules | dashboard/overview.md |
| IAM, roles, OIDC clients | security/iam.md |
| External access and tunnels | security/external-access.md, deployment/external-tunnel.md |
| Troubleshooting | troubleshooting.md + runbooks/ |
| Feature maturity | status.md |
| Roadmap | roadmap.md |
| Known issues | known-issues/ |
Quick commands¶
Cluster status¶
sudo k3s kubectl get nodes -o wide
sudo k3s kubectl get pods -A
sudo k3s kubectl -n 5g get deploy,svc,pods
sudo k3s kubectl top pods -n 5g
sudo k3s kubectl top nodes
Network¶
# Interfaces on a pod
sudo k3s kubectl -n 5g exec deploy/amf -- ip addr show
# Overlay
sudo ovs-vsctl show
ip -d link show | grep vxlan
sudo k3s kubectl get net-attach-def -A
Logs¶
# K3s
journalctl -u k3s -f
journalctl -u k3s-agent -f
# KubeEdge
sudo k3s kubectl -n kubeedge logs -l app=cloudcore -f
ssh edge "journalctl -u edgecore -f"
# 5G Core
sudo k3s kubectl -n 5g logs deploy/amf -f
sudo k3s kubectl -n 5g logs deploy/smf -f
# OVS DaemonSet
sudo k3s kubectl -n kube-system logs -l app=ds-net-setup-worker -f
Configuration files¶
- Ansible variables:
ansible/group_vars/all.yml - Vagrant:
Vagrantfile - 5G Core configs:
ansible/phases/05-5g-core/configs/ - OVS scripts:
ansible/phases/04-overlay-network/scripts/
Operations¶
Pod migration (UPF/MEC between cloud and edge)¶
upf-edgeis disabled by default (replicas: 0); it is shown here only as the migration example.
sudo k3s kubectl -n 5g get pods -o wide
# Pin a deployment to a node
sudo k3s kubectl -n 5g patch deployment upf-edge \
-p '{"spec":{"template":{"spec":{"nodeSelector":{"kubernetes.io/hostname":"worker"}}}}}'
sudo k3s kubectl -n 5g rollout status deploy/upf-edge --timeout=120s
Restart and rollout¶
sudo k3s kubectl -n 5g rollout restart deployment/amf
sudo k3s kubectl -n 5g rollout status deployment/amf
Backup and recovery¶
# Back up Ansible config and live manifests
tar -czf ansible-config-backup.tar.gz ansible/
sudo k3s kubectl get all -A -o yaml > k8s-manifests-backup.yaml
sudo ovs-vsctl show > ovs-config-backup.txt
# Restore
tar -xzf ansible-config-backup.tar.gz
sudo k3s kubectl apply -f k8s-manifests-backup.yaml
For focused subsystem diagnostics (NGAP, PFCP, GTP-U, OVS, Multus) see the runbooks. For deeper procedures see the topic owners in the table above.