Edge computing/container testbed
CHI-in-a-Box supports deploying a "flavor" of the Chameleon testbed optimized for edge computing experimentation. This type of testbed provides the following capabilities:
Central management of lease and container lifecycle across enrolled edge devices
Support for automatically attaching pre-configured peripherals to containers at create time, including, e.g. NVIDIA TX2 GPUs or Raspberry Pi Camera Modules or GPIO devices
Secure encrypted communication to enrolled devices over NAT and WAN--devices do not have to be colocated with the control plane
Various container-focused interfaces such as interactive console, remote log access, bind mounts and snapshots

Pre-deployment
Note: Setup of encrypted Wireguard tunnels is a manual step currently. Future versions of CHI-in-a-Box will improve this.
The following guide uses wireguard-tools to simplify some steps of the tunnel setup and configuration, but this is not strictly required. To install this package:
Create the management tunnel. This tunnel will carry management/system traffic between the control plane and the enrolled devices.
Create the user tunnel. This tunnel will carry user VxLAN traffic from the containers on the enrolled devices.
Site configuration
Here is a minimum viable configuration for an edge deployment:
defaults.yml
defaults.ymlhost_vars/<control>
host_vars/<control>The main control node should have interfaces set up in its host_vars file like this:
Device enrollment
Note: currently devices must be enrolled by site operators via a not-very-streamlined process. The Chameleon Edge SDK is under active development and will be 100% responsible for device enrollment in the future, both ensuring that the devices have all required software installed and are securely connected to the central control plane.
If you've gotten this far, ask the Chameleon operators about the current state-of-the-art for device enrollment as it's rapidly evolving.
Last updated