Talos for IoT & lite Edge - standalone Kubelet #8343
fullmetal-fred
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hey Sidero team!
I love Talos. I've been following this project for years now, and I think, for the record, you're on the path to becoming THE defacto way to run baremetal, on-prem, and self-managed in the cloud / multi-cloud k8s. Great work 🙌🏻
Yes, Talos as a declarative OS is PERFECT for IoT and Edge...but k8s is not.
K8s is just too heavy and too complicated for single-node IoT / Edge use-cases. The memory, cpu, and configuration overhead is unnecessary for single nodes which will never do more than run 2-3 of the same pods forever. It limits our ability to use more constrained compute. It's also too expensive to use Omni for this sort of thing...most solutions in this space cost $0.30-$1.50 per node per month.
What we really need for that usecase is a single node container runtime, without a control plane, configured solely by the Talos config (using static pods via the Kubelet & containerd I imagine), also known as a standalone Kubelet. Machine management at scale would be done via a tool like Omni, or using a more use case-specific agent as an extension or a static pod, which would locally interact with apid. But the key here is that Pods could be deployed declaratively with config patches via the API.
I know much of this (theoretically) works today within Talos. We can inform the Kubelet to run standalone. We can configure static pods via the machine config. But I assume this isn't a supported configuration and that Talos would be confused running in this way. Perhaps I am wrong?
So I ask: what would it take for a single node, standalone Kubelet configuration of Talos to be an "official" usecase? Are there configuration options that would need to be added to inform Talos that it's ok there's no control plane? Or is there a golden config that would support this today and merely needs to be documented for the use case?
I'd love to hear your thoughts, and thank you for your incredible work!! 🤘🏻
PS: for a comparison solution in this space, see Balena Engine / OS / Cloud.
PPS: Kelsey Hightower himself has a tutorial for running in a standalone Kubelet mode...you can find that here: https://github.com/kelseyhightower/standalone-kubelet-tutorial
Beta Was this translation helpful? Give feedback.
All reactions