ioFog Documentation

website·Indexed 30 days ago

https://alpaslan-datasance.github.io/datasanceDocusaurus

Documentation for the ioFog platform, including the Agent daemon, Controller, and potctl CLI tool. Covers edge compute network (ECN) deployment, microservices development using the ioFog SDK, Hardware Abstraction Layer (HAL) interfaces, and platform deployment via Kubernetes and Helm for versions 2.0.0 and 3.0.0.

Tokens
74.6K
Snippets
472
Records
586
Agent score
73%

What's inside ioFog

  1. Overview of Edge Compute Network (ECN) Deployment

    Edge Compute Networks (ECNs) consist of a Control Plane and a set of Agents. To simplify the orchestration of ECNs and the deployment of microservices, the potctl CLI is used. There are two primary deployment options for an ioFog ECN:

    1. Remote deployment on a standalone host: Requires network setup and preparation of both Controller and Agent hosts for SSH access.
    2. Deployment onto a Kubernetes cluster: Requires network setup and preparation of Agent hosts for SSH access.
  2. Overview of Edge Compute Network (ECN) Viewer capabilities

    The ECN Viewer is a browser-based management tool used to visualize and manage an entire Edge Compute Network. Key capabilities include:

    • Viewing a summary of deployments on the Controller.
    • Deploying, starting, and stopping applications.
    • Managing application templates.
    • Visualizing Agents on a map.
    • Inspecting the detailed state of Agents, Applications, and Microservices.
  3. Overview of ioFog Edge Resources

    Edge Resources act as Digital Twins of hardware or software available to microservices running on ioFog Agents. They define the communication interface (endpoints and protocols) that microservices use to interact with physical entities (e.g., sensors, cameras, fuel pumps). Microservices can retrieve the list of attached Edge Resources via ioFog SDKs or the Agent local API. Edge Resources are uniquely identified by a combination of their name and version.
  4. ioFog Platform Architecture Overview

    ioFog is an edge computing platform used to deploy, run, and network distributed microservices. The architecture consists of the following components:

    • Nodes: The physical devices making up the Edge Compute Network (ECN).
    • Agent: A daemon service running on each node responsible for managing one or more microservices. Microservices are deployed using Linux kernel containers (LXC), commonly via Docker.
    • Controller: A software daemon used for the orchestration of all Agents. It tracks Agents automatically across network configurations and is used to maintain the fleet. A single Controller can run on any device (including a node running an Agent) provided it has a stable hostname or static IP and is reachable by all Agents.
    • Skupper AMQP Dispatch routers: An optional daemon used when microservices need to communicate with other nodes in the network.
  5. Understand the role of the ioFog Agent in an Edge Compute Network

    In an ioFog Edge Compute Network (ECN), every device (node) runs a daemon service called the Agent. The Agent is responsible for the local management of microservices on that specific node, including starting, stopping, and general orchestration. These microservices are typically deployed as Linux kernel containers (LXC), often utilizing Docker.
  6. Deploy distributed microservices with ioFog

    ioFog is an edge computing platform used to deploy, run, and network distributed microservices at the edge. It utilizes the following architectural components:

    • Nodes: The physical or virtual devices that make up the Edge Compute Network (ECN).
    • Agent: A daemon service running on each node responsible for managing one or more microservices. Microservices are deployed using Linux kernel containers (LXC), with Docker being the most common choice.
    • Controller: A software component used for the orchestration of Agents across the network. The Controller tracks Agents automatically and allows for fleet maintenance. A single Controller can manage a small network and can reside on a device that also runs an Agent, provided it has a stable hostname or static IP.
    • Skupper AMQP Dispatch routers: An optional daemon used when microservices need to communicate with other nodes in the network.
  7. Understand the role of the ioFog Controller

    The ioFog Controller is the central orchestrator of an Edge Compute Network (ECN). It manages Agents, Microservices, Routers, and users. The Controller must be network-accessible (via static IP or DNS) by all edge nodes running an Agent. It can be deployed as a native daemon or containerized on cloud providers (AWS, GCP), local hardware, or an edge node. Because it is fully functional via its REST API, it can also be placed behind an HTTP Ingress service.
  8. Manage microservice strace with iofog-controller

    Use the strace commands to enable, disable, or retrieve information about microservice strace logs. All these commands require the -i or --microservice-uuid flag to specify the target microservice.
    # Enable strace for a microservice
    iofog-controller strace-enable -i <microservice-uuid> --enable
    
    # Disable strace for a microservice
    iofog-controller strace-disable -i <microservice-uuid> --disable
    
    # Get strace information
    iofog-controller strace-info -i <microservice-uuid> -f <format>