docs(day-1): Added multicluster pdb talk

This commit is contained in:
Nicolai Ort 2025-03-31 17:09:09 +02:00
parent 30a976bb75
commit cc5325bf3f
2 changed files with 53 additions and 0 deletions

View File

@ -0,0 +1,51 @@
---
title: "Scaling PDBs: Introducing Multi-Cluster Resilience with x-pdb"
weight: 6
tags:
- rejekts
- multicluster
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
## Baseline Infra
- Multiple Clusters across cloud providers
- Cilium with Clustermesh
- Stretched CockroachDB and NATS
TODO: Steal overview from slides
## PDBs and limits
- PDB: Classic core component that requires a number of pods with successfull readyness probes per deployment
- Eviction: Can be stopped by a PDB what has not reached the minimum available
- Interruptions: Voluntary (New image, updated specs, ...) vs involuntary (Eviction, deletion, node pressule, NoExecute, Node deletion)
## Stateful across multiple clusters
- Baseline: PDBs only know about one cluster
- Problem: If the master pod fails (or get's evicted) on 2/3 clusters
- Factors: Movement, Maintainance, Chaos-Experiments, Secret rotation
- Workaround: Just manually check all systems before doing anything
- Idea: Multi-Cluster PDB
- Solution: A new hook on the eviciton api that interacts with a new Cluster-Aware CRD
## How it actually works
1. Drain API get's called
2. Check replicas accross cluster
3. Anwer based on current state
Actually: There is a lease-mechanism to prevent race conditions across clusters
TODO: Steal diagram from slides
## What works
- Voluntary: 100% supported
- Involuntary: Yes they hooked into most of the deletion api calls (eviction, pressure, kubectl delete, admissions, node deletion)
## Demo
Pretty interesting, watch the video to find out

View File

@ -5,11 +5,13 @@ weight: 3
--- ---
The second and last day of cloud native rejekts and (some might say most importantly) time for my talk. The second and last day of cloud native rejekts and (some might say most importantly) time for my talk.
This was another very interesting day and I can only recommend attending cloud native rejekts (and will always try to atend in the future if possible).
## Talk recommendations ## Talk recommendations
- My Talk: [Evaluating Global Load Balancing Options for Kubernetes in Practice](todo:) - My Talk: [Evaluating Global Load Balancing Options for Kubernetes in Practice](todo:)
- Service Mesh Intro + Comparison: [The service mesh wars - a new hope for kubernetes](../03_service-mesh) - Service Mesh Intro + Comparison: [The service mesh wars - a new hope for kubernetes](../03_service-mesh)
- How to handle evection and statefulness across clusters: [Scaling PDBs: Introducing Multi-Cluster Resilience with x-pdb](../06_scaling-pdbs)
- Intro to operators: [The Hidden Brains of Kubernetes: Meet Controllers Powering the Cloud](../02_controllers) - Intro to operators: [The Hidden Brains of Kubernetes: Meet Controllers Powering the Cloud](../02_controllers)
## Other stuff I learned or people i talk to ## Other stuff I learned or people i talk to