Skip to main content
Version: v3.9.0

Edgelet nodes

An Edgelet node is a member of a Datasance PoT cluster. It runs Edgelet, receives workloads, and joins the router and NATS fabrics. These pages cover the YAML kinds, the bootstrap pipeline, and how the Controller builds those fabrics.

A control plane must already exist in the namespace. Edgelet as a standalone engine is documented under Edgelet.

Three kinds​

KindUse
AgentProduction Edgelet node. potctl reaches the host over SSH and bootstraps Edgelet. See Remote node.
LocalAgentEdgelet on the machine where potctl is running. This is an extra local node. The control plane system node is a different object. See Local node and spec.systemAgent on a local control plane.
AgentConfigController record only. No host bootstrap. See AgentConfig.

User YAML uses the flavor apiVersion. Examples on these pages use <FlavorYaml> so the group and image registry match the site you are reading. The deploy command is deploy with -f.

potctl deploy -f agents.yaml -n my-ecn

Say Edgelet node in the console and in these guides. The YAML kind stays Agent.

Component pairing (v3.9.0)​

ComponentVersion
potctlv3.9.0
Edgelet (binary or image)v1.1.0 (image tag 1.1.0)

Controller, operator, Router, and NATS pins for this train are on Control plane.

Host architecture values used at deploy are amd64, arm64, arm, riscv64, and auto where that value is accepted.

Two deploy phases​

deploy -f separates the Controller record from the host install.

For an Agent or LocalAgent in one file:

  1. AgentConfig phase. Explicit kind: AgentConfig documents run against the Controller API first. For each Agent or LocalAgent with no matching AgentConfig, potctl synthesizes one from spec.config, the node name, and the host. Matching is by metadata.name. When names match, host and tags from the node spec are merged into that AgentConfig.
  2. Host phase. potctl bootstraps Edgelet, may update AgentConfig again when spec.config is set, runs edgelet config and edgelet provision, and stores the node in the CLI namespace config (~/.iofog/v3).

upstreamRouters and upstreamNatsServers are Edgelet node names in YAML. potctl resolves them to UUIDs at deploy time. The upstream node must already exist on the Controller. Deploy it first, or put its AgentConfig in the same file before the node that names it.

One file may also contain a control plane, volumes, and applications. Node deploy runs only after control plane executors succeed. metadata.namespace, when set, must match -n.

System node on the control plane​

The system Edgelet node on a Controller host is not kind: Agent. Declare it in control plane YAML:

Control planeYAML path
Remote ControlPlanecontrollers[].systemAgent
LocalControlPlanespec.systemAgent

Bootstrap runs when that host is prepared. The later system-node step only pushes AgentConfig and provisions. It does not bootstrap Edgelet again. Config fields for that record are the same shape as AgentConfig fields. Scripts live on the control plane object. See Remote and Local.

Console​

Open Nodes. The pages are Edgelet List, Edgelet Map, and Mesh Graph. The first SSH install is a CLI deploy. After the node exists, the console and potctl share the Controller API.

Procedures​

Get started already has the operator steps. Use these links. Do not treat this section as a second copy.

ProcedureGuide
Install on a hostSetup Edgelet nodes
Config pushConfiguration updates
EdgeGuardEdgeGuard
Attach and detachAttach and detach
VolumesVolume distribution
PruneImage pruning
Upgrade and rollbackUpgrade and rollback
ReconcileReconcile
Logs and execNode logs and exec
Console screensNodes

Day-2 verbs are summarized on Lifecycle.

EdgeGuard​

edgeGuardFrequency on the node config is the scan interval in seconds. 0 disables scans. What a signature change does, and how to turn scans on, is in EdgeGuard. The field is listed on AgentConfig fields.

Upgrade and rollback Edgelet​

Fleet nodes move to Edgelet v1.1.0 with upgrade agent after the control plane is healthy. Rollback uses the same flow with the previous version. Steps and workload impact are in Upgrade and rollback.

Attach, detach, and move​

Detach removes the Controller record and keeps Edgelet on the host so you can attach the node again. Move is that transfer across namespaces. Commands, delete, and SSH cache updates are in Attach and detach.

Service distribution tags​

To receive local TCP bridge listeners for a Service, tag the node or its AgentConfig with the distribution prefix and the token:

metadata:
tags:
- "service.iofog.org/tag: checkout"
- "service.iofog.org/tag: all"

checkout matches a Service whose metadata.tags includes checkout. The all token matches every Service.

Guides​

PageContents
Remote nodekind: Agent
Agent fieldsSSH, package, scripts, spec.config
Local nodekind: LocalAgent
LocalAgent fieldsLocal host fields and spec.config
AgentConfigController record only
AgentConfig fieldsspec configuration
BootstrapInstall layers and custom scripts
LifecycleDay-2 verbs
NetworkingRouter and NATS from declarative config
Router fabricrouterMode, listeners, upstreams
NATS fabricnatsMode, leaf, server, JetStream
Group 3See anything wrong with the document? Help us improve it!