talos
Flatcar
Our great sponsors
talos | Flatcar | |
---|---|---|
43 | 20 | |
5,302 | 627 | |
8.0% | 2.6% | |
9.7 | 7.5 | |
7 days ago | 11 days ago | |
Go | Python | |
Mozilla Public License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
talos
-
There are only 12 binaries in Talos Linux
Super cool. I always enjoy reading about systems that challenge, well, "ossified" assumptions. An OS not providing a shell, for example? Madness! ... or is it genius, if the OS has a specific purpose...? It's thought-provoking, if nothing else.
I'm a bit skeptical of parts. For instance, the "init" binary being less than 400 lines of golang - wow! And sure, main.go [1] is less than 400 lines and very readable. Then you squint at the list of imported packages, or look to the left at the directory list and realize main.go isn't nearly the entire init binary.
That `talosctl list` invocation [2] didn't escape my notice either. Sure, the base OS may have only a handful of binaries - how many of those traditional utilities have been stuffed into the API server? Not that I disagree with the approach! I think every company eventually replaces direct shell access with a daemon like this. It's just that "binary footprint" can get a bit funny if you have a really sophisticated API server sitting somewhere.
[1]: https://github.com/siderolabs/talos/blob/main/internal/app/m...
[2]: https://www.talos.dev/v1.6/reference/cli/#talosctl-list
-
Show HN: Workout Tracker – self-hosted, single binary web application
Where `kube.cue` sets reasonable defaults (e.g. image is /). The "cluster" runs on a mini PC in my basement, and I have a small Digital Ocean VM with a static IP acting as an ingress (networking via Tailscale). Backups to cloud storage with restic, alerting/monitoring with Prometheus/Grafana, Caddy/Tailscale for local ingress.
[1] https://www.talos.dev/
[2] https://cuelang.org/
-
Google/Gvisor: Application Kernel for Containers
Looks somewhat similar to the talos Linux project[1]
[1] https://www.talos.dev/
-
Gokrazy – Go Appliances
Talos Linux basically implements their entire userspace in Go and its similar to BottleRocketOS, because it is designed to host Kubernetes.
https://www.talos.dev/
-
Old Unix programs running on modern computers
You might be surprised to find that Talos os (linux distro for kubernetes) mostly uses Go: https://github.com/siderolabs/talos
- Talos Linux – a minimal, hardened Linux distro for running Kubernetes
-
K3s – Lightweight Kubernetes
I've been using a 3 nuc (actually Ryzen devices) k3s on SuSE MicroOS https://microos.opensuse.org/ for my homelab for a while, and I really like it. They made some really nice decisions on which parts of k8s to trim down and which Networking / LB / Ingress to use.
The option to use sqlite in place of etcd on an even lighter single node setup makes it super interesting for even lighter weight homelab container environment setups.
I even use it with Longhorn https://longhorn.io/ for shared block storage on the mini cluster.
If anyone uses it with MicroOS, just make sure you switch to kured https://kured.dev/ for the transactional-updates reboot method.
I'd love to compare it against Talos https://www.talos.dev/ but their lack of support for a persistent storage partition (only separate storage device) really hurts most small home / office usage I'd want to try.
-
Bottlerocket – Minimal, immutable Linux OS with verified boot
If you’re interested in something not AWS check out Talos https://www.talos.dev/
It’s been around longer than Bottlerocket
-
What kubernetes platforms do you use in your production environment?
Can't talk about work, but my homelab is Azure and Oracle managed k8s (AKS/OKE), with onprem Talos soon (Turing Pi 2). My Flux monorepo has the details. OKE performs noticably worse (update cycle, features, control plane performance), but it provides 4 ARM cores and 24GB RAM free so I can't complain
-
Help with Kubernetes the hard way V1.26
Talos
Flatcar
- Linux fu: getting started with systemd
- Bottlerocket – Minimal, immutable Linux OS with verified boot
-
Wolfi: A community Linux OS designed for the container and cloud-native era
Sounds like you're looking for the CoreOS Linux successor FlatCar https://www.flatcar.org/
It's actually based on some ChromeOS update tools under the hood but is a regular Linux distro, just super minimal and designed to run containers.
-
Flatcar Container Linux
I guess if you found my comment to be "comically hyperbolic" then replying to mine with a "comically reductionist" is fair game
So, anyway, I actually did dig up a concrete example of my experience with it, and I cannot link to the "Additional information" section but that is both why I think the thing was a mess and also why the Miroservices YT joke resonated: https://github.com/flatcar/Flatcar/issues/220
I think the CoreOS boot strategy was decomposed into a bunch of different executables, each responsible for doing their own little slice of the world. Maybe it drew inspiration from systemd in that way. But, just like my real life experience with microservices, it requires keeping a bunch of different projects and their upgrade paths in ones head, knowing their disparate config formats, and when one of them inevitably has a bug, understanding how to troubleshoot what went wrong with the system as a whole
And, again in trying to be reasonable in this discussion[1] I do also understand why one would opt for the data URI, given how much of the rest of Ignition loads content from URLs. I don't believe cloud-init has that remote content paradigm baked into in nearly the same way, so I hear you about that.
And yes, my belief is that JSON is a data-exchange format from _computer to computer_ and making people write them is a poor DX choice, IN MY OPINION. And, to reiterate, I know that CoreOS's perspective is that it is a computer-to-computer transmission from the transpiler-project-o-the-day to the Ignition binary, but that is predicated on one having access to that transpiler binary in all cases, which is quite different from the problem that cloud-init is trying to solve
fn-1: I'm sorry you got hurt by my "tire fire" outburst, and that evidently derailed this whole interaction, but it was my experience
- An overview of single-purpose Linux distributions
- Linux Distro for Running Docker Containers in VM - Ubuntu, Alpine, or...?
What are some alternatives?
k3sup - bootstrap K3s over SSH in < 60s 🚀
bottlerocket - An operating system designed for hosting containers
microk8s - MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge.
harvester - Open source hyperconverged infrastructure (HCI) software
kubespray - Deploy a Production Ready Kubernetes Cluster
typhoon - Minimal and free Kubernetes distribution with Terraform
rke2
elemental-toolkit - :snowflake: The toolkit to build, ship and maintain cloud-init driven Linux derivatives based on container images
ansible-role-k3s - Ansible role for deploying k3s cluster
inspektor-gadget - The eBPF tool and systems inspection framework for Kubernetes, containers and Linux hosts.
kairos - :penguin: The immutable Linux meta-distribution for edge Kubernetes.
headlamp - A Kubernetes web UI that is fully-featured, user-friendly and extensible