Kubernetes Operator — pattern (+ tooling) для packaging complex stateful applications как native K8s resources. Operator = Custom Resource Definition (CRD) + Controller, который reconciles desired state. Примеры: Postgres-operator (автоматически provisions PostgreSQL clusters + backups), Redis Operator, Kafka Strimzi, cert-manager (SSL automation). OperatorHub.io — registry of 200+ operators.
Ниже: подробности, пример, смежные термины, FAQ.
# Custom resource (Postgres Operator)
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: my-pg
spec:
instances: 3
storage:
size: 100Gi
backup:
barmanObjectStore:
destinationPath: s3://backups/
s3Credentials:
accessKeyId:
name: backup-key
key: ACCESS_KEYHelm — install + upgrade templates. Operator — on-going management (backup, scale, heal). Operator — higher level of automation.
Если вы deploy complex stateful app и нужна automation backups, failover, schema migrations. Simple stateless app — Deployment достаточно.
Operator SDK имеет e2e test framework. kind/minikube local clusters для testing reconciliation.