Kubernetes - Deploy Control Plane Using iofogctl

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

In this guide, our Control Plane will deploy a single Controller instance.

Deploy a Control Plane on Kubernetes

Create a template of controlplane.yaml like so:

echo "---
apiVersion: iofog.org/v2
kind: KubernetesControlPlane
metadata:
  name: albatros-1
spec:
  iofogUser:
    name: Foo
    surname: Bar
    email: user@domain.com
    password: iht234g9afhe
  config: ~/.kube/config" > /tmp/controlplane.yaml

Make sure to specify the correct value for the config field. Here we implicitly use the default namespace. Note that iofogctl will deploy to the Kubernetes namespace that it is configured to use through the -n flag or to the default namespace we set via iofogctl configure default-namespace .... This means that by following these examples, we end up installing the Control Plane in default namespace on the cluster. Therefore it is recommended to use a namespace instead.

Once we have edited the fields to our liking, we can 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 all

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.

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