Working with Dynamo Kubernetes Operator#
Overview#
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.
Architecture#
Operator Deployment: Deployed as a Kubernetes
Deployment
in a specific namespace.Controllers:
DynamoGraphDeploymentController
: WatchesDynamoGraphDeployment
CRs and orchestrates graph deployments.DynamoComponentDeploymentController
: WatchesDynamoComponentDeployment
CRs and handles individual component deployments.
Workflow:
A custom resource is created by the user or API server.
The corresponding controller detects the change and runs reconciliation.
Kubernetes resources (Deployments, Services, etc.) are created or updated to match the CR spec.
Status fields are updated to reflect the current state.
Custom Resource Definitions (CRDs)#
For the complete technical API reference for Dynamo Custom Resource Definitions, see:
Installation#
Development#
Code Structure:
The operator is built using Kubebuilder and the operator-sdk, with the following structure:
controllers/
: Reconciliation logicapi/v1alpha1/
: CRD typesconfig/
: Manifests and Helm charts