Kubernetes Operator For MySQL October 3rd, 2020 Mydbops Database Meetup -7 Vinoth Kanna R S Co-Founder, Mydbops
Interested in Open Source technologies MySQL, MongoDB Certified Professional Active MySQL Community Contributor Tech Speaker/Blogger  Past, Technical Services Engineer, Percona Co-Founded, Mydbops IT Solutions, 2016 Vinoth Kanna RS About Me
Mydbops Services Consulting Services Managed Services Focuses on MySQL, MongoDB, PostgreSQL Targeted Engagement 24 x 7 DBA Team
400 + Clients In 4 Yrs. of Operations Our Clients
Agenda The Trend Shift Need Of K8S Operator Production Readiness Trending K8S Operators
Trend Shift Kubernetes: The most popular open source project for container orchestration Cloud native and K8S service available in AWS, Azure and GCP Offer rapidly scalable approach on containers Infrastructure as a code, Now being pushed to database systems as well
Trend Shift Reference: https://cloud.google.com
Need Of Kubernetes Operator Native K8S functions are more sophisticated for to run the stateless system To run complex stateful system like database requires, Product knowledge Making database containers on production requires a lot of design decisions   Auto Node Provisioning Fault Tolerance / High Availability  Backups and Monitoring Up Scaling, Down Scaling / Appropriate Traffic Distribution
Need Of Kubernetes Operator Operator: Extension of Kubernetes Controller API (Which Just Checks Service States) Operator can be referenced as Application specific Controller  Operator can be programmed to include application-specific knowledge to automate the entire life cycle of the software it manages
Need Of Kubernetes Operator Operator Scope / Maturity Model Reference: O'Reilly Kubernetes Operator Book
Trending Kubernetes Operators Services (LB) Stateful Sets Operator Maturity PVC / Storage Class
Trending Kubernetes Operators Services (LB) Stateful Sets Operator Maturity PVC / Storage Class Percona XtraDB Cluster Operator Apache-2.0 License  Operator maturity level, Stage 4 8.0 Supported Based on Percona XtraDB Cluster Last commit: Today Presslabs MySQL Operator Apache-2.0 License Operator maturity level, Stage 3-4 Current release 0.4 supports only MySQL 5.7 Based on Async replication Last commit: 10 days ago   
Trending Kubernetes Operators Services (LB) Stateful Sets Operator Maturity PVC / Storage Class Planet Scale Vitess Operator Apache-2.0 License  Operator maturity level, Stage 4 Sharding solution for MySQL It has custom components that supports sharing Last Commit: Today Oracle MySQL Operator Apache-2.0 License  Operator maturity level, Stage 3 Based On GR / Innodb Cluster Uses mysqldump for backup Last Commit: 15 May 2019
Percona XtraDB Cluster Operator  OR
Percona XtraDB Cluster Operator Better documentation support Very few changes required to migrate PXC, Provides auto node provision through physical backup (SST by XtraBackup)  PXC, Provides Synchronous replication and Fault tolerance ProxySQL or Haproxy takes care of load distribution and routing to live nodes Physical backups are taken via XtraBackup and Pushed to object storage 8.0 Support with Galera 4 Available
Production Readiness Operational Expertise Dev + Ops + DBE skills requried Most common corner cases where Operator cannot self heal are All DB nodes going on a crashed Fixing of node in crash loop Requests and Resources adjustments and Configuration changes
Production Readiness Bugs in Operators can be deadly Develop ability to customise and add features to exiting Operators For Eg: Features like Clone plugin, Can be integrated for node provision on a cluster Clear benchmarks required, Performance drop is expected, Scale horizontally Performance on BM > VM > Containers
Demo: Setting Up PXC Operator 1.5 Thank You!
Reach Us : Info@mydbops.com Thank You

