SlideShare a Scribd company logo
Managing Database Containers
with Kubernetes Operators
and Docker
● Technology Evangelist at
● Move UK Global Talent Visa
● CNCF Ambassador
● Docker Captain
● Open Source Contributor:
○ Kubernetes Website
○ Kubernetes Shadow Release 1.3
Edith Puclla
Edith Puclla @edithpuclla
○ Docker
○ Kubernetes
■ Deploying an Application
■ Default Resources
■ Limitations
○ Kubernetes Operators
■ Components
● CRD, CR, OLM, Controllers
■ Operator framework, Operator Hub, Capability Models
Agenda
Managing Database Containers with Kubernetes Operators and Docker
Containers
OPERATING SYSTEM
PROCESS Container
Managing Database Containers with Kubernetes Operators and Docker
Kubernetes
● Deployment automation
● Scaling based on demand
● Application portability
● Self-healing
● Good option for microservices
● Active community and wide adoption
KubernetesTerminology
Pods
Deploy
ments
Service
s
Building a Snack Voting App with Docker and
Kubernetes
Example: Snack Voting Application
voting-app result-app
KodeKloud:www.youtube.com/watch?v=XuSQU5Grv1g
CHIPS
100%
CHOCOLATE
0%
CHIPS
CHOCOLATE
voting-app result-app
DB
worker
Containers
Valkey
Pods
6379
5432
80
80
POD
POD
POD
POD
POD
voting-app result-app
Valkey DB
worker
Services
6379
5432
80
80
POD
POD
POD
POD
POD
voting-app result-app
Valkey DB
worker
Service
Service
Service
Service
DEPLOYMENT
DEPLOYMENT
DEPLOYMENT
DEPLOYMENT
DEPLOYMENT
Service
Service
POD
POD
POD
POD
POD
voting-
app
result-
app
Valkey DB
worke
r
Service
Service
POD
voting-app
POD
result-
app
POD
voting-
app
POD
result-
app
Deployments
Managing Database Containers with Kubernetes Operators and Docker
YAML
The Architecture Before the
Operator Show
UI
CLI
API Server
Scheduler
Controller-Manager
etcd
Docker
kubelet kube-proxy
Container 1
Control Plane
User
Interface
Worker node 1
Container 2
Container 3
Container 1
Container 1
Container 2
Pod 1 Pod 2 Pod 3
Docker
kubelet kube-proxy
Container 1
Worker node 1
Container 2
Container 3
Container 1
Container 1
Container 2
Pod 1 Pod 2 Pod 3
kubectl
Kubernetes Operators
Stateless Application
Scaling: Easy
kubectl scale deploy/staticweb --replicas=4
kubectl scale deploy/staticweb --replicas=2
What about applications that store data?
“Deploy” a database: easy
POD
DB
I am the
persistent
volume!
Muahahahaha!
Muahaha!
Kubernetes Application Lifecycle
Running a database over time is the hardest
Kubernetes Operators
In Action!
Super…
28
Kubernetes Operators:
Extend the Kubernetes API
UI
CLI
API Server
Scheduler
Controller-Manager
etcd
Docker
kubelet kube-proxy
Container 1
Control Plane
User
Interface
Worker node 1
Container 2
Container 3
Container 1
Container 1
Container 2
Pod 1 Pod 2 Pod 3
Docker
kubelet kube-proxy
Container 1
Worker node 1
Container 2
Container 3
Container 1
Container 1
Container 2
Pod 1 Pod 2 Pod 3
kubectl
How the API is Extended:
● Custom Resource Definitions (CRD)
● Custom controllers for specific applications
Managing Database Containers with Kubernetes Operators and Docker
Managing Database Containers with Kubernetes Operators and Docker
Dragon
Fruit
Salad
Dragon
Fruit
Salad
Dragon
Fruit
Salad
Custom
Resource
Definitions
(CRD)
36
Custom Resource Definitions (CRD)
my-crontab.yaml
37
Custom Controller
Observes changes to resources defined in the CRD in the Kubernetes cluster,
detects changes, and reacts to level them out.
RECONCILE
DESIRED
STATE
CURRENT
STATE
==
CustomResource
Other K8s objects
Optionally
Modify
Kubernetes With/Without Operators
bit.ly/3UGB423
How do I create the operators?
40
Managing Database Containers with Kubernetes Operators and Docker
42
Capability Level
43
©2024 Percona
More interesting timeline observations
● 2015 - Kubernetes is for the brave
● 2017 - AWS EKS Preview release
● 2018 - Kelsey Hightower: “Kubernetes supports stateful workloads; I don't.”
● 2019 - Percona Operators for MySQL and MongoDB released
● 2019-2021 - Databases on Kubernetes are for the brave
● 2022 - Data on Kubernetes says 70% of companies run stateful on k8s in production
● 2023 - Kelsey Hightower admits running DBs on k8s is okay
Managing Database Containers with Kubernetes Operators and Docker
Is it still for the brave?
No.
But there are some implication.
It is not for everything, but anyone can try!
48
You can use
Kubernetes to run
production databases
effectively
Smaller databases
=
Kubernetes expertise
Need automation +
scaling
Operators
49
Production database in
Kubernetes is not a
good idea yet
Huge databases
=
New to Kubernetes
Performance sensitive Manual deployments
50
Percona Operators simplify setting up and maintaining robust, enterprise-grade
MySQL, PostgreSQL, and MongoDB clusters on Kubernetes
Try Percona Operators:
➔ Percona Operator for MySQL
➔ Percona Operator for MongoDB
➔ Percona Operator for PostgreSQL
github.com/percona
Percona Everest open source, cloud-native database platform
➔ docs.percona.com/everest
github.com/percona/everest
Managing Database Containers with Kubernetes Operators and Docker
Thank you!
edith.puclla@percona.com edithpuclla @edithpuclla

