Quickstart
Deploy Spice.ai Enterprise on Kubernetes in minutes.
This guide walks through deploying Spice.ai Enterprise on Kubernetes using the Spice Kubernetes Operator and Helm.
Prerequisites
- Kubernetes 1.33.0+
- Helm 3.19.0+
kubectlconfigured with cluster access- AWS CLI (
aws) installed and configured with credentials for the account subscribed to the AWS Marketplace listing
Step 1: Install the Spice Kubernetes Operator
The operator is distributed via the AWS Marketplace Spice.ai Enterprise listing. Subscribe to the listing, then authenticate Helm against the Marketplace ECR registry — the chart is pulled over OCI from that private registry:
aws ecr get-login-password --region us-east-1 \
| helm registry login --username AWS --password-stdin 709825985650.dkr.ecr.us-east-1.amazonaws.comThe login is valid for 12 hours; re-run it when the token expires.
Install the operator:
helm install spiceai-operator \
oci://709825985650.dkr.ecr.us-east-1.amazonaws.com/spice-ai/spiceai-enterprise-plan \
--version 1.0.0-operator-helmVerify the operator is running:
kubectl get pods -l spice.ai/app=spiceai-operatorConfirm the CRDs are installed:
kubectl get crd spicepodsets.spice.ai
kubectl get crd spicepodclusters.spice.aiStep 2: Deploy a SpicepodSet
Create a spicepodset.yaml:
apiVersion: spice.ai/v1
kind: SpicepodSet
metadata:
name: my-spicepod
namespace: default
spec:
replicas: 1
spiceai_image_registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com
spiceai_image_name: spice-ai/spiceai-enterprise-byol
spiceai_image_tag: 2.3.2-enterprise-models
spicepod: |
name: my-spicepod
kind: Spicepod
version: v1Apply it:
kubectl apply -f spicepodset.yamlStep 3: Verify
kubectl get pods -l spice.ai/app=my-spicepod
kubectl get svc -l spice.ai/app=my-spicepodThe operator creates a ClusterIP service exposing:
| Port | Protocol | Description |
|---|---|---|
8090 | HTTP | HTTP/SQL API |
50051 | gRPC | Apache Arrow Flight |
9090 | HTTP | Prometheus metrics |
Step 4: Query
Port-forward to the service and run a query:
kubectl port-forward svc/spicepod-my-spicepod 8090:8090curl http://localhost:8090/v1/sql \
-H "Content-Type: application/json" \
-d '{"query": "SELECT 1"}'Next Steps
- Configure the Helm chart for production use.
- Add authentication with OIDC or API keys.
- Deploy a distributed cluster with
SpicepodCluster. - Configure AWS IRSA for data source access.