Compare commits

...

20 Commits

Author SHA1 Message Date
b9060af72d docs(lessons): Added ratelimit blog(video
All checks were successful
Build latest image / build-container (push) Successful in 53s
2025-05-07 08:31:56 +02:00
3afb07e4c1 chore(day-1): Added missing tag
All checks were successful
Build latest image / build-container (push) Successful in 50s
2025-05-07 08:10:27 +02:00
4becb06ad3 fix: Wrong linebreak
All checks were successful
Build latest image / build-container (push) Successful in 57s
2025-05-07 07:09:57 +02:00
0e24bf4fd6 docs: Added youtube links
Some checks failed
Build latest image / build-container (push) Failing after 50s
2025-05-07 07:07:48 +02:00
f06c486182 fix: Pin hugo version
All checks were successful
Build latest image / build-container (push) Successful in 56s
2025-04-22 14:22:09 +02:00
f71971e793 docs: Slight rewording
Some checks failed
Build latest image / build-container (push) Failing after 48s
2025-04-22 13:57:52 +02:00
a7a3817a03 docs: Added datev at index
Some checks failed
Build latest image / build-container (push) Has been cancelled
2025-04-22 13:56:02 +02:00
47f7869257 docs(day2): Added own talk
All checks were successful
Build latest image / build-container (push) Successful in 51s
2025-04-08 10:22:40 +02:00
b2fd7a4c81 fix: Update diagram to correctly reflect Flux operations
All checks were successful
Build latest image / build-container (push) Successful in 51s
2025-04-07 18:57:12 +02:00
1213be7c30 docs: Added basic changelog 2025-04-07 18:56:18 +02:00
1f49a42edc fix(docs): Added missing tags
All checks were successful
Build latest image / build-container (push) Successful in 44s
2025-04-07 18:51:03 +02:00
c6f716ced1 fix(docs): Fixed relative links
All checks were successful
Build latest image / build-container (push) Successful in 47s
2025-04-07 18:50:21 +02:00
09ac5a9051 docs: Added images 2025-04-07 18:50:12 +02:00
5ed623d0ca docs: Added slide links for kubecon/cloudnativecon 2025-04-07 18:49:57 +02:00
f8ca21416b fix(day0): Typo in name
All checks were successful
Build latest image / build-container (push) Successful in 59s
2025-04-07 10:40:05 +02:00
dc4dd2d883 fix(day3): Typo
Some checks failed
Build latest image / build-container (push) Has been cancelled
2025-04-07 10:39:37 +02:00
957bc94344 docs(day3): etcd talk
Some checks failed
Build latest image / build-container (push) Failing after 36s
2025-04-04 15:08:02 +02:00
44a3653c84 docs(day3): feature flag talk
Some checks failed
Build latest image / build-container (push) Failing after 35s
2025-04-04 13:09:17 +02:00
6bf47e49c5 docs(day3): First talk of the day 🎉
Some checks failed
Build latest image / build-container (push) Failing after 34s
2025-04-04 12:25:46 +02:00
39d92acdb4 docs(day3): Added initial notes of the day 2025-04-04 12:02:37 +02:00
42 changed files with 224 additions and 71 deletions

View File

@@ -1,4 +1,4 @@
FROM registry.odit.services/hub/hugomods/hugo:exts AS build
FROM registry.odit.services/hub/hugomods/hugo:exts-0.145.0 AS build
WORKDIR /app
COPY . /app/

View File

@@ -10,11 +10,12 @@ This current version is probably full of typos - will fix later. This is what ty
## How did I get there?
I attended Cloud Native Rejekts and KubeCon + CloudNativeCon Europe 2025 in London.
This year I was sent there by my employer [DATEV eG](https://datev.de) - thanks again to everyone who helped me with getting this trip approved (you know who you are).
Why? Because learning about all new things in the world of cloud is really important and war stories help to avoid mistakes that other's already made.
And [last year's experience](https://kubecon24.nicolai-ort.com) was really good, so I wanted to go again.
Plus I actually presented a talk at Cloud Native Rejekts.
Plus I actually presented a talk at Cloud Native Rejekts 🥳.
## And how does this website get it's content
@@ -24,9 +25,22 @@ graph LR
Nicolai-->|"Takes notes (and typos) + commits"|Repo
Repo-->|Triggers|Actions
Actions-->|Builds image and pushes to|Registry
Kubernetes-->|Pulls latest image|Registry
Flux-->|Detects new image|Registry
Flux-->|Rolls out new image|Kubernetes
```
## Changelog™
- 2025-03-28: Inital repo and deployment setup
- 2025-03-30: First day of Cloud Native Rejekts
- 2025-03-31: Second day of Cloud Native Rejekts
- 2025-04-01: First day of KubeCon/CloudNativeCon
- 2025-04-02: Second day of KubeCon/CloudNativeCon
- 2025-04-03: Added video links for Cloud Native Rejekts
- 2025-04-03: Third day of KubeCon/CloudNativeCon
- 2025-04-04: Fourth day of KubeCon/CloudNativeCon
- 2025-04-07: Added missing images and slide links for KubeCon/CloudNativeCon
## Style Guide
The basic structure is as follows: `day/event-or-session`.

View File

@@ -2,7 +2,8 @@
title: "The Hidden Brains of Kubernetes: Meet Controllers Powering the Cloud"
weight: 2
tags:
- <tag>
- rejekts
- operator
---
{{% button href="https://www.youtube.com/watch?v=PciVvE02L2w" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}

12
content/day-1/02_gslb.md Normal file
View File

@@ -0,0 +1,12 @@
---
title: Evaluating Global Load Balancing Options for Kubernetes in Practice
weight: 2
tags:
- rejekts
---
{{% button href="https://youtu.be/RBMRU8rtxfI" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://github.com/nicolaiort/rejekts2025-gslb" style="tip" icon="code" %}}Demo-Code and more{{% /button %}}
{{% button href="https://de.slideshare.net/slideshow/evaluating-global-load-balancing-options-for-kubernetes-in-practice-kubermatic-datev/277640385" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
My talk, notes will be released soon

View File

@@ -2,7 +2,7 @@
title: Understanding and Debugging DNS in Kubernetes Clusters
weight: 4
tags:
- <tag>
- rejekts
---
{{% button href="https://www.youtube.com/watch?v=awXjABDknww" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}

View File

@@ -9,10 +9,10 @@ This was another very interesting day and I can only recommend attending cloud n
## Talk recommendations
- My Talk: [Evaluating Global Load Balancing Options for Kubernetes in Practice](https://www.youtube.com/watch?v=RBMRU8rtxfI)
- 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)
- My Talk: [Evaluating Global Load Balancing Options for Kubernetes in Practice](./02_gslb)
- 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

View File

@@ -10,12 +10,12 @@ This is the first day of Cloud Native Rejekts and the first time of me attending
> Ranked by should watch to could watch
- How to hire, manage and develop engineers: [Tech is broken and AI won't fix it](../05_broken-tech)
- What if my homelab is an african island: [Geographically Distributed Clusters: Resilient Distributed Compute on the Edge](../06_geo-distributed-clusters)
- Bootstrap and CI/CD with crossplane: [Building air-gapped control planes for a global pharma leader using crossplane and argo](../08_airgapped-cp)
- Handling large number of clusters: [CRD Data Architecture for Multi-Cluster Kubernetes](../04_multicluster-crd)
- Handling large scale migrations: [The Cluster API Migration Retrospective: Live migrating hundreds of clusters to Cluster API](../02_clusterapi)
- How to hire, manage and develop engineers: [Tech is broken and AI won't fix it](./05_broken-tech)
- What if my homelab is an african island: [Geographically Distributed Clusters: Resilient Distributed Compute on the Edge](./06_geo-distributed-clusters)
- Bootstrap and CI/CD with crossplane: [Building air-gapped control planes for a global pharma leader using crossplane and argo](./08_airgapped-cp)
- Handling large number of clusters: [CRD Data Architecture for Multi-Cluster Kubernetes](./04_multicluster-crd)
- Handling large scale migrations: [The Cluster API Migration Retrospective: Live migrating hundreds of clusters to Cluster API](./02_clusterapi)
## Other stuff I learned or people i talk to
- Throughout the lunch break I talked to a nice guy who heared my government question during the [Tech is broken and AI won't fix it](../05_broken-tech)-Talk, we talked
- Throughout the lunch break I talked to a nice guy who heared my government question during the [Tech is broken and AI won't fix it](./05_broken-tech)-Talk, we talked

View File

@@ -7,7 +7,7 @@ tags:
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
{{% button href="https://static.sched.com/hosted_files/colocatedeventseu2025/70/Platforms%20WG%20Update%20slides%20-%20Kubecon%20EU%202025.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
An update from the platform working group which will be renamed to the CNCF Platform Engineering Community.
Alongside the new name a bit of restructuring will take place bacause the working group outgrew the working group label.

View File

@@ -7,7 +7,7 @@ tags:
- sponsored
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
{{% button href="https://youtu.be/7tbs3J7mgE0" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
## States of platform

View File

@@ -7,7 +7,7 @@ tags:
- sponsored
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
{{% button href="https://youtu.be/MFLXFNlmMMI" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
This whole talk is pretty much a product managers view on platform engieering.

View File

@@ -7,7 +7,7 @@ tags:
- sponsored
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
{{% button href="https://youtu.be/XrMsJIL35Oc" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
Hypothesis: We are at the beginning of a 10 year cycle that is moving towards ai-native applications.

View File

@@ -6,7 +6,7 @@ tags:
- cloudnativecon
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
{{% button href="https://youtu.be/cl-MO7j7MHY" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
Hypothesis: The bar for good interviewing is somewhere near the earth's core and we need to improve this (because we need more engineers)

View File

@@ -4,10 +4,10 @@ weight: 7
tags:
- platform
- cloudnativecon
- victor
- viktor
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
{{% button href="https://youtu.be/uwDoHm-AxTM" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
The good old baseline is "iam an an developer, i write code - now i have to do stuff to continue writing code".

View File

@@ -6,8 +6,8 @@ tags:
- cloudnativecon
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
{{% button href="https://youtu.be/8_pB9RAfzrY" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/colocatedeventseu2025/48/Product%20Thinking%20for%20Cloud%20Native%20Engineers%20PlatformEngineeringDay-EU-25.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
## How & Why
@@ -29,7 +29,7 @@ tags:
## How to start?
TODO: Steal illustration
![Product compass illustration](../_img/product-compass.png)
### Exploring the Problem Space

View File

@@ -4,10 +4,10 @@ weight: 9
tags:
- argo
- cloudnativecon
- victor
- viktor
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
{{% button href="https://youtu.be/iCTgRC3AQQk" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
## Baseline

View File

@@ -6,8 +6,8 @@ tags:
- cloudnativecon
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
{{% button href="https://youtu.be/M5X5NCzlzIA" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/colocatedeventseu2025/52/atul-talk-platform-engineering-kubecon-london-2025_final.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
Fair warning: Food analogies incoming
@@ -45,7 +45,7 @@ Fair warning: Food analogies incoming
4. Add complexity
5. Repeat
TODO: Steal image
![Abstraction cycle illustration](../_img/abstraction-cycle.png)
### Warning signs

View File

@@ -6,8 +6,8 @@ tags:
- cloudnativecon
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
{{% button href="https://youtu.be/qXRHpIYxU_c" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/colocatedeventseu2025/da/KubeCon%20Talk_%20Lemonade%27s%20t-env.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
Okteto: Ephemeral environents for testing

View File

@@ -1,13 +1,13 @@
---
title: "PErfomance preseverance: Taming 1000 kubernetes clusters"
title: "Perfomance preseverance: Taming 1000 kubernetes clusters"
weight: 12
tags:
- platform
- cloudnativecon
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
{{% button href="https://youtu.be/ZTT8M74RD1M" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/colocatedeventseu2025/d5/kubecon_2025_v4.2.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
## History

View File

@@ -6,7 +6,7 @@ tags:
- cloudnativecon
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
{{% button href="https://youtu.be/DoiaHfl9Y7Y" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
The CNCF's research into product thinking for platforms.

View File

@@ -6,7 +6,7 @@ tags:
- cloudnativecon
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
{{% button href="https://youtu.be/8FmJWd7vRt4" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
Very nice kids playing with lego intro analogy about creativity, sharing and colaboration.

View File

@@ -7,8 +7,8 @@ tags:
- lightning
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
{{% button href="https://youtu.be/kiUV8En8Co4" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/colocatedeventseu2025/42/2025-PE-Day-10-Tips.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
## Baseline

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

View File

@@ -16,12 +16,12 @@ Sometimes we ended up in the same talks, sometimes in different talks which lead
## Talk recommendations
- How to design a good hireing process: [So you want to hire for platform engineering](../06_hire-engineers)
- Evolution of Platforms and Platform Engineering: [The past, the present and the future of platform engineering](../07_past-present-future)
- How to design a good product: [Product thinking for cloud native engineers](../08_product-thinking)
- Staging with gitops: [A million ways to promote changes between environments](../09_promotions)
- How to handle abstractions and new requriements: [Platform abstractions: Asset or liability](../10_abstractions)
- Very nice slides: [Building Platforms with empathy and yaml at the lego group](../14_lego)
- How to design a good hireing process: [So you want to hire for platform engineering](./06_hire-engineers)
- Evolution of Platforms and Platform Engineering: [The past, the present and the future of platform engineering](./07_past-present-future)
- How to design a good product: [Product thinking for cloud native engineers](./08_product-thinking)
- Staging with gitops: [A million ways to promote changes between environments](./09_promotions)
- How to handle abstractions and new requriements: [Platform abstractions: Asset or liability](./10_abstractions)
- Very nice slides: [Building Platforms with empathy and yaml at the lego group](./14_lego)
## Other stuff I learned or people i talk to

View File

@@ -10,8 +10,8 @@ tags:
- kubecon
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
{{% button href="https://youtu.be/dUfp3j1j-mg" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/kccnceu2025/50/Scaling%20GPU%20Clusters%20Without%20Melting%20Down%21%20%281%29.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
## Baseline

View File

@@ -6,8 +6,8 @@ tags:
- platform
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
{{% button href="https://youtu.be/uQ_WN1kuDo0" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/kccnceu2025/fd/day2000-migration-ClusterAPI-talos.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
## Background
@@ -30,7 +30,7 @@ tags:
- Basic CRDS: Cluster, MachineDeployment, Machine
- Talos: Immutable, minimal, ephemeral with declarative config via grpc api
TODO: Steal diagrams from slides
![CAPI Diagram](../_img/capi.png)
## Migration
@@ -59,7 +59,7 @@ TODO: Steal diagrams from slides
- ControlPlane-CRD: Create cp MDs
- Infrastructure: References template for wokrer-MDs
TODO: Steal image
![ClusterAPI CRDs](../_img/clusterapi-crd.png)
### 4. Add ClusterAPI Nodes

View File

@@ -6,8 +6,8 @@ tags:
- operator
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
{{% button href="https://youtu.be/tnSraS9JqZ8" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/kccnceu2025/53/Don%27t%20write%20controllers%20like%20Charlie%20Don%27t%20does_%20avoiding%20common%20Kubernetes%20controller%20mistakes.pptx.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
## Common mistake

View File

@@ -1,5 +1,5 @@
---
title: THE GPUs on the bus go round and round
title: The GPUs on the bus go round and round
weight: 4
tags:
- kubecon
@@ -7,7 +7,7 @@ tags:
- nvidia
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
{{% button href="https://youtu.be/cLJRh4y4vXg" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
## Background

View File

@@ -6,8 +6,8 @@ tags:
- platform
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
{{% button href="https://youtu.be/NCkHrvqFMl8" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/kccnceu2025/0d/Reliable%20K8S%20Resource%20Submission%20and%20Bookkeeping.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
## Service offerings
@@ -32,14 +32,14 @@ tags:
- Submitter: Handels retry, verification, ...
- Submitter: Configures workload on workload clusters
TODO: Steal image from slides
![](../_img/runnables.png)
### Submission of deployables
- User: deploys mutation to audit/sourceoftrough
- Syncer: Syncs deployables to workload clusters
TODO: Steal image from slides
![](../_img/deployables.png)
## Reporting
@@ -61,5 +61,4 @@ graph
### Overview
TODO: Steal from slide
![Complete diagram](../_img/submission.png)

BIN
content/day1/_img/capi.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

View File

@@ -11,9 +11,9 @@ This is also the day the sponsor showcase opened - so expect more talking to peo
## Talk recommendations
- Not that much about gpus with good control plane scaling advice: [Scaling GPU Clusters without melting down](../01_scaling-gpu)
- Migrate a cluster to ClusterAPI without downtime: [Day 2000 - Migrating from kubeadm + ansible to clusterapi+talos](../02_migrations)
- Some basic operator tips with good Q&A questions: [Don't write controllers like charlie don't does: Avoiding common kubernetes controller mistakes](../03_operator-mistakes)
- Not that much about gpus with good control plane scaling advice: [Scaling GPU Clusters without melting down](./01_scaling-gpu)
- Migrate a cluster to ClusterAPI without downtime: [Day 2000 - Migrating from kubeadm + ansible to clusterapi+talos](./02_migrations)
- Some basic operator tips with good Q&A questions: [Don't write controllers like charlie don't does: Avoiding common kubernetes controller mistakes](./03_operator-mistakes)
## Other stuff I learned or people i talk to

View File

@@ -6,8 +6,8 @@ tags:
- platform
---
<!-- {{% button href="https://youtu.be/rkteV6Mzjfs" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}} -->
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
{{% button href="https://youtu.be/iCAFXF5ECto" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/kccnceu2025/bc/KubeCon%20EU%202025%20-%20Cloudy%20with%20a%20chance%20of%20Kubernetes_%20Going%20from%20one%20to%20three%20cloud%20providers%20-%20Laurent%20Bernaille%20%26%20Maxime%20Visonneau,%20Datadog.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
## Background

View File

@@ -9,10 +9,6 @@ What does this mean for you? Another day with only a few sessions (I only manage
In the evening we attended the "German Community Stammtisch".
## Talk recommendations
- TODO:
## Other stuff I learned or people i talk to
- Isovalent

View File

@@ -0,0 +1,53 @@
---
title: "Surviving Day2: Picking the right tool to secure your kubernetes habitat"
weight: 1
tags:
- kubecon
- security
---
{{% button href="https://youtu.be/FqUPqroF-Rw" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/kccnceu2025/a1/Surviving%20Day2%20-%20Picking%20the%20Right%20Tool%20To%20Secure%20Your%20Kubernetes%20Habitat.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
Premise: The CNCF landscape includes a huuuge number (80+) of security(related) projects.
Analogy: Animal kingdom (includes simmilar-ish animals that might do some of the same stuff but not entirely the same)
## Build Phase
- How can i scan my container for vulnerabilities? -> Well you probably mean your image
- The image itself is just a bunch of static layerns and we kinda have to trust the layers you didn't build yourself
- The main tool used is still trivy with some easy steps
1. Extract layers
2. Build FS
3. Identify OS and Non-OS Packages
4. Compare with vuln-db
- The animal in our analogy: Racoon
## Deploy Phase
- Kubernetes Native: Admission Controller
- Tool used: Kyverno (integrates as an admission controller with yaml/crd based configuration)
1. Modify (e.g. add default resource limits)
2. Validate (check policies)
- The animal is actually a human: The forrest guard
## Start Phase
- Before the pod itself is running CSI, CNI and secret related processes (the once we want to look into) happen
- Problems: Secrets have no rotation or versioning mechanism, there is no default integration for external kms
- Project: External Secrets -> Get secrets from external kms, automaticly sync (e.g. new versions)
- The chosen animal: Capricorn
## Run Phase
- Goal: Runtime scannning without including specialized instrumentation in each application
- Tool: Falco utilizing eBPF to check system calls against rules
- Idea: Detect dangerous behaviour (e.g. check for someone trying to exploit a fresh CVE)
- The analogy: Falcon
## TL;DR
1. Scan images (trivy)
2. Enforce best pracices (kyverno)
3. Use an external kms (external secrets)
4. Scan at runtime (falco)

View File

@@ -0,0 +1,30 @@
---
title: "Type-safe feature flagging in openfeature: Lessons learned from using feature flags at google"
weight: 2
tags:
- kubecon
- dev
---
{{% button href="https://youtu.be/mewXGSwDCE4" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
{{% button href="https://static.sched.com/hosted_files/kccnceu2025/f6/Type-safe%20Feature%20Flagging%20in%20OpenFeature.pdf" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}}
## Featureflags?
- Idea: Change the behaviour of an application without rebuilding it
- Goal: Control rollout, reduce risk, experiment (a/b)
- At google: A huge number of feature flags (150k+) but that's because people forget to turn them off
## Where does the flag come from
- Lifecycle of a flag: Create, Manage, Deprecate, Delete -> But will it be created frist in code or in the service
- Classic implementation: Just a if/else that uses a function to get the flag
- Problem: What if the flag names missmatch between the code and flag ser -> Muliple sources of truth
- Solution: Require use of auto-generated flag bindings (codegen from the management system) to mitigate typos, etc.
## OpenFeature
- Goal: Vendor agnostic, standardized, open source
- Basic setup: Register provider (once per app), create a client, use client to get flags
- CLI: Integrate into management system, keep a local manifest of all flags and generate code (generates the client)
- Now: Just call the client's method instead of hard-coding feature flag names

View File

@@ -0,0 +1,43 @@
---
title: "Don't let your kubernetes cluster go wild: Ensuring etcd reliability"
weight: 3
tags:
- kubecon
- etcd
---
{{% button href="https://youtu.be/J93U9n_qxSI" style="warning" icon="video" %}}Watch talk on YouTube{{% /button %}}
<!-- {{% button href="https://docs.google.com/presentation/d/1nEK0CVC_yQgIDqwsdh-PRihB6dc9RyT-" style="tip" icon="person-chalkboard" %}}Slides{{% /button %}} -->
Fair warning: This talk was very technical and pretty interesing - but don't even try to understand it if you're tired (or if it's the thrid to last session on the last day of a long conference).
## Baseline
- Standard example: Write and read KV-Data, `put(A,2) -> Get (A)`
- Problem: Concurrency
TODO: Steal image from intuition of correctness
## Correctness
- Correctness: Kinda funky when it comes to time
- Fix: Define serialization that executes parallel request one after another to bring them in an order
## Failures
- What happens is connections between etcd nodes go down -> Serving stale data
- What happens if data corrupts -> If enough members are online, it can repair itself
- And many more that can happen at random times -> Hard to test
TODO: Steal "in a concurrent world"
## Robustness framework
- Automates tests for failures
- Includes reliable reproductions of past (seamingly random) errors
- Currently a mixture of existing go debugging tools
## Future
- Reproduce more bugs consistently
- Run additional consistency checks

View File

@@ -5,10 +5,13 @@ weight: 7
---
The last day of KubeCon - aka the day everone leaves early.
But not me and I had no meetings scheduled for this day -> More talks for me and notes for you.
This being my 7th day of the trip and 6th day of non-stop conferences took a bit of a toll on my note taking skills (expect more spelling mistakes).
## Talk recommendations
- TODO:
- Intro to feature flags and related tips: [Type-safe feature flagging in openfeature: Lessons learned from using feature flags at google](./02_open-feature)
## Other stuff I learned or people i talk to

View File

@@ -4,4 +4,6 @@ title: Lessons Learned
weight: 8
---
Not related to any talk directly, but i can recommend this [Blog Post](https://smudge.ai/blog/ratelimit-algorithms) and [Video](https://www.youtube.com/watch?v=8QyygfIloMc&) about rate limiting.
TODO: