Orion Agents
Agents are the worker nodes in an Orion cluster.
Installation
The Axyon agent is a lightweight binary that runs on the node. The Axyon Agent is currently supported on macOS and Linux hosts.
To install on macOS we recommend using Homebrew.
First, configure the Axyon Homebrew Tap:
brew tap axyon-io/axyon https://code.underland.io/axyon-io/homebrew-axyon
Next, install the Axyon Agent:
brew update && brew install axyon-io/axyon/axyon-agent
To install on Linux, we currently support AxyonOS and Alpine based distributions.
AxyonOS
To install on AxyonOS, use apk
:
apk update && apk add axyon-agent
Alpine
To install on Alpine, first add the Axyon package repository:
echo "https://pkgs.axyon.io/edge/main" >> /etc/apk/repositories
Next, grab the Axyon package repository public key:
curl -sSL pkgs.axyon.io/axyon.rsa.pub -o /etc/apk/keys/axyon.rsa.pub
Now, install the Axyon Agent:
apk update && apk add axyon-agent
Configuration
Upon installation, an initial agent config file will be created. The location depends on the node operating system.
The Agent config path on macOS is /opt/homebrew/etc/axyon/agent.toml
.
The default configuration will look something similar to the following:
Name = 'axyon-node-00'
Address = ''
ConfigDir = '/var/tmp/axyon-agent'
Insecure = true
Runtimes = ['vz:///var/tmp/axyon-agent/runtime']
ServiceIP = '10.10.255.10'
EnableBootstrap = true
[InstanceMetadata]
It is strongly recommended to check and update the configuration to fit your environment.
The Agent config path on Linux is /etc/axyon/axyon-agent.toml
.
The default configuration will look something similar to the following:
Name = 'axyon-node-00'
Address = ''
ConfigDir = '/var/tmp/axyon-agent'
Insecure = true
Runtimes = ['cloudhypervisor:///var/tmp/axyon-agent/runtime']
ServiceIP = '10.10.255.10'
EnableBootstrap = true
[InstanceMetadata]
It is strongly recommended to check and update the configuration to fit your environment.
Registration
After installing the agent, you can use two different methods for connecting to the Orion server.
Discovery
If your environment supports mDNS broadcast you can leave the Address
field blank in the agent configuration file. The agent will search for an Orion server and attempt an initial request to join.
Manual
If your environment DOES NOT support mDNS, update the Address
field in the agent configuration to your Orion server: e.g. tcp://asc.local:8080
.
Start the Agent
Once configured, you can start the agent.
On macOS you will receive a pop-up window requesting network access for the Axyon Agent. Make sure to allow network access or the agent will not be able to communicate with the Orion server.
Use brew
to start the Axyon Agent as a service that will run in the background:
brew services start axyon-io/axyon/axyon-agent
On AxyonOS and Alpine, the agent package contains an OpenRC service configuration.
To configure the agent to start on boot:
rc-update add axyon-agent
Finally, start the service:
rc-service axyon-agent start
Once the Axyon Agent is running, it should attempt to register with the server. You should be able to see the request using ax agents registration ls
:
ID AGENT CREATED STATUS
0196a5c1-2e66-7e3e-823d-f2c5ae3c0260 orion-agent-1 10 seconds ago PENDING
You can approve the request using ax agents registration approve <ID>
. Once approved, it should show up in ax agents ls
:
ID NAME CPUS MEMORY OS ARCH STORAGE SERVICE IP LOCATION UPDATED STATE VERSION
241e40fea2b65072a9c16dea7c438be840b95670697b96b4ff979466051c8d75 orion-agent-1 8 17 GB linux arm64 19 GB 172.19.0.8 -/- now READY dev (9e004a0)
Congratulations! You can now continue to create our first service.