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.
Create a template of controlplane.yaml like so:
echo "---
apiVersion: iofog.org/v1
kind: ControlPlane
metadata:
name: albatros-1
spec:
iofogUser:
name: Foo
surname: Bar
email: user@domain.com
password: iht234g9afhe
controllers:
- name: alpaca-1
kube:
config: ~/.kube/config" > /tmp/controlplane.yaml
Make sure to specify the correct value for the kube.config
field.
Once you have edited the fields to your liking, go ahead and run:
iofogctl deploy -f /tmp/controlplane.yaml
Naturally, we can also use kubectl
to see what is happening on the Kubernetes cluster.
kubectl get pods
kubectl get services
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.
Create a template of controlplane.yaml like so:
echo "---
apiVersion: iofog.org/v1
kind: ControlPlane
metadata:
name: albatros
spec:
iofogUser:
name: Foo
surname: Bar
email: user@domain.com
password: iht234g9afhe
controllers:
- name: alpaca-1
host: 38.101.23.2
ssh:
user: bar
keyFile: ~/.ssh/id_rsa" > /tmp/controlplane.yaml
Make sure to edit the host
, ssh.user
, and ssh.keyFile
fields to correspond with the remote host you are deploying to.
Once you have edited the fields to your liking, go ahead and run:
iofogctl deploy -f /tmp/controlplane.yaml
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