Skip to content

DEPLOYMENT

Ciro Scognamiglio edited this page Jun 21, 2026 · 1 revision

Node Deployment and Lifecycle

This document describes the process of deploying a node, from initial installation to its integration into the EdgeNet Kubernetes cluster.

Node Deployment Workflow

The deployment of a node follows a structured lifecycle: Discovery -> Provisioning -> Activation -> Cluster Join.

1. Discovery

When NodeManager is first installed and started on a node, it performs a Check-in.

  • The node sends its hardware details, architecture, and basic networking information to the Orchestrator.
  • The Orchestrator registers the node in a pending state.
  • Endpoint: POST /api/node/checkin

2. Provisioning

Once discovered, the Orchestrator provides the node with its unique identity and configuration.

  • WireGuard Setup: The node and Orchestrator exchange WireGuard public keys. The Orchestrator assigns a private IP address within the EdgeNet management network.
  • Configuration: The node receives its node ID and other environment-specific settings.
  • Endpoint: POST /api/node/wireguard

3. Activation

Before a node can join the Kubernetes cluster, it must be Activated by an administrator.

  • Activation moves the node from pending to active status.
  • This step ensures that only authorized nodes are allowed into the ecosystem.
  • Endpoint: POST /api/node/activate (Admin only)

4. Kubernetes Join

After activation, the node is ready to become part of the Kubernetes cluster.

  • Join Request: The node requests the necessary bootstrap tokens and CA hashes from the Orchestrator.
  • Node Join: The node executes kubeadm join using the provided credentials.
  • Ready Signal: Once the node successfully joins and its services are up, it signals the Orchestrator.
  • Endpoints:
    • POST /api/node/kubernetes/join
    • POST /api/node/kubernetes/ready

Monitoring Node Health

Active nodes continuously report their status to the Orchestrator.

  • Heartbeats: Nodes send periodic "pings" to indicate they are online and healthy.
  • Status Updates: These pings include current load, disk usage, and service status.
  • Endpoint: POST /api/node/ping

Automation with Cloud-Init

For cloud environments (AWS, OpenStack, etc.), NodeManager can be deployed automatically using cloud-init. This allows for zero-touch provisioning of EdgeNet nodes.

The cloud-init configuration performs the following:

  1. Installs necessary dependencies (WireGuard, curl, etc.).
  2. Adds the EdgeNet repository.
  3. Installs the nodemanager package.
  4. Starts the service, triggering the Discovery process.

Retrieval: GET /cloud-init