-
Notifications
You must be signed in to change notification settings - Fork 0
DEPLOYMENT
This document describes the process of deploying a node, from initial installation to its integration into the EdgeNet Kubernetes cluster.
The deployment of a node follows a structured lifecycle: Discovery -> Provisioning -> Activation -> Cluster Join.
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
pendingstate. -
Endpoint:
POST /api/node/checkin
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
Before a node can join the Kubernetes cluster, it must be Activated by an administrator.
- Activation moves the node from
pendingtoactivestatus. - This step ensures that only authorized nodes are allowed into the ecosystem.
-
Endpoint:
POST /api/node/activate(Admin only)
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 joinusing the provided credentials. - Ready Signal: Once the node successfully joins and its services are up, it signals the Orchestrator.
-
Endpoints:
POST /api/node/kubernetes/joinPOST /api/node/kubernetes/ready
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
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:
- Installs necessary dependencies (WireGuard, curl, etc.).
- Adds the EdgeNet repository.
- Installs the
nodemanagerpackage. - Starts the service, triggering the Discovery process.
Retrieval: GET /cloud-init