Managing Database Containers with Kubernetes Operators and Docker
EdithPuclla
30 views
53 slides
Jul 19, 2024
Slide 1 of 53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
About This Presentation
In this talk, we will discuss how Kubernetes Operators and Docker work together to manage database containers, focusing on PostgreSQL, MySQL, and MongoDB.
We will break down the complexity and show how these tools simplify managing stateful applications.
I'll also introduce Percona Everest, an...
In this talk, we will discuss how Kubernetes Operators and Docker work together to manage database containers, focusing on PostgreSQL, MySQL, and MongoDB.
We will break down the complexity and show how these tools simplify managing stateful applications.
I'll also introduce Percona Everest, an open-source tool we're developing at Percona. It helps manage different databases on Kubernetes clusters using a graphical user interface. Check it out here: Percona Everest on GitHub https://github.com/percona/everest
Size: 15.58 MB
Language: en
Added: Jul 19, 2024
Slides: 53 pages
Slide Content
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
Kubernetes Deployment automation Scaling based on demand Application portability Self-healing Good option for microservices Active community and wide adoption
Kubernetes Terminology Pods Deployments Services
Building a Snack Voting App with Docker and Kubernetes
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 worker Service Service POD voting-app POD result-app POD voting-app POD result-app Deployments
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
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 == Custom Resource Other K8s objects Optionally Modify
Kubernetes With/Without Operators bit.ly/3UGB423
How do I create the operators? ‹#›
‹#› Capability Level
‹#›
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
Is it still for the brave? No. But there are some implication. It is not for everything, but anyone can try!
‹#› You can use Kubernetes to run production databases effectively Smaller databases = Kubernetes expertise Need automation + scaling Operators
‹#› Production database in Kubernetes is not a good idea yet Huge databases = New to Kubernetes Performance sensitive Manual deployments
‹#› Percona Operators simplify setting up and maintaining robust, enterprise-grade MySQL, PostgreSQL, and MongoDB clusters on Kubernetes Try Percona Operators: Percona Operator for MySQL P ercona Operator for Mongo DB P ercona Operator for PostgreSQL Open Source github.com/percona
Percona Everest open source, cloud-native database platform docs.percona.com/everest Open Source github.com/percona/everest