What Would a Kubernetes 2.0 Look Like

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
  1. rivet

    πŸ”© The open-source serverless platform. Easily deploy & scale AI agents, complex workloads, and backends β€” all on a frictionless platform that runs anywhere. (by rivet-gg)

    The #1 problem with Kubernetes is it's not something that "Just Works." There's a very small subset of engineers who can stand up services on Kubernetes without having it fall over in production – not to mention actually running & maintaining a Kubernetes cluster on your own VMs.

    In response, there's been a wave of "serverless" startups because the idea of running anything yourself has become understood as (a) a time sink, (b) incredibly error prone, and (c) very likely to fail in production.

    I think a Kubernetes 2.0 should consider what it would look like to have a deployment platform that engineers can easily adopt and feel confident running themselves – while still maintaining itself as a small-ish core orchestrator with strong primitives.

    I've been spending a lot of time building Rivet to itch my own itch of an orchestrator & deployment platform that I can self-host and scale trivially: https://github.com/rivet-gg/rivet

    We currently advertise as the "open-source serverless platform," but I often think of the problem as "what does Kubernetes 2.0 look like." People are already adopting it to push the limits into things that Kubernetes would traditionally be good at. We've found the biggest strong point is that you're able to build roughly the equivalent of a Kubernetes controller trivially. This unlocks features more complex workload orchestration (game servers, per-tenant deploys), multitenancy (vibe coding per-tenant backends, LLM code interpreters), metered billing per-tenant, more powerful operators, etc.

  2. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB logo
  3. nebulous

    A globally distributed container orchestrator

    heh, I think you didn't read the room given this directory https://github.com/agentsea/nebulous/blob/v0.1.88/deploy/cha...

    Also, ohgawd please never ever do this ever ohgawd https://github.com/agentsea/nebulous/blob/v0.1.88/deploy/cha...

  4. skate

    Low resource, no daemon, kubernetes manifest compatible mini-paas. (by skateco)

    > I'd want k8s-lite, that was more opinionated and less flexible

    You seem to want something like https://skateco.github.io/ (still compatible to k8s manifests).

    Or maybe even something like https://uncloud.run/

    Or if you still want real certified Kubernetes, but small, there is https://k3s.io/

  5. hcl2json

    Convert hcl2 to json

    You seem to have skipped over your initial citation of it being invalid syntax, to say nothing of the sibling comment to yours also using that opaque syntax

    As for why I linked to "some random guy," that's because the Hashicorp people in their infinite wisdom didn't ship any rendering binary so some kind soul had to glue one to the official sdk https://github.com/tmccombs/hcl2json/blob/v0.6.7/go.mod#L8

    I hear you about JSON might not be a goal, but I can tell you that Terraform accepts .json files just as much as it accepts .hcl files so that sane people can generate them, because sane people cannot generate HCL https://developer.hashicorp.com/terraform/language/syntax/js...

  6. kine

    Run Kubernetes on MySQL, Postgres, sqlite, dqlite, not etcd.

    3. Couldn't you build this today via regular CNI? Cilium NetworkPolicies and others basically do this already

    4,5 probably don't require 2.0 - can be easily added within existing API via KEP (cri-o already does userns configuration based on annotations)

    [0] - https://github.com/k3s-io/kine

  7. uncloud

    A lightweight tool for deploying and managing containerised applications across a network of Docker hosts. Bridging the gap between Docker and Kubernetes ✨

    > I'd want k8s-lite, that was more opinionated and less flexible

    You seem to want something like https://skateco.github.io/ (still compatible to k8s manifests).

    Or maybe even something like https://uncloud.run/

    Or if you still want real certified Kubernetes, but small, there is https://k3s.io/

  8. k3s

    Lightweight Kubernetes

    > I'd want k8s-lite, that was more opinionated and less flexible

    You seem to want something like https://skateco.github.io/ (still compatible to k8s manifests).

    Or maybe even something like https://uncloud.run/

    Or if you still want real certified Kubernetes, but small, there is https://k3s.io/

  9. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  10. enhancements

    Enhancements tracking repo for Kubernetes

    Various pieces support pieces for pod to pod mTLS are slowly being brought into the main Kubernetes project.

    Take a look at https://github.com/kubernetes/enhancements/tree/master/keps/..., which is hopefully landing as alpha in Kubernetes 1.34. It lets you run a controller that issues certificates, and the certificates get automatically plumbed down into pod filesystems, and refresh is handled automatically.

    Together with ClusterTrustBundles (KEP 3257), these are all the pieces that are needed for someone to put together a controller that distributes certificates and trust anchors to every pod in the cluster.

  11. kapp-controller

    Continuous delivery and package management for Kubernetes.

    The desired package management system they describe sounds a lot like Carvel's kapp-controller (https://carvel.dev/kapp-controller/). The Carvel ecosystem, which includes its own YAML templating tool called 'ytt', isn't the most user friendly in my experience and can feel a bit over-engineered. But it does get the idea of Kubernetes-native package management using CRDs mostly right.

  12. hcl

    HCL is the HashiCorp configuration language.

    Be careful about linking to terraform docs for HCL, as it can be very easy to blur terraform's implementation of the behaviors from HCL itself

    https://github.com/hashicorp/hcl/blob/v2.23.0/hclsyntax/spec... I believe is the actual language specification of heredocs

  13. matsuri

    Toolkit to build a unified dev/staging/production environment with Docker and Kubernetes (by matsuri-rb)

    I used Typescript cdk8s, or tried to. Manipulating the objects were unwieldy.

    I wrote https://github.com/matsuri-rb/matsuri ... I have not really promoted it. I tried cdk8s because the team I was working with used Typescript and not Ruby, and I thought cdk8s would have worked well, since it generates manifests instead of templates it.

    Matsuri takes advantage of language features in Ruby not found in Typescript (and probably not Python) that allows for being able to compose things together. Instead of trying to model objects, it is based around constructing a hash that is then converted to JSON. It uses fine-grained method overloading to allow for (1) mixins, and (2) configuration from default values. The result is that with very little ceremony, I can get something to construct the manifest I needed. There were a lot of extra ceremony and boiler plate needed to do anything in the Typescript cdk8s.

    While I can use class inheritance with Matsuri, over the years, I had moved away from it because it was not as robust as mixins (compositions). It was quite the shock to try to work with Typescript cdk8s and the limitations of that approach.

    The main reason I had not promoted Matsuri is because this tool is really made for people who know Ruby well ... but that might have been a career mistake. Instead of having 10 years to slowly get enough support behind it (or to try to anyways), people want something better supported such as cdk8s or Helmfiles.

  14. FWIW, Lambda takes the opposite of your assertion: there are function entrypoints and the HTTP or gRPC or Stdin is an implementation detail; one can see that in practice via the golang lambda "bootstrap" shim <https://pkg.go.dev/github.com/aws/[email protected]/lamb...> which is invoked by the Runtime Interface Emulator <https://github.com/aws/aws-lambda-runtime-interface-emulator...>

    I don't have the links to Azure's or GCP's function emulation framework, but my recollection is that they behave similarly, for similar reasons

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Kubernetes 1.26 What's new?

    2 projects | dev.to | 1 Dec 2022
  • Missing ServiceAccount token

    2 projects | /r/kubernetes | 17 May 2022
  • Kubernetes 1.24 Released: What’s New?

    3 projects | dev.to | 11 May 2022
  • In defense of swap: common misconceptions

    2 projects | news.ycombinator.com | 20 Apr 2022
  • Good Way To Manage An Alb Or Nlb With Eks Using

    2 projects | /r/aws | 5 Feb 2021

Did you know that Go is
the 4th most popular programming language
based on number of references?