More Related Content

Similar to Managing Database Containers with Kubernetes Operators and Docker (20)

PPTX
Kubernetes go-live checklist for your microservices.pptx
Prakarsh -
 
PDF
Kubernetes and bluemix
DuckDuckGo
 
PDF
[Global logic] container runtimes and kubernetes
GlobalLogic Ukraine
 
PDF
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
VMware Tanzu
 
PDF
Deploying WSO2 API Manager in Production-Grade Kubernetes
WSO2
 
PDF
Unleashing k8 s to reduce complexities of an entire middleware platform
Lakmal Warusawithana
 
PPTX
Kuberenetes - From Zero to Hero
Ori Stoliar
 
PPTX
How To Build Kubernetes Policies To Ensure Compliance for Databases.pptx
LibbySchulze
 
PDF
Intro to Kubernetes & GitOps Workshop
Weaveworks
 
PDF
Scheduling a fuller house - Talk at QCon NY 2016
Sharma Podila
 
PDF
Netflix Container Scheduling and Execution - QCon New York 2016
aspyker
 
PDF
KCD2022 Predictive Autoscaling Patterns in k8s.pdf
RobertoCarratalaSanc1
 
PDF
Using Clocker with Project Calico - Running Production Workloads in the Cloud
Andrew Kennedy
 
PDF
Persist your data in an ephemeral k8 ecosystem
LibbySchulze
 
PPTX
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Patrick Chanezon
 
PDF
Running Docker in Production
Andrew Kennedy
 
PDF
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Weaveworks
 
PDF
Kubernetes
Martin Podval
 
PDF
Cloud Native CI/CD with Jenkins X and Knative Pipelines
C4Media
 
PPTX
Kubernetes is all you need
Vishwas N
 
Kubernetes go-live checklist for your microservices.pptx
Prakarsh -
 
Kubernetes and bluemix
DuckDuckGo
 
[Global logic] container runtimes and kubernetes
GlobalLogic Ukraine
 
Delivering-Off-The-Shelf Software with Kubernetes- November 12, 2020
VMware Tanzu
 
Deploying WSO2 API Manager in Production-Grade Kubernetes
WSO2
 
Unleashing k8 s to reduce complexities of an entire middleware platform
Lakmal Warusawithana
 
Kuberenetes - From Zero to Hero
Ori Stoliar
 
How To Build Kubernetes Policies To Ensure Compliance for Databases.pptx
LibbySchulze
 
Intro to Kubernetes & GitOps Workshop
Weaveworks
 
Scheduling a fuller house - Talk at QCon NY 2016
Sharma Podila
 
Netflix Container Scheduling and Execution - QCon New York 2016
aspyker
 
KCD2022 Predictive Autoscaling Patterns in k8s.pdf
RobertoCarratalaSanc1
 
Using Clocker with Project Calico - Running Production Workloads in the Cloud
Andrew Kennedy
 
Persist your data in an ephemeral k8 ecosystem
LibbySchulze
 
Develop and deploy Kubernetes applications with Docker - IBM Index 2018
Patrick Chanezon
 
Running Docker in Production
Andrew Kennedy
 
Free GitOps Workshop (with Intro to Kubernetes & GitOps)
Weaveworks
 
Kubernetes
Martin Podval
 
Cloud Native CI/CD with Jenkins X and Knative Pipelines
C4Media
 
Kubernetes is all you need
Vishwas N
 

More from Edith Puclla (20)

PPTX
Oportunidades en el Mundo Open Source Cloud Native Ecuador
Edith Puclla
 
PDF
Play To Live BayBlade - Xperience at Barcamp
Edith Puclla
 
PPTX
PostgreSQL on Kubernetes Using GitOps and ArgoCD
Edith Puclla
 
PDF
Abrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Edith Puclla
 
PDF
Operadores de Kubernetes: El poder de la automatización
Edith Puclla
 
PDF
Kubernetes Operator 101 - Edith Puclla
Edith Puclla
 
PDF
Open Source Day Ayacucho Perú
Edith Puclla
 
PDF
Docker Basic Hands On
Edith Puclla
 
PDF
De desempleada a Evangelista de Tecnología en el mundo Open Source
Edith Puclla
 
