Setup Your Control Plane

Every Edge Compute Network ('ECN') starts with a Control Plane that allows you to manage your ECN's resources.

In this guide, our Control Plane will deploy a single Controller instance. Our enterprise solution can be used to deploy multiple, highly available Controller instances within a single Control Plane but that process is not covered here.

There are two flavours of Controller deployments - Vanilla and Kubernetes. If you have a Kubernetes cluster, you can deploy a Controller directly onto it. Otherwise, a Linux remote host will do just fine.

Deploy Controllers on Kubernetes

Create a template of controlplane.yaml like so:

echo "---
iofoguser:
  name: Foo
  surname: Bar
  email: user@domain.com
  password: iht234g9afhe
controllers:
- name: alpaca-1
  kubeconfig: ~/.kube/config" > /tmp/controlplane.yaml

Make sure to specify the correct value for the kubeconfig field.

Once you have edited the fields to your liking, go ahead an run:

iofogctl deploy controlplane -f /tmp/controlplane.yaml

The next section covers how to do the same thing we just did, but on a remote host instead of a Kubernetes cluster. We can skip ahead.

Deploy Controllers on Remote Hosts

Create a template of controlplane.yaml like so:

echo "---
iofoguser:
  name: Foo
  surname: Bar
  email: user@domain.com
  password: iht234g9afhe
controllers:
- name: alpaca-1
  user: bar
  host: 38.101.23.2
  keyfile: ~/.ssh/id_rsa" > /tmp/controlplane.yaml

Make sure to edit the user, host, and keyfile fields to correspond with the remote host you are deploying to.

Once you have edited the fields to your liking, go ahead an run:

iofogctl deploy controlplane -f /tmp/controlplane.yaml

Verify the Deployment

We can use the following commands to verify the Control Plane is up and running:

iofogctl get controllers
iofogctl describe controller alpaca-1
iofogctl describe controlplane

Continue To Next Step: Setup your Connectors.