Self Hosting Edge Delta with Air Gap

Self Hosting Edge Delta with an air gap.

Most deployments host the Edge Delta agent and rely on the Edge Delta SaaS. You can optionally self-host all the Edge Delta software components in an air gap environment. This is useful in environments with security policies that do not allow public integrations. It is recommended to perform this deployment with assistance from the Edge Delta team.

Requirements

Self Hostng requires a Kubernetes or Open Shift Container Platform cluster with the following minimum resources:

Component Memory CPU Storage
Rehydration Handler 16GiB 2000m
Config Test 2GiB 3000m
Database (DynamoDB) 2GiB 400m 10GiB
Backend 256MiB 500m
Frontend 128MiB 200m
InfluxDB (Optional) 3GiB 2000m 10Gi
Replicated Admin CLI 100MiB 100m 5GiB
Total 24GiB 8200m 25GiB

Deployment

1. Prepare a Container

Prepare a private container registry for the Installation

  • Private.registry.host
  • RO-USERNAME
  • RO-PASSWORD

2. Download the Air Gapped Bundle

Download the Air Gapped Bundle from AWS. Please contact Edge Delta to arrange access to the latest bundle.

3. Install the Replicated kots CLI client:

  1. Download one of the following kots CLI releases v1.92.0 depending on your OS:
  • curl -L https://github.com/replicatedhq/kots/releases/download/v1.92.0/kots_darwin_all.tar.gz
  • curl -L https://github.com/replicatedhq/kots/releases/download/v1.92.0/kots_linux_amd64.tar.gz
  • curl -L https://github.com/replicatedhq/kots/releases/download/v1.92.0/kots_linux_arm64.tar.gz
  1. Unarchive the .tar.gz file that you downloaded, depending on your OS:
  • tar xvf kots_darwin_all.tar.gz
  • tar xvf kots_linux_amd64.tar.gz
  • tar xvf kots_linux_arm64.tar.gz
  1. Rename the kots executable to kubectl-kots and move it to one of the directories that is in your PATH environment variable. This ensures that the system can access the executable when you run kots CLI commands. Replace PATH_TO_TARGET_DIRECTORY with the path to a directory that is in your PATH environment variable. For example, /usr/local/bin.
  • mv kots /PATH_TO_TARGET_DIRECTORY/kubectl-kots
  1. Verify the installation:
  • kubectl kots --help

4. Download ‘kotsadm.tar.gz’

Download ‘kotsadm.tar.gz’ from the kots release page on GitHub.

5. Extract images and push to a private registry

Extract admin console container images and push them into a private registry. Specify a username and password for an account that has read and write access to the private image registry:

kubectl kots admin-console push-images ./kotsadm.tar.gz private.registry.host/<NAMESPACE> \
  --registry-username $RW_USERNAME \
  --registry-password $RW_PASSWORD

6. Install the admin console

  1. Install the admin console using the images in the private registry:
kubectl kots install edgedelta-backend \
  --kotsadm-registry private.registry.host/<NAMESPACE> \
  --registry-username $RO-USERNAME \
  --registry-password $RO-PASSWORD
  1. The output of the command will ask the namespace to deploy to, type edgedelta-backend.
  2. Create a new password for the logging in to the Replicated admin console.

7. Start the Replicated admin console

Once the kots CLI is installed to the namespace, you can start the Replicated admin console:

kubectl kots admin-console --namespace edgedelta-backend

8. Deploy the Air Gapped Bundle

  1. Open the Replicated Admin Console in a browser at http://localhost:8800/
  2. Login to the Replicated Admin Console with the password you created.
  3. Click Choose a file and upload your license file.
  4. Enter the private container registry configuration
  • Hostname
  • Username
  • Password
  • Registry Namespace
  1. Click Choose a bundle to upload to upload the air-gapped bundle, which is about 1.6Gb. In this step, the container images are pushed to the Docker registry from the air-gap bundle.