Skip to main content
Version: 3.0.0

Self-hosted Instances

Self-hosted Instances allow you to run Ascend on your own infrastructure, giving you complete control over your deployment environment.

Requirements​

Kubernetes​

To set up a self-hosted Instance, you'll need a Kubernetes cluster and the ability to deploy applications to it.

Create a Kubernetes cluster using a cloud provider such as AWS, GCP, or Azure. We currently offer a Google Kubernetes Engine (GKE) quickstart guide to help you get started.

Cluster specifications​

The recommended specifications for your Kubernetes cluster are as follows:

Node configuration​

  • Node size: 16 vCPU with a 4:1 GB:vCPU ratio (64GB RAM)
  • Node count: Ensure your cluster has autoscaling enabled with a minimum of 1 node

Network requirements​

  • Network access: Your cluster must have full network access to any systems it will interact with (databases, object storage, Git providers, etc.)
  • Ingress traffic: You must be able to route incoming HTTPS traffic to pods in your cluster
  • Static IP: If your data sources require IP whitelisting, a static egress IP address is required. This same IP is also needed for DNS configuration.
  • DNS & SSL: Ascend will provide a domain name and SSL certificate during the setup process

Network Diagnostics​

Use these commands to validate your network configuration:

# Verify your cluster's egress IP address
kubectl run -it --rm --image=busybox test-pod -- sh -c 'wget -qO - http://ipecho.net/plain'

# Check if a service is reachable (replace <host-or-ip> and <port> with target values)
kubectl run -it --rm --image=busybox test-pod -- sh -c 'nc -z -v -w5 <host-or-ip> <port> && echo "✅ reachable"'

Once your Kubernetes cluster is set up and properly configured, set up your instance backend by following the instructions in the Bring your own Instance backend guide.