Hacker News new | past | comments | ask | show | jobs | submit | FourSigma's comments login

Nice! I use the Helm Component Chart [1] from the creators of DevSpace [2] for exact same reasons on personal projects. At a previous company, all of our dev, staging, production services used the Component Chart and it really helped with maintainability and significantly reduced the amount of YAML we had to write.

[1] https://www.devspace.sh/component-chart/docs/introduction

[2] https://www.devspace.sh/


Could someone please explain the difference between K0s[1] and K3s? They seem to both target the same minimalist K8s segment.

[1]https://k0sproject.io/


K3S includes some extras that make it nice for working in small local clusters, but are not part of the standard k8s codebase.

* Traefik daemonset as a load balancer

* Helm controller that lets you apply helm manifests without the helm command line

* Upgrade controller

* Sqlite as the default backing store for the k8s API

* Their own local storage provisioner

K0S has a lot of the same goals: be light weight and self contained in a single binary. But K0S tries to be as vanilla as possible.

Choosing between the two it comes down to your use case. Do you want light weight and compatible (k0s), or lightweight and convenient (k3s)?

Edit: formatting


What you've listed for k3s is mostly included in k0s. I wouldnt go far to say k0s isnt convenient.

* A helm controller is included in k0s

* Etcd is bundled and bootstrapped automatically which I perfer because I dont want the overhead of the translation that Kine does. Although Kine is available for a non-etcd datastore if that is preferred.

* Upgrade controller is included (autopilot).

* They have a local storage provider based on OpenEBS.

* Ingress is missing, but due to the built in helm controller that can be boot strapped upon cluster initialisation.

Overall, together with k0sctl and its declarative configuration it is easier to deploy k0s than it was k3s.


Can you please elaborate on the "kine" overhead?


Kine (https://github.com/k3s-io/kine) is a shim or an external process (when not k3s) that translates the etcd api to enable compatibility with a database or alternative data store. Kubernetes natively talks etcd, so this translation is what enables its usage with sqlite or another database, but it incurs an overhead.

I don't have specific numbers unfortunately since it was years ago I benchmarked Kine against etcd. But I had a better results with etcd both in cluster and single node.

I happened to stumble upon this paper that echos my experience. https://programming-group.com/assets/pdf/papers/2023_Lightwe... Particularly, the high controller cpu usage (even for an empty cluster), and higher latencies.


thanks!

my problem with etcd was very high and constant I/O and CPU usage. I don't mind the latency.


Thank you! Great details. Definitely want convenient.


Could someone please rundown the pros and cons of using third party cost management software (ex. Ternary)? Are the tools in this space specifically designed for enterprise level cloud cost management?

There seem to be a lot of options out there. Would love a critical overview and recommendations for SaaS in this space.


This is something that boggles my mind. Why would not lead with compensation range so we don't waste each others time? Moreover, it some state it is law to reveal the comp range in the job post.


Would like to recommend reading the book `Range by David Epstein`. It has some interesting thoughts about being a generalist vs specialist in our complex world.


Any idea what the Hetzner equivalent in the US would be?


I don't think there's an equivalent in the US but I've used OVH in their Canadian datacenters.


Hetzner Cloud have US hosting region.


> Any idea what the Hetzner equivalent in the US would be?

That would be Hetzner.

https://www.hetzner.com/news/11-21-usa-cloud


What is the difference between Firecracker vs LXC/LXD?


Linux containers are containers, not VMs. They are more like docker (although, lxd/lxc typically are used more like jails/VMs - a "full" user land, rather than just an application binary, like with a docker container wrapping a service implemented in go).

Technically, docker/lxc uses kernel namespaces to isolate a process tree - firecracker starts up a virtual machine.


When a VM context switch happens, the CPU uses extensions like Intel VMX to isolate the virtual machine code from the host code. Usually the hypervisor also forces a cache flush to mitigate CPU vulnerabilities as well.


VMs vs containers. One uses KVM under the hood the other uses cgroups. Btw. you can run Firecracker VMs with container isolation on the top.

https://github.com/firecracker-microvm/firecracker/blob/mast...


Take a look at Regolith Linux. Has some sane configurationsfor i3 on top of Ubuntu.

https://regolith-linux.org/


Wow that does look good. Why use Ubuntu? Wouldn’t it add a lot of cruft instead of just i3?


Another Mac refugee to Linux here. I first installed a minimal Debian install, and you begin running into lots of things along these lines: https://cravencode.com/post/essentials/enable-tap-to-click-i...

And you need to configure i3br/polybar, amongst lots of other things.

I ended up on Regolith mostly to see how someone else who’s used i3 for a while sets things up. I’ve found I like it pretty well. It’s a nice middle ground. I may sometime go back to building my desktop from the bottom up, but Regolith has been a good way to get a working i3 setup to build from.

It’s also a very fast way to have i3 setup and use for a week to see if you like it. If you do, then you can build what you like. But if you start from building first, your initial time investment will be much greater.


in my experience, if cruft is a major concern in your day-to-day use of linux, you probably already have a desktop/window management environment and theme you've settled on :P

i consider myself a sort of power-casual linux user, i don't develop professionally but love to tinker and play around with it, almost exclusively for aesthetic reasons. regolith being built on ubuntu means that the second i find myself out of my element, there's always the familiar and ever-present terminal i can pull up, that responds to all the commands i already know, has the binaries and services i am already familiar with, etc.

that being said, i've taken some light dips into the wild, mainly using manjaro architect to play around with manjaro/i3 - regolith was a very awesome(lol) way to learn i3wm because i wasn't simultaneously having to also learn the ins-and-outs of a non-debian-based operating system


This is some cool stuff. Contact information? Would love to keep in touch.


My email address is my first name at serotiny.bio

-Justin


I'm interested but do you have any remote software engineering positions?


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: