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 iofogctl

Procedures below use YAML that iofogctl 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: iofog.org/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/eclipse-iofog/controller:v3.8.0
auth:
mode: embedded
bootstrap:
username: admin
password: LocalTest12!
systemMicroservices:
router:
amd64: ghcr.io/eclipse-iofog/router:3.8.0
arm64: ghcr.io/eclipse-iofog/router:3.8.0
riscv64: ghcr.io/eclipse-iofog/router:3.8.0
arm: ghcr.io/eclipse-iofog/router:3.8.0
nats:
amd64: ghcr.io/eclipse-iofog/nats:2.14.3
arm64: ghcr.io/eclipse-iofog/nats:2.14.3
riscv64: ghcr.io/eclipse-iofog/nats:2.14.3
arm: ghcr.io/eclipse-iofog/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:

iofogctl deploy -f controlplane.yaml

Verify the deployment​

iofogctl get controllers
iofogctl describe controller alpaca-1
iofogctl 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!