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.