Compare commits
10 Commits
d1cba01c65
...
9b09b1c4f4
| Author | SHA1 | Date | |
|---|---|---|---|
| 9b09b1c4f4 | |||
| 6c97efd8fb | |||
| 8af66c2c53 | |||
| 67d4c7eeb9 | |||
| 1cfade3380 | |||
| 4989f147c9 | |||
| 8109b961f7 | |||
| 46b0c57564 | |||
| bd5ede134e | |||
| 5c7a23d3fe |
11
content/.templates/talk.md
Normal file
11
content/.templates/talk.md
Normal file
@@ -0,0 +1,11 @@
|
||||
---
|
||||
title: Title
|
||||
weight: <index of talk on the day>
|
||||
tags:
|
||||
- <tag>
|
||||
---
|
||||
|
||||
<!-- {{% 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 %}} -->
|
||||
|
||||
TODO:
|
||||
40
content/_index.md
Normal file
40
content/_index.md
Normal file
@@ -0,0 +1,40 @@
|
||||
---
|
||||
archetype: home
|
||||
title: Cloud Native Rejekts & KubeCon + CloudNativeCon Europe 2026
|
||||
---
|
||||
|
||||
All about the things I did and sessions I attended at Cloud Native Rejekts and KubeCon/CloudNativeCon EU 2026 in Amsterdam.
|
||||
|
||||
This "blog" certainly contains a bunch of tyops.
|
||||
This is what typing the notes blindly in real time get's you.
|
||||
Every year I tell myself that I will fix them afterwards: To be fair I fix most of them but not all and that's fine.
|
||||
|
||||
## How did I get there?
|
||||
|
||||
I attended Cloud Native Rejekts and KubeCon + CloudNativeCon Europe 2026 in Amsterdam.
|
||||
|
||||
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.
|
||||
I enjoyed [last year's experience](https://kubecon25.nicolai-ort.com) and [the year before](https://kubecon25.nicolai-ort.com), so I wanted to go again.
|
||||
|
||||
And I managed to get a free ticket by being accepted as a speaker at the Platform Engineering Day Europe 2026 🥳.
|
||||
(Alto I already convinced my business parter that the company would pay for my ticket before I got the news)
|
||||
|
||||
## And how does this website get it's content
|
||||
|
||||
```mermaid
|
||||
graph LR
|
||||
Nicolai<-->|Watches|Talk
|
||||
Nicolai-->|"Takes notes (and typos) + commits"|Repo
|
||||
Repo-->|Triggers|Actions
|
||||
Actions-->|Builds image and pushes to|Registry
|
||||
Flux-->|Detects new image|Registry
|
||||
Flux-->|Rolls out new image|Kubernetes
|
||||
```
|
||||
|
||||
## Changelog™️
|
||||
|
||||
- 2026-03-21: Inital repo and deployment setup + Cloud Native Rejekts
|
||||
|
||||
## Style Guide
|
||||
|
||||
The basic structure is as follows: `day/event-or-session`.
|
||||
0
content/day-1/.gitkeep
Normal file
0
content/day-1/.gitkeep
Normal file
0
content/day-1/_imgs/.gitkeep
Normal file
0
content/day-1/_imgs/.gitkeep
Normal file
9
content/day-1/_index.md
Normal file
9
content/day-1/_index.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
archetype: chapter
|
||||
title: Day -1
|
||||
weight: 3
|
||||
---
|
||||
|
||||
This year there was only one day of Cloud Nativ Rejekts. So this was a down day. Well if your define finishing two talks downtime. But certainly no conference today.
|
||||
|
||||
Also this is the day that most my friends (that are attending KubeCon) arrived.
|
||||
0
content/day-2/.gitkeep
Normal file
0
content/day-2/.gitkeep
Normal file
14
content/day-2/01_opening.md
Normal file
14
content/day-2/01_opening.md
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
title: Title
|
||||
weight: 1
|
||||
tags:
|
||||
- rejekts
|
||||
- keynote
|
||||
---
|
||||
|
||||
<!-- {{% 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 %}} -->
|
||||
|
||||
The basic welcome statements logistical stuff.
|
||||
Also a bit of history on how we ended up in MiroÄs offices (they kinda saved this year's Rejekts Europe because they were missing sponsors and a location).
|
||||
And a big shoutout to the goga-chad Artem who personally sponsored the event in addition to the corporate sponsors.
|
||||
44
content/day-2/02_type1fun.md
Normal file
44
content/day-2/02_type1fun.md
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
title: Type 1 Fun with Type 1 Hypervisors: The comeback of hardware-backed isolation
|
||||
weight: 2
|
||||
tags:
|
||||
- rejekts
|
||||
- virtualization
|
||||
- sponsor
|
||||
---
|
||||
|
||||
<!-- {{% 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 %}} -->
|
||||
|
||||
A talk by EDERA - one of the sponsors of Cloud Natice Rejekts.
|
||||
|
||||
## The types of fun
|
||||
|
||||
1. Just fun (fun to do, fun to remember)
|
||||
2. Fun after you're finisehed, pain while you're at it
|
||||
3. Not any fun (not while doing it, not afterwards) -> Maybe a good story
|
||||
|
||||
## Hypervisors
|
||||
|
||||
> I skipped the basic ideas of hypervisors in these notes
|
||||
|
||||
- **Type 2**: Runs on an existing OS and virtualizes devices to an emulated system -> Security/Isolation depends on the host-os
|
||||
- **Type 1**: Runs on the hardware (manages hardware partitioning) -> Security/Isolation is in the hypervisor seperated from all other management stuff
|
||||
|
||||
## Kubernetes joins the game
|
||||
|
||||
- Background: Kubernetes is built for containers and not for deep isolation
|
||||
- Existing solutions: KubeVirt (manage KVM through KubeAPI)m kada Containers (Deeper Sandbox), GVisor (emulated syscalls)
|
||||
- EDERA's idea: Their own CRI (container runtime interface) that makes vm management transparent and can run vms alongside containers
|
||||
- Potential Problems:
|
||||
- Kubernetes assumes that cgropups exist
|
||||
- Kublet assumes some calls for observability exist
|
||||
- Scheduling between shared pod-memory and isolated vm-memory
|
||||
- Their solutions:
|
||||
- Processes: They have to fake a running process on the kubelet level even if the vm is owned by the hypervisor below
|
||||
- Metrics: DRA and their own metrics server that bypasses kubelet in favor of the cri
|
||||
|
||||
## Questions/Answers
|
||||
|
||||
- Their hypervisor is a fork of zen with some rust additions
|
||||
- Live Migrations: They support it but kubernetes doesn't (so if you use the hypervisor outside of kubernetes it works)
|
||||
46
content/day-2/03_cloudagnostic.md
Normal file
46
content/day-2/03_cloudagnostic.md
Normal file
@@ -0,0 +1,46 @@
|
||||
---
|
||||
title: Cloud-agnostic provisioning for fun and sovereignty
|
||||
weight: 3
|
||||
tags:
|
||||
- rejekts
|
||||
- multicloud
|
||||
- sovereign
|
||||
- flatcar
|
||||
---
|
||||
|
||||
<!-- {{% 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 %}} -->
|
||||
|
||||
A talk by Thilo - flatcar maintainer and cool guy.
|
||||
The talk consisted of multipe demos and a warning of this being the alpha version of the talk but most things worked out fine.
|
||||
|
||||
## Baseline
|
||||
|
||||
- **Why selfhost:** Why not? Cost efficiency, vendor independence, sovereignty requirements, customization, ....)
|
||||
- **Why our stack is kubernetes:** FOSS, community driven, versatile, stable, broad ecosystem, ...
|
||||
- **You can run it on any host**: Baremetal, Private Clouds (OpenStack, Proxmox),m Public Clouds (AWS, GCP, Azure, Stackit, Akamai)
|
||||
- **Choose your favorite OS**: Flatcar, Ubuntu, ...
|
||||
|
||||
## The demo
|
||||
|
||||
- **Problem:** Sovereignty is hard to proove
|
||||
- **This talks demo:** Cloud agnostic provisioning of kubernetes clusters on localhost (QEMU), Hetzner and Akamai
|
||||
- **How**: Just use one shared flatcar snapshot to provision on all cloud/localy
|
||||
- **QEMU Specual**: Qemu is not really a vm orchestrator, so wee need a little hack to enable cross-vm networking (not needed on other hypervisors/clouds)
|
||||
- **In-place updates**: Through kured (kubernetes update and reboot daemon)
|
||||
|
||||
## Why Flatcar is cool
|
||||
|
||||
- One config for many environments
|
||||
- Seamless migration to other cloud-providers and cross-clopud c,usters
|
||||
- Community driven and CNCF-backed
|
||||
- Managed updates
|
||||
- Airgapping
|
||||
- Extendability through sysext
|
||||
|
||||
## What is **real** sovereignty
|
||||
|
||||
- You can operate it youirself?
|
||||
- You can keep it stable?
|
||||
- Is your stack well stewarded/maintained and can you join?
|
||||
- Can you own it (fork, etc)?
|
||||
21
content/day-2/_index.md
Normal file
21
content/day-2/_index.md
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
archetype: chapter
|
||||
title: Day -2
|
||||
weight: 2
|
||||
---
|
||||
|
||||
The saturday was dominated by Cloud Native Rejekts hosted at Miro's offices in Amsterdam, ~1-2km from the convention center.
|
||||
It's a small "B-Side" community-event that features talks rejected (hence the name) from KubeCon alongside original talks.
|
||||
They have high selection standards leading to a high talk-quality.
|
||||
|
||||
This being a smaller event (I'd guess sub 200 attendees) makes it a very good start to the week.
|
||||
Good talks, nice people (and not too many people) enables interesting conversations without being complete mental overload.
|
||||
And each year's attendees tend to overlap quite a bit so it's an opportunity to reconnect.
|
||||
|
||||
## Talk recommendations
|
||||
|
||||
- TODO:
|
||||
|
||||
## Other stuff I learned or people i talk to
|
||||
|
||||
- TODO:
|
||||
0
content/day0/.gitkeep
Normal file
0
content/day0/.gitkeep
Normal file
0
content/day0/_img/.gitkeep
Normal file
0
content/day0/_img/.gitkeep
Normal file
18
content/day0/_index.md
Normal file
18
content/day0/_index.md
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
archetype: chapter
|
||||
title: Day 0
|
||||
weight: 4
|
||||
---
|
||||
|
||||
Day 0 of KubeCon aka CloudNativeCon aka the day on which the co-located events happen.
|
||||
As it tends to happen every year, I spent most of my time at the platform engineering day (with a short visit to argocon).
|
||||
|
||||
This day also included my highlight of the conference (I'm writing this on the same day and I'm alkready sure): I presented a talk at the Platform Engineering Day:
|
||||
|
||||
## Talk recommendations
|
||||
|
||||
-
|
||||
|
||||
## Other stuff I learned or people i talk to
|
||||
|
||||
-
|
||||
0
content/day1/.gitkeep
Normal file
0
content/day1/.gitkeep
Normal file
0
content/day1/_img/.gitkeep
Normal file
0
content/day1/_img/.gitkeep
Normal file
15
content/day1/_index.md
Normal file
15
content/day1/_index.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
archetype: chapter
|
||||
title: Day 1
|
||||
weight: 5
|
||||
---
|
||||
|
||||
Day 1 of the main KubeCon event startet with a bunch of keynotes from the cncf themselfes.
|
||||
|
||||
## Talk recommendations
|
||||
|
||||
- TODO.
|
||||
|
||||
## Other stuff I learned or people i talk to
|
||||
|
||||
-
|
||||
0
content/day2/.gitkeep
Normal file
0
content/day2/.gitkeep
Normal file
21
content/day2/_index.md
Normal file
21
content/day2/_index.md
Normal file
@@ -0,0 +1,21 @@
|
||||
---
|
||||
archetype: chapter
|
||||
title: Day 2
|
||||
weight: 6
|
||||
---
|
||||
|
||||
TODO:
|
||||
|
||||
## Other stuff I learned or people i talk to
|
||||
|
||||
- Isovalent
|
||||
- Kubermatic
|
||||
- Portworx
|
||||
- Fastly
|
||||
- Syseleven
|
||||
- Netbird
|
||||
- VMware
|
||||
- Stackit
|
||||
- Harness
|
||||
- Mia Platform
|
||||
- and many, many more...
|
||||
0
content/day3/.gitkeep
Normal file
0
content/day3/.gitkeep
Normal file
16
content/day3/_index.md
Normal file
16
content/day3/_index.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
archetype: chapter
|
||||
title: Day 3
|
||||
weight: 7
|
||||
---
|
||||
|
||||
The last day of KubeCon - aka the day everone leaves early.
|
||||
But not me and - and this is the first KubeCon I can say this - not my work-friends.
|
||||
|
||||
## Talk recommendations
|
||||
|
||||
- TODO:
|
||||
|
||||
## Other stuff I learned or people i talk to
|
||||
|
||||
- TODO:
|
||||
0
content/lessons_learned/.gitkeep
Normal file
0
content/lessons_learned/.gitkeep
Normal file
9
content/lessons_learned/_index.md
Normal file
9
content/lessons_learned/_index.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
archetype: chapter
|
||||
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:
|
||||
0
static/.gitkeep
Normal file
0
static/.gitkeep
Normal file
Reference in New Issue
Block a user