From 30a976bb75686bc7f6a0af248ad75f4eb86b33b8 Mon Sep 17 00:00:00 2001 From: Nicolai Ort Date: Mon, 31 Mar 2025 16:40:29 +0200 Subject: [PATCH] docs(day-1): Added edge talk --- content/day-1/05_edge.md | 58 ++++ content/day-1/_imgs/akri-architecture.svg | 406 ++++++++++++++++++++++ content/day-1/_index.md | 3 +- 3 files changed, 466 insertions(+), 1 deletion(-) create mode 100644 content/day-1/05_edge.md create mode 100644 content/day-1/_imgs/akri-architecture.svg diff --git a/content/day-1/05_edge.md b/content/day-1/05_edge.md new file mode 100644 index 0000000..6f48ea1 --- /dev/null +++ b/content/day-1/05_edge.md @@ -0,0 +1,58 @@ +--- +title: "Kubernetes at the Far Edge: Harnessing IoT with Lightweight Clusters and Akri" +weight: 5 +tags: + - rejekts + - edge +--- + + + +## The far edge + +- Resource constraint computing +- Limited connectivity +- More and smaller clusters + +## Why kubernetes + +- Automation, Scalability and resilience +- Workload Portability through containers +- Orchestration +- Declarative state + +## Enter k0s + +- Minimal footprint as static binary +- Simplified edge cluster management + +## Managing disconnected edge nodes + +- Needs: Remote managability +- Idea: Centralized, remote Control Plane (that only does control plane) +- Challenge: Network disconnections (kubernetes usually moves workload) + +## Akri + +> https://docs.akri.sh/ + +- Discovery of iot devices +- Exposes IoT devices as k8s resources +- Handels workload scheduling for leaf devices + +![](../_imgs/akri-architecture.svg) + + +## Demo + +Can be found in the video + +## Q&A + +- What about image distribution: Depends on networking conditions, k0s supports interna. images delivered as tar.gz +- What can the broker do: Anything that a pod can interact with +- What about reboots: Well akri had some problems in the demo, kubelet seems to start the containers again + +## Random Notes + +- Akri Kinda reminded me of the gpu-operator with extra resouce capacity for attached devices \ No newline at end of file diff --git a/content/day-1/_imgs/akri-architecture.svg b/content/day-1/_imgs/akri-architecture.svg new file mode 100644 index 0000000..21f8c59 --- /dev/null +++ b/content/day-1/_imgs/akri-architecture.svg @@ -0,0 +1,406 @@ + + + + + + + + Page-7 + + Sheet.1000 + Edge Cluster + + Edge Cluster + + Sheet.1001 + Control Plane + + Control Plane + + Sheet.1002 + Kubernetes Scheduler + + Kubernetes Scheduler + + Sheet.1003 + Akri Controller + + Akri Controller + + Sheet.1004 + + + + Sheet.1005 + API Server + + API Server + + Sheet.1006 + + + + Sheet.1007 + + + + Sheet.1008 + + + + Sheet.1009 + + + + Sheet.1010 + Node + + Node + + Sheet.1011 + + + + Sheet.1012 + Kubelet + + Kubelet + + Sheet.1013 + Akri Agent + + Akri Agent + + Sheet.1016 + <protocol> + + <protocol> + + Sheet.1017 + + + + Sheet.1018 + + + + Sheet.1019 + + + + Sheet.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sheet.1020 + kind: Configuration metadata: ..name: akri-<protocol> spec: .... + + kind: Configuration metadata: ..name: akri-<protocol> spec: ..discoveryHandler: …..name: <protocol> ..brokerPodSpec: …..containers: …..- name: custom-broker ……..image: "ghcr.io/…" + + Sheet.1021 + + + + Can.1091 + etcd + + Sheet.1023 + + + + + etcd + + + 1-D single.1004 + + Sheet.1025 + + + + + Sheet.1026 + + + + Sheet.1027 + + + + + Sheet.1031 + + Rectangle.1066 + Configuration CRD + + Configuration CRD + + Rectangle.1067 + Instance CRD + + Instance CRD + + Rectangle.1068 + <protocol> Configuration + + <protocol> Configuration + + Rectangle.1069 + <protocol> Instance + + <protocol> Instance + + + Sheet.1036 + Leaf Device + + Leaf Device + + Sheet.1037 + Leaf Device + + Leaf Device + + Sheet.1038 + Leaf Device + + Leaf Device + + Sheet.2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sheet.3 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sheet.4 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Sheet.1039 + + Wavy Box.1020 + Broker + + Broker + + Wavy Box.1019 + Broker + + Broker + + Wavy Box.1003 + custom-broker + + custom-broker + + + Sheet.1040 + <protocol> Discovery Handler + + <protocol> Discovery Handler + + Sheet.1041 + + + + diff --git a/content/day-1/_index.md b/content/day-1/_index.md index 4c5a9db..d7c7352 100644 --- a/content/day-1/_index.md +++ b/content/day-1/_index.md @@ -16,4 +16,5 @@ The second and last day of cloud native rejekts and (some might say most importa - Take a deeper look into CoreDNS plugins - A bunch of nice people that heard my talk and had questions -- Someone from Ampere that would like to help me to convince the infra team to get arm nodes \ No newline at end of file +- Someone from Ampere that would like to help me to convince the infra team to get arm nodes +- Look into NATS (at least a bit), everyone seems to like it but i never used it myself (only in some projects) \ No newline at end of file