Kubernetes on Oxide: How customer needs shaped our integrations (oxide.computer)

130 points by stevehipwell 7 hours ago

stevehipwell 6 hours ago

I'm interested to see how the `oxide-cloud-controller-manager` is being built for "modern" Kubernetes and if it leads to any signify difference compared to CCMs that originated in-tree. Given the way Oxide engineer their solutions this could be really interesting.

FYI I've got `karpenter-provider-oxide` on my bingo card...

sudomateo 5 hours ago

There are few paths we can take here. The CCM's primary responsibility is to implement the cloudprovider.Interface[0] which has node, route, and service controllers. However, the CCM can run arbitrary named controllers as well, giving us a fun extension point for the future. The in-tree CCMs are being phased out in favor of out-of-tree CCMs. The AWS Cloud Provider[1] is a good example of what that's starting to look like.

My colleague demo'd Karpeneter internally. We haven't committed releasing it yet but we're discussing it.

[0] https://github.com/kubernetes/cloud-provider/blob/master/clo...

[1] https://github.com/kubernetes/cloud-provider-aws

stevehipwell 5 hours ago

My point was that the major cloud CCMs are rooted (at least spiritually) in in-tree implementations. With Oxide having an API first strategy (similar in principle to a major cloud provider) the direction you take on your greenfield CCM could be interesting.

RE Karpenter, it always seemed like a natural fit for Oxide, even more so than some of the currently implementors. And now you have the expertise in the team, I'd be really interested in the reason if you don't go down that path.

bmwagner10 4 hours ago

sudomateo 5 hours ago

thegagne 5 hours ago

Yes this would be great addition! Also it would be awesome to see proper load balancer, ingress controller with `gateway api` and a `api gateway` (two separate things).

I’m not an oxide customer, just a fan. I have lots of ideas around how something like this should look, being disappointed with the complexity and also shortcomings of products on the market for this stuff, both in the cloud and on prem.

sudomateo 5 hours ago

I'll need to record a video on what's possible today. My personal Kubernetes cluster running on Oxide uses the CCM for LoadBalancer services and NGINX Gateway Fabric for Gateway API things. I'm mostly using HTTPRoute resources today.

There's an opportunity to more tightly integrate at the network layer but we'll want to get our load balancer released first.

esseph 3 hours ago

pianoben 6 hours ago

I have seldom wanted anything as much as I want an Oxide rack at home. Maybe in 40 years we'll start to see the first ones show up in surplus auctions...

sudomateo 4 hours ago

You can run the control plane at home. I have a video on how to do it. Until we make a smaller footprint that's the only way you'd get Oxide at home.

jefurii 2 hours ago

lkasjdas 3 hours ago

Every single Oxide article has comments about people wanting one at home.

A great example of completely misdirected marketing and/or engineering. Oxide should have developed home microcomputers, and they would have sold like cupcakes, with their ASCII art marketing. Instead they do million dollar "mainframes" that no one (except VCs) wants to buy.

bcantrill 3 hours ago

(I think you meant "like hotcakes", not "like cupcakes"?)

In any event: from the beginning, we have always been targeted at the enterprise buyer who is looking at annual public cloud bills in the tens, hundreds or (in some cases) thousands of millions of dollars per year. We love the enthusiasm that Oxide engenders among the home lab set, but that's not how we have geared the business (for lots of good reasons).

Also, for whatever it's worth: people do want to buy them, it turns out.

asa400 an hour ago

Homelab tinkerers are essentially a non-market. They barely want to pay for the cheapest commodity hardware. Tens of individuals would buy Oxide racks or theoretical microcomputers with their own money.

orf 3 hours ago

This comment is a great example of completely misunderstanding… everything?

Just because a few people on a niche tech site are excited by niche tech stuff doesn’t mean you should focus your entire business on them, and the implication that you’d be successful in marketing a consumer product with ASCII art is mind blowing.

quadrifoliate 3 hours ago

I'm sure they have done plenty of market research, and that research probably indicates that enthusiasts who buy server racks are a much smaller market than large enterprise users that need easily scalable on-prem resources.

Lots of people saying "I would love this" is not a profitable market. There are a lot of implicit assumptions in that phrase. Would you buy the lowest level rack for $100k, paying extra for any support? (I don't have any insight into actual pricing, but I know enterprise consumers don't bat an eyelid at prices like that.)

If not then maybe the "I would love this" is not relevant for a real market.

urams 21 minutes ago

This is the perfect example of a delusional HN comment. None of it makes any sense, most notably the idea that VCs are buying any of this server hardware.

It's so bad I can only guess that it's purposefully so. "sell like cupcakes"????

sunshowers 2 hours ago

Lots of people want to buy our stuff!

bakies 4 hours ago

fwiw, I am very satisfied with talos and k8s at home.

sudomateo 44 minutes ago

I run this on a TuringPi board at home. I wouldn't get the TuringPi again but Talos for home use has been great. The only issue for me is I have access to Oxide so I moved most of my home lab there.

overflowy 6 hours ago

I would absolutely kill for them to open source their documentation system.

bcantrill 6 hours ago

mixmastamyk 4 hours ago

Why would a “doc system” use React?

dcre 4 hours ago

overflowy 6 hours ago

OMG, you just made my day!

ahl 5 hours ago

lars_francke 4 hours ago

Disclaimer: I'm totally biased here.

I talked with a colleague from Oxide in 2024 about your Kubernetes story and he said back then "not yet but soon-ish". Seems like soon-ish is now :)

We said we'd talk again when that happens but he's since left Oxide. If you (or well...your customers) are interested in a Kubernetes native data platform 100% open source we'd be very happy to talk about how that could work easily. As it's "just" Kubernetes it should be trivial but we'd be happy to test and add you to our list: https://docs.stackable.tech/home/stable/kubernetes/#supporte...

