Skip to main content
Version: v3.8.0
Want to deploy on Kubernetes instead?

Remote and Kubernetes are the two control plane deployment models. This guide deploys a remote control plane on a single Linux host over SSH. For Kubernetes, start at Kubernetes - Prepare a cluster.

Remote host - deploy control plane

Every edge compute network starts with a control plane that manages cluster resources.

In this guide, the control plane runs a single Controller instance on a remote host.

YAML resources for potctl

Procedures below use YAML that potctl applies. Field reference: Control plane YAML reference.

Authentication

Set auth.mode: embedded in your control plane YAML. See Embedded OIDC for bootstrap credentials and console URLs.

Production TLS

For production, enable Controller HTTPS on remote controllers (controllers[].https or spec.tls). Configure Router and NATS site and local CAs when you use custom trust anchors. See Securing the cluster (TLS sections).

Deploy a control plane on a remote host​

Create controlplane.yaml:

controlplane.yaml
---
apiVersion: datasance.com/v3
kind: ControlPlane
metadata:
name: albatros
spec:
iofogUser:
name: Foo
surname: Bar
password: iht234g9afhe
controller:
publicUrl: http://<controller-ip>:51121
consoleUrl: http://<controller-ip>
package:
image: ghcr.io/datasance/controller:v3.8.0
auth:
mode: embedded
bootstrap:
username: admin
password: LocalTest12!
systemMicroservices:
router:
amd64: ghcr.io/datasance/router:3.8.0
arm64: ghcr.io/datasance/router:3.8.0
riscv64: ghcr.io/datasance/router:3.8.0
arm: ghcr.io/datasance/router:3.8.0
nats:
amd64: ghcr.io/datasance/nats:2.14.3
arm64: ghcr.io/datasance/nats:2.14.3
riscv64: ghcr.io/datasance/nats:2.14.3
arm: ghcr.io/datasance/nats:2.14.3
events:
auditEnabled: true
retentionDays: 14
captureIpAddress: true
nats:
enabled: true
controllers:
- name: alpaca-1
host: <controller-ip-for-ssh>
ssh:
user: bar
keyFile: ~/.ssh/id_rsa

Edit host, ssh.user, and ssh.keyFile for your remote host. Set systemMicroservices architecture keys to match the host CPU.

Deploy:

potctl deploy -f controlplane.yaml

Verify the deployment​

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

With the control plane running, go to Set up Edgelet nodes to provision Edgelet v1.0.0 on your edge hosts.

Group 3See anything wrong with the document? Help us improve it!