Dynamo operator is a Kubernetes operator that simplifies the deployment, configuration, and lifecycle management of DynamoGraphs. It automates the reconciliation of custom resources to ensure your desired state is always achieved. This operator is ideal for users who want to manage complex deployments using declarative YAML definitions and Kubernetes-native tooling.
Operator Deployment:
Deployed as a Kubernetes Deployment in a specific namespace.
Controllers:
DynamoGraphDeploymentController: Watches DynamoGraphDeployment CRs and orchestrates graph deployments.DynamoComponentDeploymentController: Watches DynamoComponentDeployment CRs and handles individual component deployments.DynamoModelController: Watches DynamoModel CRs and manages model lifecycle (e.g., loading LoRA adapters).Workflow:
The Dynamo operator supports three deployment modes to accommodate different cluster environments and use cases:
The operator monitors and manages DynamoGraph resources across all namespaces in the cluster.
When to Use:
The operator monitors and manages DynamoGraph resources only in a specific namespace. A lease marker is created to signal the operator’s presence to any cluster-wide operators.
When to Use:
Installation:
A cluster-wide operator manages most namespaces, while one or more namespace-scoped operators run in specific namespaces (e.g., for testing new versions). The cluster-wide operator automatically detects and excludes namespaces with namespace-scoped operators using lease markers.
When to Use:
How It Works:
dynamo-operator-namespace-scope in its namespaceSetup Example:
Observability:
Dynamo provides the following Custom Resources:
For the complete technical API reference for Dynamo Custom Resource Definitions, see:
For a user-focused guide on deploying and managing models with DynamoModel, see:
📖 Managing Models with DynamoModel Guide
The Dynamo Operator uses Kubernetes admission webhooks for real-time validation and mutation of custom resources before they are persisted to the cluster. Webhooks are a required component of the operator and ensure that invalid configurations are rejected immediately at the API server level.
Key Features:
For complete documentation on webhooks, certificate management, and troubleshooting, see:
The Dynamo Operator provides comprehensive observability through Prometheus metrics and Grafana dashboards. This allows you to monitor:
Metrics are automatically exposed on the operator’s /metrics endpoint (port 8443 by default) and collected by Prometheus via a ServiceMonitor. The ServiceMonitor is automatically created when you install the operator via Helm (controlled by metricsService.enabled, which defaults to true).
A pre-built Grafana dashboard is available for visualizing operator metrics. The dashboard includes:
For complete setup instructions and metrics reference, see:
Note: For shared/multi-tenant clusters or testing scenarios, see Deployment Modes above for namespace-scoped and hybrid configurations.
For detailed installation options, see the Installation Guide
The operator is built using Kubebuilder and the operator-sdk, with the following structure:
controllers/: Reconciliation logicapi/v1alpha1/: CRD typesconfig/: Manifests and Helm charts