Database Infrastructure with Open Source Kubernetes Operators Inel Pandzic, Software Engineer
©2023 Percona About Me ● Inel Pandzic ● Software Engineer @ Percona ● Blogging @ inelpandzic.com
©2023 Percona Agenda
©2023 Percona Agenda ● Context
©2023 Percona Agenda ● Context ● Databases on Kubernetes the hard way
©2023 Percona Agenda ● Context ● Databases on Kubernetes the hard way ● Kubernetes operators
©2023 Percona Agenda ● Context ● Databases on Kubernetes the hard way ● Kubernetes operators ● Summary
©2023 Percona Database Infrastructure
©2023 Percona Database Infrastructure ● Simple for simple things
©2023 Percona Database Infrastructure ● Simple for simple things ● Complex for demanding things
©2023 Percona Database Infrastructure
©2023 Percona Database Infrastructure
©2023 Percona Why run a database on K8s?
©2023 Percona Why run a database on K8s? ● Evolution
©2023 Percona Why run a database on K8s? ● Evolution
©2023 Percona Why run a database on K8s? ● Evolution
©2023 Percona Why run a database on K8s? ● Evolution
©2023 Percona Why run a database on K8s? ● Evolution
©2023 Percona Why run a database on K8s? ● Evolution ● Customer driven
©2023 Percona Why run a database on K8s? ● Evolution ● Customer driven “90% believe it is ready for stateful workloads, and a large majority (70%) are running them in production with databases topping the list. Companies report significant benefits to standardization, consistency, and management as key drivers.” - DoKC 2021 Report
©2023 Percona Why run a database on K8s? ● Evolution ● Customer driven “90% believe it is ready for stateful workloads, and a large majority (70%) are running them in production with databases topping the list. Companies report significant benefits to standardization, consistency, and management as key drivers.” - DoKC 2021 Report “This year’s report found that running data on Kubernetes benefits the whole organization, not just engineering. Leaders believe DoK is transformative for business growth” - DoKC 2022 Report
©2023 Percona Databases on K8S the hard way
©2023 Percona Databases on K8S the hard way
©2023 Percona Databases on K8S the hard way
©2023 Percona Databases on K8S the hard way
©2023 Percona Databases on K8S the hard way
©2023 Percona Databases on K8S the hard way
©2023 Percona Databases on K8S the hard way
©2023 Percona Databases on K8S the hard way
©2023 Percona Databases on K8S the hard way
©2023 Percona Databases on K8S the hard way
©2023 Percona Databases with K8s Operators
©2023 Percona Databases with K8s Operators ● What is a K8s operator?
©2023 Percona Databases with K8s Operators ● What is a K8s operator? ○ Custom Kubernetes controller
©2023 Percona Databases with K8s Operators ● What is a K8s operator? ○ Custom Kubernetes controller ○ Extensions to the K8s API (Custom Resource)
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives cr.yaml
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives ● Day-1 operations simplified
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives ● Day-1 operations simplified ○ kubectl apply -f cr.yaml
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives ● Day-1 operations simplified ○ kubectl apply -f cr.yaml ● Day-2 operations automated
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives ● Day-1 operations simplified ○ kubectl apply -f cr.yaml ● Day-2 operations automated ○ Scaling
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives ● Day-1 operations simplified ○ kubectl apply -f cr.yaml ● Day-2 operations automated ○ Scaling cr.yaml
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives ● Day-1 operations simplified ○ kubectl apply -f cr.yaml ● Day-2 operations automated ○ Scaling ○ Backups/Restores cr.yaml
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives ● Day-1 operations simplified ○ kubectl apply -f cr.yaml ● Day-2 operations automated ○ Scaling ○ Backups/Restores cr.yaml
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives ● Day-1 operations simplified ○ kubectl apply -f cr.yaml ● Day-2 operations automated ○ Scaling ○ Backups/Restores cr.yaml
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives ● Day-1 operations simplified ○ kubectl apply -f cr.yaml ● Day-2 operations automated ○ Scaling ○ Backups/Restores ○ Upgrades
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives ● Day-1 operations simplified ○ kubectl apply -f cr.yaml ● Day-2 operations automated ○ Scaling ○ Backups/Restores ○ Upgrades ○ Monitoring (Percona Monitoring and Management)
©2023 Percona Databases with K8s Operators ● Manages the database and K8s primitives ● Day-1 operations simplified ○ kubectl apply -f cr.yaml ● Day-2 operations automated ○ Scaling ○ Backups/Restores ○ Upgrades ○ Monitoring (Percona Monitoring and Management) ○ Maintenance
©2023 Percona Databases with K8s Operators
©2023 Percona Databases with K8s Operators
©2023 Percona Databases with K8s Operators
©2023 Percona Summary
©2023 Percona Summary ● Databases on K8s is prefered
©2023 Percona Summary ● Databases on K8s is prefered ● Kubernetes operators
©2023 Percona Summary ● Databases on K8s is prefered ● Kubernetes operators ○ Percona Operator for MySQL ○ Percona Operator for MongoDB ○ Percona Operator for PostgreSQL
Thank You!

stackconf 2023 | Database Infrastructure with Open Source Kubernetes Database Operators by Inel Pandzic.pdf