The offer stands. If you're interested, my mail is in my HN profile. https://stackable.tech

bitlad 5 hours ago

I am wondering when would you use kubernetes on oxide vs running kubernetes with kubevirt on baremetal?

At first look, it feels like oxide is equivalent to proxmox or some virtualization tool, may be it uses qemu stuff underneath.

Just curious.

The reason I am asking this is that, we have lot onprem scenarios in our business. We are tightly coupled with k8s, to solve this we started building an internal project that is kubernetes API compatible [1] but runs containerd or WASM or our platform natively.

Just curious how oxides work in this scenario

[1] https://github.com/debarshibasak/superkube

sudomateo 4 hours ago

Good question. We use our own hypervisor[0] that's not KVM/QEMU. We don't have nested virtualization today so we don't follow the KubeVirt model, though we are discussing what CRDs like OxideInstance would look like for those that want to operate solely in Kubernetes manifests.

The core primitive on Oxide is the instance (virtual machine). We could support some container primitive, but that's a larger product direction discussion. Our host OS is Helios (Illumos) so there are details to iron out there regarding what abstractions we would build and expose to the users. Not impossible but not something we're currently pursuing either given that we have other immediate product asks.

If you're at a scale where compute density, power efficiency, security, and rack-level API management matters then that's where Oxide makes sense for you.

[0] https://github.com/oxidecomputer/propolis

wmf 4 hours ago

You would use Oxide if you hate Dell/HPE/Lenovo/Supermicro. Also most people won't run k8s on bare metal because they want to dynamically provision a bunch of clusters.

esseph 3 hours ago

You treat the hardware as a software problem and provision it dynamically. Also keeps I/O high if you have data locality (HCI).

bakies 3 hours ago

you can do that on k8s

p_l 3 hours ago

Oxide is shipping the baremetal server as well, with integrated hypervisor - so running kubernetes with kubevirt on it makes less sense than integrating with the host hypervisor

bakies 4 hours ago

Yeah me too. Like I kinda compare oxide to coreweave and coreweave is built on top of k8s afaik. I'm wondering what the underlying tech oxide leans on. If I was doing this I would be using talos and k8s on baremetal and building on top of that. Container first rather than VM first seems like a big advantage imo. Most workloads will be containers.

bitlad 4 hours ago

Coreweave is a cloud provider right? I dont think it is apple to apple comparison.

bakies 3 hours ago

esseph 3 hours ago

Most security minded orgs and also AWS deploy containers in VMs for better security

oxide and coreweave?

Oxide is in-house custom everything. Switches. Racks. Power bus. BMC. Firmware. OS. Software and APIs. Virtualization. Etc.

e12e 4 hours ago

When oxide provide your metal?

moondev 5 hours ago

Love to see the CAPOx provider and buy in to Cluster API

preisschild an hour ago

Yeah me too, unfortunately I cant justify huge 100K USD servers so ill continue with cluster api provider hetzner and metal3. The whole CAPI ecosystem is quite cool.

donatj 3 hours ago

Bug report I guess, but the pages top navigation seems completely inoperable to me on my iPad. Clicking with my finger does not work. Clicking with my Apple Pencil does not work. Any sort of hover state that might be there does not work (with the pencil)

sudomateo 2 hours ago

Reported internally. Thank you!

whazor 5 hours ago

Kubernetes is where Oxide, from my armchair, doesn't yet quite match the public cloud.

On AWS EKS Fargate, each pod runs in its own dedicated VM. With Oxide each k8s node is a VM, so you still need something like Talos.

On networking it looks like it is getting closer. Where you can have external subnet give pod routed IPs without overlay. But the gap, as marked by the article, is also the load balancing.

It would be nice if Kubernetes were a native feature out-of-the-box. Also integrated within the existing user/access control.

sudomateo 5 hours ago

We're discussing what "native Kubernetes" looks like on Oxide in the limit. There's a bunch to build, some of which is blocked on product gaps. We'll get there though!

I don't necessarily want to match the public cloud experience if there's an opportunity for Oxide to exceed the public cloud experience. Eliminating the overlay is a good example of this. We have customers using external subnets to eliminate the overlay but we haven't integrated that into our controllers yet.

wolttam 5 hours ago

So you’d be attaching a new volume to the running worker VM for each PVC? This seems a little odd to me. Could you attach a single large volume, and do path-based provisioning on that?

sudomateo 5 hours ago

> So you’d be attaching a new volume to the running worker VM for each PVC?

That's what we prototyped before local disk was released and before we started disk hot-plug work.

> Could you attach a single large volume, and do path-based provisioning on that?

Possibly. We'd still want disk hot-plug first. Otherwise, customers would have to create their cluster in a certain shape before using PVCs.

itintheory 5 hours ago

Does seem like that could be an issue for RWX PVCs, unless those volumes can be mounted to multiple nodes. Depending on the workload, you might be better off using NFS.

wsng 4 hours ago

There is no one-size-fits-all, but I would say NFS is nowadays not a preferred option for most modern distributed datastores. They are fine with local storage only, and achieve coordination with higher-level protocols. Running them on top of NFS kills their performance.

preisschild an hour ago

I think it'd be cooler if you could just run kubernetes directly on their bare metal hardware without their hypervisor in between

redwood 5 hours ago

How are folks managing stateful workloads like databases on Oxide?

sudomateo 4 hours ago

I cover this a bit in the post. Today they are running something like Longhorn backed by Oxide storage. When we release our CSI plugin they can use that instead.

dilyevsky 3 hours ago

why longhorn and not mayastor? longhorn doesn't even have nvmeof that is not experimental

sudomateo 2 hours ago

kirici 2 hours ago