Using the Edera Installer
The Edera installer automates the deployment process using a containerized approach. This method works for most on-premises and cloud deployments outside of managed Kubernetes services like AWS EKS.
How the Installer Works
The installer consists of two scripts that work together:
install.sh- Handles file transfer and remote execution on target nodesedera-install.sh- Executes the container-based installation on the target node
Both scripts need to be created in your working directory alongside your GAR key.
Installation Steps
Step 1: Set Up Your Working Directory
Create a local directory for the installation files:
mkdir edera-install
cd edera-installPlace your key.json (GAR key from Edera support) in this directory.
Step 2: Create the Installation Scripts
Create two executable scripts in your working directory.
install.sh
This script transfers files to the target node and initiates the installation:
#!/bin/bash
set -e
# Transfer installation script and credentials to target node
scp edera-install.sh root@${INSTALLER_IP}:/root/edera-install.sh
scp key.json root@${INSTALLER_IP}:/root/key.json
# Execute installation on target node
ssh root@${INSTALLER_IP} 'chmod +x /root/edera-install.sh && /root/edera-install.sh'Make it executable:
chmod +x install.shedera-install.sh
This script runs on the target node and performs the actual installation:
#!/bin/bash
set -e
# Authenticate to Edera container registry
cat /root/key.json | docker login -u _json_key --password-stdin us-central1-docker.pkg.dev
# Pull and run the Edera installer container
docker run --rm \
--privileged \
-v /:/host \
us-central1-docker.pkg.dev/edera-staging/protect/installer:latest
# Installation complete - reboot required
echo "Installation complete. The node will reboot to load the Edera hypervisor."Step 3: Run the Installer
Execute the installer against each target node:
INSTALLER_IP=<node_ip_address> ./install.shReplace <node_ip_address> with the IP address of your target node.
For multiple nodes, repeat for each one:
INSTALLER_IP=10.0.1.10 ./install.sh
INSTALLER_IP=10.0.1.11 ./install.sh
INSTALLER_IP=10.0.1.12 ./install.shStep 4: Node Reboot
The installation requires a node reboot to load the Edera hypervisor. This happens automatically as part of the installation process.
Important: Plan your installation during a maintenance window. Nodes will be unavailable during the reboot.
Step 5: Verify Installation
After the node reboots, verify that Edera services are running:
ssh root@<node_ip>
systemctl list-units --type=service | grep protectYou should see six Edera services active:
protect-cri- Container Runtime Interfaceprotect-daemon- Core daemonprotect-networking-daemon- Networking componentsprotect-orchestrator- Orchestration layerprotect-storage-daemon- Storage managementprotect-preinit- Pre-initialization service
What’s Happening Under the Hood
Understanding what the installer does helps when troubleshooting:
Privileged Execution
- The installer runs with
--privilegedflag to access system resources - This is required to install kernel modules and configure the hypervisor
Host Filesystem Access
- The installer mounts the host root filesystem (
/:/host) - This allows it to modify system configuration and install binaries
Registry Authentication
- Docker config credentials persist after installation
- This ensures nodes can pull Edera container images
Hypervisor Integration
- The installer configures Xen hypervisor components
- Node reboot loads the hypervisor at boot time
Kubernetes Integration (Optional)
If you’re integrating with Kubernetes, continue to the next section. Otherwise, your installation is complete.
Up next: Kubernetes Integration β
