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.
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
- 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)
- 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)
## Other stuff I learned or people i talk to