Live data from Hacker News

There are only 12 binaries in Talos Linux

siderolabs.com

61–70 of 73 posts

Re: There are only 12 binaries in Talos Linux

#61
post #8

Where is networking configured? I assume the system has to have an IP address before containerd can fetch images.

You use machineConfigs that are used to provision the base OS and configure it, and the clusterConfig is used to bootstrap k8s on those machines. You can make subtypes and super types, you can have different networking setups, whatever you like, just apply and the OS is driven to state, then k8s is brought up from there. You are presented a kubeconfig after. Changes are done via application of updated machineConfig. Works great in practices and if you write an operator you can manage the config generation via k8s manifests and get wild with it.

Re: There are only 12 binaries in Talos Linux

#62

Earlier quoted context omitted.

Yes, and? (They and we all know that. They said as much theirself right in the comment.)

The benefit of Talos isn't low binary count but that _can_ reduce the amount of maintenance required. The benefit is declarative API driven management. You spend less time automating a system to a desired state in a similar vein Kubernetes provides a declarative API.

What does any of this have to do with my question? You just restated a fact, that busybox is a binary with a lot of symlinks, but why? So what? Yes, also the sky is blue and water is wet. It's like you didn't read the comment you responded to. It wasn't even about the benefit of Talos.

Re: There are only 12 binaries in Talos Linux

#63

Earlier quoted context omitted.

How is that different than adding binaries, in the context of this comment where the point was "In the end you end up just adding everything back in that you originally took out, because managing all the little weird different subsets is not worth the benefit." In the context of that assertion, adding or subtracting "extensions" and adding or subtracting binaries are equivalent. Both are adding or subtracting "piece…

They are similar but extensions don't have to be binaries. It can also be files you need to be available before Kubernetes starts. Talos is purpose built to run Kubernetes workloads and not general purpose Linux. Hopefully, you don't have to add _everything_ back to the OS, but we know some things cannot run as a container or Kubernetes workload. Extensions are required for specialized hardware (eg network, GPUs) and…

Executables also don't have to be binaries, and the executable interface is also an api.

A convincing argument might exist, but I haven't heard one so far.

Re: There are only 12 binaries in Talos Linux

#64
post #25

Earlier quoted context omitted.

I’m actually a big fan of systemd. It’s an awesome, general purpose, and flexible init system. I don’t think the complexity it brings is required for Kubernetes.

There's work in a new kublet replacement that moves things that would normally go into daemonset into systemd (or something like systemd). There's also a neat feature of podman that runs pods as systemd units, which is a nice intermediate step between a more traditional pet server and a full kubernetes cluster.

https://github.com/cpuguy83/containerd-shim-systemd-v1 to do this with containerd.

Re: There are only 12 binaries in Talos Linux

#65
post #52

I see Talos only supports XFS, what potential reasons could they have to prefer XFS to competitors? I've always struggled to compare filesystems fairly. My justification for ext4 is just that everybody else uses it :)

Mongo and Elasticsearch also recommend using XFS. So Talos isn't unique in this. XFS is somewhat more often preferred in data intensive systems.

Re: There are only 12 binaries in Talos Linux

#67
post #19

Earlier quoted context omitted.

Yeah but where is the DHCP client? In the kernel?

In machined (PID1 of Talos).

And moving a network protocol implementation into PID1 is good why? So any security vulnerability in the DHCP implementation gives you root.

Re: There are only 12 binaries in Talos Linux

#68

Earlier quoted context omitted.

How about we just don't compare lines of code at all, as if it's a useful metric of anything?

"Measuring programming progress by lines of code is like measuring aircraft building progress by weight." -- attributed to Bill Gates

For measuring bloat however they're a good proxy.

Re: There are only 12 binaries in Talos Linux

#70

The /sbin/init binary is hard linked to /sbin/dashboard, /sbin/poweroff, /sbin/shutdown, and /sbin/wrapperd. While this technically is 5 files, it’s a single file hard linked 4 times to provide convenience commands. Err, that's definitely 1 file with 5 directory entries, not 5 files.

Wonder why they would use hard links instead of symlinks. Edit: interesting, seems like there's a mild performance benefit. https://unix.stackexchange.com/a/20716

Not sure it really matters that much in this case. But why not? Hard links are a quite clean and simple concept. One “object”, multiple names.
Post reply on HN