Prerequisites
- Kubernetes cluster (1.19+)
- kubectl configured
- Helm 3.x installed
- Persistent volume provisioner (for production)
Helm Chart Installation
Quick Start
Deploy Chroma using the official Helm chart:Chart Information
The Helm chart is located atk8s/distributed-chroma/:
Configuration
Default Values
The chart usesk8s/distributed-chroma/values.yaml for configuration:
Custom Configuration
Create a customvalues.yaml:
Architecture Components
The distributed Chroma deployment includes:Core Services
-
Frontend Service (
rust-frontend-service)- HTTP API endpoint
- Routes requests to appropriate services
- Port: 8000
-
Query Service (
query-service)- Handles vector similarity search
- Stateful set for distributed queries
- Port: 50051 (gRPC)
-
Log Service (
rust-log-service)- Write-ahead log for durability
- Manages data ingestion
- Port: 50051 (gRPC)
-
Compaction Service (
compaction-service)- Optimizes storage
- Merges and compacts segments
-
SysDB (
sysdb)- Metadata and catalog storage
- PostgreSQL-backed
- Port: 50051 (gRPC)
-
Garbage Collector (
garbage-collector)- Cleans up unused segments
- Manages storage lifecycle
Supporting Infrastructure
- PostgreSQL: Metadata storage
- MemberList CRD: Service discovery and membership
- Service Accounts & RBAC: Security and permissions
Tilt for Local Development
Tilt provides a complete local Kubernetes development environment.Setup
-
Install Requirements
-
Start Local Kubernetes
-
Deploy with Tilt
Tilt Features
Tilt automatically:- Builds all Docker images from source
- Deploys complete distributed architecture
- Sets up observability stack:
- Grafana (dashboards)
- Jaeger (tracing)
- Prometheus (metrics)
- OpenTelemetry Collector
- Watches for code changes and rebuilds
- Provides unified dashboard at http://localhost:10350
Service Access
Tilt exposes these ports:Tilt Configuration
TheTiltfile defines the complete environment:
Development Workflow
Manual Kubernetes Deployment
Install Custom Resource Definitions
Deploy PostgreSQL
Deploy Chroma Services
Scaling
Horizontal Scaling
Vertical Scaling
Update resource requests/limits in values:Storage Configuration
Persistent Volumes
Storage Classes
Monitoring and Observability
Tilt deploys a complete observability stack:Grafana
Access via Tilt dashboard or port-forward:Jaeger (Tracing)
Prometheus (Metrics)
Configure OpenTelemetry
Troubleshooting
Check Pod Status
Debug MemberList
Database Connection Issues
Service Communication
Upgrading
Uninstalling
Multi-Region Deployment
Enable multi-region mode with Tilt:chroma and chroma2) with cross-region replication.
Next Steps
Cloud Providers
Deploy on AWS, GCP, or Azure
Configuration
Advanced configuration options
Observability
Monitor and debug your deployment
Performance
Performance tuning and optimization