Skip to content
Neutree Documentation

Installing Neutree on Kubernetes through NodePort

When installing Neutree in a Kubernetes cluster by using Helm, the default configuration creates LoadBalancer type services for the API, model gateway, VictoriaMetrics, and Grafana. If the Kubernetes cluster does not support LoadBalancer services, you can configure all these services as NodePort type services.

Procedure

  1. Edit the values.yaml file of the Helm chart, and add or modify the following configuration:

    api:
    service:
    type: NodePort
    kong:
    proxyService:
    type: NodePort
    victoria-metrics-cluster:
    vminsert:
    service:
    type: NodePort
    grafana:
    service:
    type: NodePort
    nodePort:
    externalHost: <external_host>

    Replace <external_host> with a domain name, VIP, or load balancer address that can access Kubernetes NodePort services from outside Neutree. You do not need to specify the NodePort port for each service. Neutree automatically identifies the NodePort ports assigned by Kubernetes to the services and uses them together with nodePort.externalHost to generate the external access URLs for the model gateway, VictoriaMetrics, and Grafana.

  2. Install Neutree by using the modified values.yaml file:

    Terminal window
    helm install neutree neutree-<version>-enterprise.tgz \
    -f values.yaml \
    --namespace=neutree \
    --create-namespace
  3. After the installation is complete, run the following command to view the NodePort ports assigned by Kubernetes to each service:

    Terminal window
    kubectl get svc -n neutree

    neutree-api-service is used to access the Neutree management interface, neutree-kong-proxy is used to access inference services, neutree-victoria-metrics-cluster-vminsert is used to receive monitoring metrics, and the Grafana service is used to access the monitoring interface. When accessing a service, use the NodePort port shown in the command output and the address corresponding to nodePort.externalHost.