Nasadit PostgreSQL do Kubernetes je relativně snadné. Ale co failover, backup, scaling, upgrade? To vše tradičně dělal DBA ručně. Kubernetes Operators slibují automatizaci těchto operací.
Co je Operator¶
Operator je Kubernetes controller, který rozumí doméně specifické aplikace. Místo generického „zajisti 3 repliky” Operator ví, jak správně provést PostgreSQL failover nebo přidat repliku do Elasticsearch clusteru.
Jak Operator funguje¶
Technicky je Operator kombinace Custom Resource Definition (CRD) a custom controlleru.
apiVersion: postgres.core.cz/v1alpha1
kind: PostgreSQLCluster
metadata:
name: orders-db
spec:
version: "9.6"
replicas: 3
storage:
size: 50Gi
backup:
schedule: "0 2 * * *"
retention: 7d
Prometheus Operator — náš první produkční Operator¶
CoreOS Prometheus Operator je skvělý. Místo manuální konfigurace Promethea definujete ServiceMonitor objekty, které Operator automaticky přeloží do scrape konfigurace. Nová služba? Vytvořte ServiceMonitor.
Budoucnost¶
Operators jsou budoucnost provozu složitých aplikací v Kubernetes. Místo runbooků a nočních pohotovostí budou Operators automaticky řešit většinu provozních scénářů.
Operators = DevOps automatizace nové generace¶
Kubernetes Operators přenášejí provozní znalosti z lidských hlav do kódu. Začněte s hotovými Operators a postupně se učte vzor pro vlastní aplikace.