Compare commits

...

2 Commits

Author SHA1 Message Date
936a4c8c3a docs(day-1): Added missing tags
All checks were successful
Build latest image / build-container (push) Successful in 45s
2025-03-31 17:09:18 +02:00
cc5325bf3f docs(day-1): Added multicluster pdb talk 2025-03-31 17:09:09 +02:00
4 changed files with 56 additions and 1 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

View File

@ -4,7 +4,8 @@ weight: 2
tags: tags:
- rejekts - rejekts
- cluster - cluster
- operatr - operator
- multicluster
--- ---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} --> <!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->

View File

@ -3,6 +3,7 @@ title: CRD Data Architecture for Multi-Cluster Kubernetes
weight: 4 weight: 4
tags: tags:
- rejekts - rejekts
- multicluster
--- ---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} --> <!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->