PDF
Creating Docker Extension for an Open Source Project
Edith Puclla
 
PDF
A Hands-On Introduction To Docker Containers.pdf
Edith Puclla
 
PDF
Certificates EF English Level 16
Edith Puclla
 
PDF
Start of the_month_tata
Edith Puclla
 
PDF
Introducción a DevOps
Edith Puclla
 
PDF
BlazingSQL CEO Letter of Recommendation
Edith Puclla
 
PDF
Google Kubernetes Engine (GKE)
Edith Puclla
 
PDF
Devops Cultura y Ciclo de Vida
Edith Puclla
 
PDF
Bienvenidos al mundo de las GPU
Edith Puclla
 
PPTX
Azure resource Manager
Edith Puclla
 
PPT
Meetup docker-introduction
Edith Puclla
 
Oportunidades en el Mundo Open Source Cloud Native Ecuador
Edith Puclla
 
Play To Live BayBlade - Xperience at Barcamp
Edith Puclla
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
Edith Puclla
 
Abrirse Camino en Open Source: Oportunidades, Contribuciones y Carrera
Edith Puclla
 
Operadores de Kubernetes: El poder de la automatización
Edith Puclla
 
Kubernetes Operator 101 - Edith Puclla
Edith Puclla
 
Open Source Day Ayacucho Perú
Edith Puclla
 
Docker Basic Hands On
Edith Puclla
 
De desempleada a Evangelista de Tecnología en el mundo Open Source
Edith Puclla
 
Creating Docker Extension for an Open Source Project
Edith Puclla
 
A Hands-On Introduction To Docker Containers.pdf
Edith Puclla
 
Certificates EF English Level 16
Edith Puclla
 
Start of the_month_tata
Edith Puclla
 
Introducción a DevOps
Edith Puclla
 
BlazingSQL CEO Letter of Recommendation
Edith Puclla
 
Google Kubernetes Engine (GKE)
Edith Puclla
 
Devops Cultura y Ciclo de Vida
Edith Puclla
 
Bienvenidos al mundo de las GPU
Edith Puclla
 
Azure resource Manager
Edith Puclla
 
Meetup docker-introduction
Edith Puclla
 
Ad

Recently uploaded (20)

PDF
Data structures notes for unit 2 in computer science.pdf
sshubhamsingh265
 
PPTX
MATLAB : Introduction , Features , Display Windows, Syntax, Operators, Graph...
Amity University, Patna
 
PPTX
VITEEE 2026 Exam Details , Important Dates
SonaliSingh127098
 
PPTX
Introduction to Internal Combustion Engines - Types, Working and Camparison.pptx
UtkarshPatil98
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PDF
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
PPTX
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
PDF
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
PDF
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
PDF
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PPTX
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
PPTX
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
PDF
SERVERLESS PERSONAL TO-DO LIST APPLICATION
anushaashraf20
 
PPTX
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
PPTX
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
PPTX
Knowledge Representation : Semantic Networks
Amity University, Patna
 
DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
PPTX
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
Data structures notes for unit 2 in computer science.pdf
sshubhamsingh265
 
MATLAB : Introduction , Features , Display Windows, Syntax, Operators, Graph...
Amity University, Patna
 
VITEEE 2026 Exam Details , Important Dates
SonaliSingh127098
 
Introduction to Internal Combustion Engines - Types, Working and Camparison.pptx
UtkarshPatil98
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
Reasons for the succes of MENARD PRESSUREMETER.pdf
majdiamz
 
美国电子版毕业证南卡罗莱纳大学上州分校水印成绩单USC学费发票定做学位证书编号怎么查
Taqyea
 
Basic_Concepts_in_Clinical_Biochemistry_2018كيمياء_عملي.pdf
AdelLoin
 
PORTFOLIO Golam Kibria Khan — architect with a passion for thoughtful design...
MasumKhan59
 
Viol_Alessandro_Presentazione_prelaurea.pdf
dsecqyvhbowrzxshhf
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
GitOps_Without_K8s_Training_detailed git repository
DanialHabibi2
 
Element 11. ELECTRICITY safety and hazards
merrandomohandas
 
SERVERLESS PERSONAL TO-DO LIST APPLICATION
anushaashraf20
 
Shinkawa Proposal to meet Vibration API670.pptx
AchmadBashori2
 
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
Knowledge Representation : Semantic Networks
Amity University, Patna
 
MRRS Strength and Durability of Concrete
CivilMythili
 
fatigue in aircraft structures-221113192308-0ad6dc8c.pptx
aviatecofficial
 
Ad

Managing Database Containers with Kubernetes Operators and Docker

Editor's Notes

  • #47: Keysey knew we needed to work harder on these challenges, and over time it became possible and mature for us to run stateful applications on Kubernetes. —--------------------------------- Essentially, Kubernetes can facilitate database deployment and provide some level of automation and scalability, but it doesn't automatically provide the extensive managed services features that come with solutions like Cloud SQL. Understanding and implementing these additional features in Kubernetes require more sophisticated configuration and management, that is the "biggest challenge."