Neurox Control plane standalone

Neurox Control can be installed anywhere that has ingress and persistent disk and does not require GPU nodes (those can be joined as Workload clusters with GPU nodes). A common approach is to deploy Neurox Control onto vanilla EKS, GKE, AKS or IKS cluster.

Cluster requirements

  • Kubernetes and CLI 1.29+

  • Helm CLI 3.8+

  • 4 CPUs

  • 8 GB of RAM

  • 120 GB Persistent Volume Storage

  • Ingress reachable from Internet

Prerequisites

At a minimum you will need both cert-manager and ingress-nginx to run the Neurox control chart.

Cert Manager

Required for automated provisioning of Neurox SSL/TLS certificates. Install with:

helm repo add jetstack https://charts.jetstack.io --force-update
helm repo update
helm install --create-namespace -n cert-manager cert-manager jetstack/cert-manager --version v1.17.0 --set crds.enabled=true

For more information on how to configure cert-manager: https://cert-manager.io/docs/installation/helm/

Ingress Nginx

Required to access the Neurox web portal. Install with:

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm install --create-namespace -n ingress-nginx ingress-nginx ingress-nginx/ingress-nginx --version 4.12.1

For more information on how to configure ingress-nginx: https://github.com/kubernetes/ingress-nginx/tree/main/charts/ingress-nginx

Credentials

  • Your Neurox subdomain

  • Your Neurox install key

  • Your Neurox registry username and password

Install

Once you have all of the above information, set the environment variables accordingly in the script below, then copy the script into your shell and run it. The install may take up to 5 minutes to complete.

NEUROX_DOMAIN=random-words.goneurox.com
INSTALL_KEY=i_installkeyhere
NEUROX_HELM_REGISTRY=oci://ghcr.io/neuroxhq/helm-charts
NEUROX_IMAGE_REGISTRY=registry.neurox.com
NEUROX_USERNAME=random-words-goneurox-com
NEUROX_PASSWORD=yourregistrypassword

kubectl create ns neurox
kubectl create secret generic -n neurox neurox-control-license --from-literal=install-key=${INSTALL_KEY}
kubectl create secret docker-registry -n neurox neurox-image-registry --docker-server=${NEUROX_IMAGE_REGISTRY} --docker-username=${NEUROX_USERNAME} --docker-password=${NEUROX_PASSWORD}

helm install neurox-control ${NEUROX_HELM_REGISTRY}/neurox-control --namespace neurox --set global.domain=${NEUROX_DOMAIN}

Configure IdP

By default, Neurox supports local users and groups. If you want to configure Google as your IdP, follow those instructions, set the secret, then include this argument at the end of the Helm install command above:

--set global.identityProviders.enabled={google}

Last updated