Lightup Hybrid (existing Kubernetes cluster)

Lightup Hybrid deployment lets you keep your data in your environment and use the Lightup control plane to help manage and troubleshoot your deployment. See Deployment models for more information.

You can deploy Lightup Hybrid to an existing self-managed or AWS EKS-managed Kubernetes cluster, using the following procedure.

Prerequisites

  1. Outbound connectivity— Your system instance must always have access to the following internet services for the proper functioning of Lightup. You should modify your firewall rules if you cannot access any of these services.
ServiceDomains to whitelist
Replicated (replicated.com): Lightup application software is packaged and licensed using Replicated. The application bundle (Kubernetes binaries, Docker containers, license file) are pulled from Replicated during the installation sequence and subsequent upgrades.- *.replicated.com (enables Upstream Docker images via proxy.replicated.com. The on-prem docker client uses a license ID to authenticate to proxy.replicated.com. This domain is owned by Replicated, Inc., headquartered in Los Angeles, CA.)
- quay.io (source of replicated images for releases)
- *.gcr.io (source of replicated images for releases)
- *.docker.io (source of replicated images for releases)
- k8s.kurl.sh (source of Kubernetes cluster installation scripts and artifacts: an application identifier is sent in a URL path, and bash scripts and binary executables are served from kurl.sh. This domain is owned by Replicated, Inc., headquartered in Los Angeles, CA)
- amazonaws.com (source of tar.gz: packages are downloaded from Amazon S3. The IP ranges to whitelist for accessing these can be scraped dynamically from the AWS IP Address Ranges documentation.)
Datadog: Lightup uses Datadog for container logging, metric monitoring and Kubernetes pod health monitoring*.datadoghq.com (enables Lightup monitoring)
Lightup AWS Services: Lightup leverages a dedicated single-tenant service for install and upgrade requirements.*.lightup.ai (enables Lightup system updates and calls)
  1. A supported Kubernetes version— We currently support versions 1.24 through 1.27.
  2. AWS EKS— If you’re using AWS EKS, make sure that the following add-ons or equivalent have been installed:
  3. Sufficient cluster resources— You need a minimum of 4 vCPUs / 16 GB memory per node and a minimum total resources across all nodes of 8 vCPUs, 64GB RAM.

Installation

Step 1: Install Postgres 14

  1. Install Postgres Server 14 with the following resources:
    • 4 CPUs
    • 8 GB memory
    • 200 GB storage
    • 2000 IOPS
  2. Set up daily backups.
  3. When your Postgres instance is ready, log in and complete the following steps:
    a. Make note of the Postgres host, TCP port, username and password - you'll need them during the next installation step (when you bootstrap the Lightup data plane).
    b. Create three databases: adb, sdb, and udb.
    c. In each database, set max_connection >= 500 and run the following code:
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
SELECT * FROM pg_stat_statements LIMIT 1;
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
SELECT uuid_generate_v4();

Step 2: Bootstrap the Lightup data plane

  1. Connect to a VM / laptop / server that has access to the Kubernetes cluster and can run bash.
  2. Make sure kubectl, curl, gpg and tar are installed.
  3. Make sure that the kubectl context points to the cluster where you are deploying Lightup. For help, see Kubernetes page, Configure Access to Multiple Clusters.
  4. Run the following command, using the tla and token values from Lightup:
    curl -H 'Cache-Control: no-cache' -L \
    https://s3.us-west-2.amazonaws.com/www.lightup.ai/launch_lightup.sh | \
    LIGHTUP_TLA=<tla> LIGHTUP_TOKEN=<token> bash -s deploy
    
  5. Follow the prompts to complete Postgres configuration, entering the values you noted when you set up Postgres.
  6. Wait for about 10 minutes, then browse to https://app.tla.lightup.ai (using the tla value from Lightup) and log in to the Lightup app to get started.

Step 3 (optional): Set up a NAT gateway

If the Lightup application needs to use a singular, consistent IP address to access your datasources, you can configure a NAT gateway for your k8s cluster on any of the following platforms: