An ioFog Edge Compute Network ('ECN') is composed of an ioFog Controller and a set of ioFog Agents. A typical ECN will have each instance of the various components deployed on a different remote host.
ECN's are deployed using
iofogctl. The following steps will ensure that our remote hosts are ready to have
iofogctl deploy ECN components onto them remotely.
iofogctl will SSH into our remote hosts using an RSA SSH key-pair we specify.
We add the public key of the key-pair that we intend to use with
iofogctl to the remote host to deploy ECN components onto. For example, we could run a command like this:
ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@<controller-or-agent-hostname>
We do this for Controller host (only when we intend to deploy Controller directly, i.e. not to Kubernetes cluster) and all the agents. Node this is the key we will later use to deploy Controller and Agent using
iofogctl, please keep track of it.
iofogctl will need to run certain commands as sudo. In order to do this without using the root user, we must add the user we intend to use on the remote host to the sudo group. Run this command on all the remote host:
usermod -aG sudo $USER
In order to prevent
iofogctl from failing its SSH sessions, we need to ensure that the sudoers in the remote host can run commands without having to enter a password. Note that
iofogctl is unable to prompt the user for passwords.
We can achieve this by editing the sudoers file by first running
su visudo on the remote host. This will open up the sudoers file for editing. Make sure this line is present in the file
%sudo ALL=(ALL) NOPASSWD:ALL.