Kubernetes operator for MySQL

  • 1.
    Kubernetes Operator ForMySQL October 3rd, 2020 Mydbops Database Meetup -7 Vinoth Kanna R S Co-Founder, Mydbops
  • 2.
    Interested in OpenSource technologies MySQL, MongoDB Certified Professional Active MySQL Community Contributor Tech Speaker/Blogger  Past, Technical Services Engineer, Percona Co-Founded, Mydbops IT Solutions, 2016 Vinoth Kanna RS About Me
  • 3.
    Mydbops Services Consulting Services Managed Services Focuses onMySQL, MongoDB, PostgreSQL Targeted Engagement 24 x 7 DBA Team
  • 4.
    400 + ClientsIn 4 Yrs. of Operations Our Clients
  • 5.
    Agenda The Trend Shift NeedOf K8S Operator Production Readiness Trending K8S Operators
  • 6.
    Trend Shift Kubernetes: The mostpopular open source project for container orchestration Cloud native and K8S service available in AWS, Azure and GCP Offer rapidly scalable approach on containers Infrastructure as a code, Now being pushed to database systems as well
  • 7.
  • 8.
    Need Of KubernetesOperator Native K8S functions are more sophisticated for to run the stateless system To run complex stateful system like database requires, Product knowledge Making database containers on production requires a lot of design decisions   Auto Node Provisioning Fault Tolerance / High Availability  Backups and Monitoring Up Scaling, Down Scaling / Appropriate Traffic Distribution
  • 9.
    Need Of KubernetesOperator Operator: Extension of Kubernetes Controller API (Which Just Checks Service States) Operator can be referenced as Application specific Controller  Operator can be programmed to include application-specific knowledge to automate the entire life cycle of the software it manages
  • 10.
    Need Of KubernetesOperator Operator Scope / Maturity Model Reference: O'Reilly Kubernetes Operator Book
  • 11.
    Trending Kubernetes Operators Services(LB) Stateful Sets Operator Maturity PVC / Storage Class
  • 12.
    Trending Kubernetes Operators Services(LB) Stateful Sets Operator Maturity PVC / Storage Class Percona XtraDB Cluster Operator Apache-2.0 License  Operator maturity level, Stage 4 8.0 Supported Based on Percona XtraDB Cluster Last commit: Today Presslabs MySQL Operator Apache-2.0 License Operator maturity level, Stage 3-4 Current release 0.4 supports only MySQL 5.7 Based on Async replication Last commit: 10 days ago   
  • 13.
    Trending Kubernetes Operators Services(LB) Stateful Sets Operator Maturity PVC / Storage Class Planet Scale Vitess Operator Apache-2.0 License  Operator maturity level, Stage 4 Sharding solution for MySQL It has custom components that supports sharing Last Commit: Today Oracle MySQL Operator Apache-2.0 License  Operator maturity level, Stage 3 Based On GR / Innodb Cluster Uses mysqldump for backup Last Commit: 15 May 2019
  • 14.
  • 15.
    Percona XtraDB ClusterOperator Better documentation support Very few changes required to migrate PXC, Provides auto node provision through physical backup (SST by XtraBackup)  PXC, Provides Synchronous replication and Fault tolerance ProxySQL or Haproxy takes care of load distribution and routing to live nodes Physical backups are taken via XtraBackup and Pushed to object storage 8.0 Support with Galera 4 Available
  • 16.
    Production Readiness Operational Expertise Dev+ Ops + DBE skills requried Most common corner cases where Operator cannot self heal are All DB nodes going on a crashed Fixing of node in crash loop Requests and Resources adjustments and Configuration changes
  • 17.
    Production Readiness Bugs inOperators can be deadly Develop ability to customise and add features to exiting Operators For Eg: Features like Clone plugin, Can be integrated for node provision on a cluster Clear benchmarks required, Performance drop is expected, Scale horizontally Performance on BM > VM > Containers
  • 18.
    Demo: Setting Up PXCOperator 1.5 Thank You!
  • 19.
    Reach Us :Info@mydbops.com Thank You