stackconf 2024 | Orchestrating Resilient Data: Harnessing the Strength of Kubernetes with Operators by Gregor Bauer
NETWAYS
45 views
24 slides
Jul 08, 2024
Slide 1 of 24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
About This Presentation
Embark on a journey into the heart of Kubernetes orchestration as we explore the seamless integration of Couchbase, a leading NoSQL database, through its dedicated Kubernetes Operator. Discover how this powerful combination streamlines the deployment, scaling, and management of your Couchbase cluste...
Embark on a journey into the heart of Kubernetes orchestration as we explore the seamless integration of Couchbase, a leading NoSQL database, through its dedicated Kubernetes Operator. Discover how this powerful combination streamlines the deployment, scaling, and management of your Couchbase clusters within the dynamic Kubernetes ecosystem. Join us to unravel the intricacies of deploying resilient and scalable data solutions, empowering your applications with agility and efficiency. Learn best practices, real-world insights, and key strategies to unlock the full potential of cloud-native data management, all within the context of Kubernetes excellence. Elevate your understanding of distributed systems and database administration in this engaging session designed for Kubernetes enthusiasts and data aficionados alike
What’s driving Cloud-Native Architecture
adoption
(ICON)
Containers
Improve efficiency,
Speed and Resource
utilization by optimizing
use of hardware
(ICON)
Microservices
Shorten software
development cycle with
collection of small
independent services
Shipping small batches of
software to production
constantly, through
automation
Continuous Delivery Devops
Collaboration
between developers
and IT operations to deliver
high-quality software
Challenge 1: Eliminate database siloes
●Stateless microservices are deployed as
containers and orchestrated with
Kubernetes
●Managing state in a distributed application
is hard. When you throw multiple layers of
abstraction and elastic scaling into the mix,
it gets even harder.
●Kubernetes is great at managing compute
and memory resources but storage was not
something managed by Kubernetes directly.
●The typical pattern was to host your
database elsewhere.
Kubernetes
Challenge 2: Avoid cloud vendor lock-in
●Switching between cloud providers is
a major challenge because there is no
industry standardization.
●Increased data management
complexity and overhead become
even more complicated when data
sets are deployed across hybrid or
multiple cloud providers:
○Deployment over multiple clouds
○Upgrade multiple clusters
○Synchronization of data
Challenge 3: Lower operational costs
●A typical day in the life of an operations/DevOps engineer involves provisioning, scaling,
configuring, and upgrading 100's of distributed database systems.
Couchbase: The Database for AI-powered
Applications
A distributed, multi-model, ACID SQL++ database-as-a-service for global applications
Started 2011
More than 30% of
Fortune 100
CA (HQ), N. America,
EMEA & Asia
~800 Employees NASDAQ: BASE
AWS, GCP, Azure,
Infosys, Red Hat
Founded Offices
Customers
Team Public Partners
that need high-performance storage, clustering, replication andsynchronization
of application data from the cloud, through the edge, to offline-first mobiledevices.
Couchbase Autonomous Operator
Architecture
POD 11
Kubernetes Cluster
API Server Scheduler
Controller
Manager Etcd
DNS
Couchbase Admission Controller
Mutating Configuration Validating Configuration
Couchbase Autonomous Operator
Control Plane
Services Config Maps
Resources
Persistent
Volume Claim
Bucket
Resources
Backup
Resources
User
Resources
Replication
Resources
PERSISTENT STORAGEPERSISTENT STORAGE
PV01 PV02 PV03 PV06 PV07
POD 1 POD 2 POD 3 POD 4 POD 5 POD 6 POD 7 POD 8 POD 9
DATA SERVICE QUERY SERVICE
PERSISTENT STORAGE
PV08 PV09
SEARCH SERVICE
PERSISTENT STORAGE
PV04 PV05
INDEX SERVICE
POD 10
Pods
EVENTING SERVICE
Controller
Webhook
Cluster
Resources
Secret
namespace –kube-system
Couchbase Cluster
PERSISTENT STORAGE
–BACKUP
PVPV
PV
namespace –monitoring
Prometheus
Alert Manager
Grafana
namespace –user-defined
Deploying Couchbase Autonomous
Operator on Kubernetes
●The Site Reliability Engineer first needs to:
○Deploythe operator
○Create or update a Couchbase Cluster
configuration
●The Operator reacts to creation events by
provisioningnew resources and initializing
the Couchbase cluster.
●During the lifetime of the Couchbase cluster
the Operator continually:
○Comparesthe state of Kubernetes
resources with what is requested in the
CouchbaseCluster resource
○Reconcilesas necessary to make reality
match what was requested.
Couchbase
Autonomous
Operator
Config
YAML
Config
YAML
Config
YAML
Couchbase Cluster
configuration
Couchbase
Cluster 1
Kubernetes Cluster
Couchbase
Cluster 2
Couchbase
Cluster 3
Deploy Create & Update
Observe, Analyze, Act
Benefits
•Avoid database silos
•Deploy, run, and manage the
Couchbase database next to
microservices applications on the
same Kubernetes platform.
•Cloud-agnostic application
deployment platform that enables
to migrate freely between clouds.
•Allows users to easily manage
growth with on-demand scaling.
Autonomously run
stateful applications
Hybrid Cloud and Multi-
Cloud Strategy
•Reduces DevOps workloads by
running Couchbase as an
autonomous, fully managed
stateful database application
•Reduces operational complexity
up to 95%
Automated operational
best practices