Computing at the edge is a rapidly growing field, and something we've supported with Portainer for some time now via the Portainer Edge Agent. Using our Edge Agent, your edge devices can be managed from a centralized Portainer server installation, even when the connectivity from an edge device to the server is intermittent and changing, or limited by security requirements. But as your stable of edge devices grows, the logistics of deploying the agent to the devices becomes more difficult, especially in the world of IIoT devices and the distribution of these devices in multiple physical locations.
To help make this easier, we're introducing a couple of new features to our Edge device support in Portainer version 2.13: device pre-staging and the Edge environment waiting room. By combining these two features, you're now able to pre-load edge devices with a startup script to deploy the Portainer Edge Agent on first boot, and have those newly deployed agents connect to a Portainer management environment to be approved by an administrator - all without any user intervention at the edge device.
To prepare a device, within the Portainer server you can create a generic script that will install the Portainer Edge Agent with the necessary settings in order for it to communicate back to the Portainer server. You can customize this script with environment variables as well as create scripts for the platforms we support, such as Kubernetes, Docker Swarm, Docker Standalone and Nomad. This script can be run without changes on any number of devices, meaning you can roll this out to as many devices as you need to run as part of their initial boot sequence.
This takes care of the pre-loading aspect, but we don't necessarily want every single device to automatically connect to and associate with your Portainer server without your approval. This is where the second concept comes in: the waiting room. With this feature, any new edge device that connects to your Portainer server using the script that you generated will go into a waiting room, visible within the Portainer UI. An administrator user can then choose on a per-device basis whether to allow the associating of the edge device with the Portainer server.
Once the device is approved to associate with Portainer, it will become listed in your Edge Devices and can be used as part of Edge Groups to deploy Edge Stacks.
Combining these two features means larger-scale deployments of remotely manageable edge devices becomes a lot easier thanks to Portainer. You can find more information as well as usage examples in our documentation.