Why use the Kubernetes Operator
Native Kubernetes integration
Manage Aiven services using kubectl and standard Kubernetes workflows
GitOps compatible
Define services in YAML and manage them through version control
Automatic secret management
Connection credentials stored as Kubernetes Secrets
Declarative configuration
Define desired state; the operator handles the rest
Prerequisites
- Aiven account
- Kubernetes cluster (version 1.21 or later) with admin access
- kubectl installed
- Helm 3.x installed
- Authentication token from Aiven Console
Installation
Create authentication token
Generate a token from the Aiven Console under User Profile > Tokens
Quick start: Deploy PostgreSQL
Create an Aiven for PostgreSQL service using the operator:Using the service from a pod
Connect to your Aiven service from within Kubernetes:pod-example.yaml
Service examples
Apache Kafka
Kafka Topic
MySQL
OpenSearch
Redis
Project management
Create and manage Aiven projects:Service integrations
Integrate services together:Advanced configurations
VPC
Connection pooling
Managing secrets
Connection information
The operator creates Kubernetes Secrets containing:- PostgreSQL
- Kafka
- MySQL
Using secrets in deployments
Monitoring and troubleshooting
Check operator logs
Check resource status
Common issues
Service stuck in REBUILDING
Service stuck in REBUILDING
Check the service status in Aiven Console or increase the timeout:Look for error messages in the status conditions.
Authentication errors
Authentication errors
Verify the token is correct and has necessary permissions:
Resource not updating
Resource not updating
Delete and recreate the resource:
Clean up
Remove resources:GitOps with ArgoCD
Example ArgoCD Application:Best practices
Use separate namespaces
Use separate namespaces
Organize services by environment:
Secure token storage
Secure token storage
Use external secret managers:
Resource naming conventions
Resource naming conventions
Use consistent naming: