Skip to main content

Kubernetes - Deploy Control Plane Using potctl

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: datasance.com/v3
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 potctl will deploy to the Kubernetes namespace that it is configured to use through the -n flag or to the default namespace we set via potctl configure current-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:

potctl 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:

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