There are two flavours of Control Plane deployments - Remote and Kubernetes. This guide will focus on deploying a Remote Control Plane on a single Linux remote host. Go to Kubernetes - Prepare A Cluster to deploy the Control Plane on Kubernetes Cluster instead.
Remote Host - Deploy Control Plane
Every Edge Compute Network ('ECN') starts with a Control Plane that allows us to manage ECN's resources.
In this guide, our Control Plane will deploy a single Controller instance on a remote host.
The following procedures will define resources in YAML for potctl to consume. Specification of those YAML resources can be found here.
Set auth.mode: embedded in your Control Plane YAML. See Embedded OIDC Authentication for bootstrap credentials and TLS requirements.
Deploy a Control Plane on a Remote Host
Create controlplane.yaml:
---
apiVersion: datasance.com/v3
kind: ControlPlane
metadata:
name: albatros
spec:
iofogUser:
name: Foo
surname: Bar
password: iht234g9afhe
controller:
publicUrl: https://38.101.23.2:51121
consoleUrl: https://38.101.23.2:8008
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
nats:
amd64: ghcr.io/datasance/nats:2.14.3
arm64: ghcr.io/datasance/nats:2.14.3
events:
auditEnabled: true
retentionDays: 14
captureIpAddress: true
nats:
enabled: true
controllers:
- name: alpaca-1
host: 38.101.23.2
ssh:
user: bar
keyFile: ~/.ssh/id_rsa
Edit host, ssh.user, and ssh.keyFile for your remote host. Set systemMicroservices arch 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
With the Control Plane running, go to Setup Edgelet nodes to provision Edgelet v1.0.0 on your edge hosts.