Compare commits
20 Commits
4d528bf5de
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| b9060af72d | |||
| 3afb07e4c1 | |||
| 4becb06ad3 | |||
| 0e24bf4fd6 | |||
| f06c486182 | |||
| f71971e793 | |||
| a7a3817a03 | |||
| 47f7869257 | |||
|
b2fd7a4c81
|
|||
|
1213be7c30
|
|||
|
1f49a42edc
|
|||
|
c6f716ced1
|
|||
|
09ac5a9051
|
|||
|
5ed623d0ca
|
|||
| f8ca21416b | |||
| dc4dd2d883 | |||
| 957bc94344 | |||
| 44a3653c84 | |||
| 6bf47e49c5 | |||
| 39d92acdb4 |
@@ -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/
|
||||
|
||||
@@ -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`.
|
||||
@@ -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
@@ -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
|
||||
@@ -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 %}}
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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".
|
||||
|
||||
@@ -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
|
||||

|
||||
|
||||
### Exploring the Problem Space
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||

|
||||
|
||||
### Warning signs
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
BIN
content/day0/_img/abstraction-cycle.png
Normal file
|
After Width: | Height: | Size: 572 KiB |
BIN
content/day0/_img/product-compass.png
Normal file
|
After Width: | Height: | Size: 270 KiB |
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||

|
||||
|
||||
|
||||
## Migration
|
||||
@@ -59,7 +59,7 @@ TODO: Steal diagrams from slides
|
||||
- ControlPlane-CRD: Create cp MDs
|
||||
- Infrastructure: References template for wokrer-MDs
|
||||
|
||||
TODO: Steal image
|
||||

|
||||
|
||||
### 4. Add ClusterAPI Nodes
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||

|
||||
|
||||
### Submission of deployables
|
||||
|
||||
- User: deploys mutation to audit/sourceoftrough
|
||||
- Syncer: Syncs deployables to workload clusters
|
||||
|
||||
TODO: Steal image from slides
|
||||

|
||||
|
||||
## Reporting
|
||||
|
||||
@@ -61,5 +61,4 @@ graph
|
||||
|
||||
### Overview
|
||||
|
||||
TODO: Steal from slide
|
||||
|
||||

|
||||
|
||||
BIN
content/day1/_img/capi.png
Normal file
|
After Width: | Height: | Size: 75 KiB |
BIN
content/day1/_img/clusterapi-crd.png
Normal file
|
After Width: | Height: | Size: 112 KiB |
BIN
content/day1/_img/deployables.png
Normal file
|
After Width: | Height: | Size: 220 KiB |
BIN
content/day1/_img/runnables.png
Normal file
|
After Width: | Height: | Size: 266 KiB |
BIN
content/day1/_img/submission.png
Normal file
|
After Width: | Height: | Size: 297 KiB |
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
53
content/day3/01_day-two.md
Normal 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)
|
||||
30
content/day3/02_open-feature.md
Normal 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
|
||||
43
content/day3/03_etcd-reliability.md
Normal 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
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||