Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

StatefulSets v produkci — PostgreSQL a Elasticsearch na Kubernetes

06. 11. 2019 1 min čtení CORE SYSTEMSdata

V roce 2017 jsme začínali s StatefulSets v beta. Dnes provozujeme PostgreSQL clustery a Elasticsearch na Kubernetes v produkci. Dvě roky zkušeností v jednom článku.

PostgreSQL na Kubernetes

Používáme Patroni operator pro PostgreSQL HA. Tříuzlový cluster: primary + 2 replicas. Automatický failover, streaming replikace, point-in-time recovery z WAL archivů v S3.

Co funguje: automatický failover, backup scheduling, resource isolation. Co je challenging: storage performance tuning, major version upgrade (stále ruční proces), connection pooling (PgBouncer jako sidecar).

Elasticsearch na Kubernetes

Elastic Cloud on Kubernetes (ECK) operator. 3 master nodes, 3 data nodes, 2 coordinating nodes. Automatický scaling, rolling upgrades, snapshot backupy.

ECK operator je výborný — definujete desired state, operator se postará o zbytek. Upgrade Elasticsearch z 6.x na 7.x proběhl rolling updatem bez downtime.

Lessons learned

  • Storage class matters: SSD (gp2/gp3) pro databáze, vždy
  • Anti-affinity: repliky na různých nodech/AZ
  • Resource requests = limits pro guaranteed QoS
  • Backup testujte pravidelně — restore drill každý měsíc
  • Monitoring: databáze potřebují specifické metriky (replication lag, connections, locks)

Kdy NE na Kubernetes

Extrémně výkonnostně citlivé workloady (latence na bare metal je stále nižší). Obrovské databáze (TB+) s komplexním sharding. Legacy databáze bez Kubernetes operatoru.

Stateful workloady na Kubernetes jsou production-ready

S dobrým operatorem, správným storage a disciplinovaným provozem to funguje. Ale respektujte limity — ne každá databáze patří do Kubernetes.

statefulsetspostgresqlelasticsearchkubernetes