Live data from Hacker News

Show HN: Kardinal – Building light-weight Kubernetes dev ephemeral environments

kardinal.dev

11–20 of 26 posts

Re: Show HN: Kardinal – Building light-weight Kubernetes dev ephemeral environments

#11
unfortunately, this tool assumes full coverage with k8. but let's say you have an external pub/sub solution and your services are decoupled. that's a pretty low bar.

sidenote: I noticed Istio (envoy actually) has some weird non-deterministic behavior when you hit pod resource limits (504 bad gateway, 0DC)

Re: Show HN: Kardinal – Building light-weight Kubernetes dev ephemeral environments

#12
Looks interesting. I currently deploy dev instances as a single pod with everything in it, basically exactly the same as what devs get if they run docker compose locally. It works but pretty wasteful for many cases that don't need their own db etc. Is this supposed to make that less wasteful? Is it any different in the "full app"/end to end mode?

Re: Show HN: Kardinal – Building light-weight Kubernetes dev ephemeral environments

#15
Congratulations on shipping! I like how opinionated Kardinal is, which means it should work nicely for anyone who shares the same kind of infras vision as you.

It's also such an interesting moment for you folks to show up on HN, I just shipped the first preview version of my Kubernetes operator(https://github.com/pier-oliviert/sequencer) that manages ephemeral environments. I can see some things that are similar with both our options as well as some things that are quite different.

Maybe if I had one question is: What made you go for Istio as the main network mesh?

Good luck with the launch!

Re: Show HN: Kardinal – Building light-weight Kubernetes dev ephemeral environments

#16
post #15

Congratulations on shipping! I like how opinionated Kardinal is, which means it should work nicely for anyone who shares the same kind of infras vision as you. It's also such an interesting moment for you folks to show up on HN, I just shipped the first preview version of my Kubernetes operator( https://github.com/pier-oliviert/sequencer ) that manages ephemeral environments. I can see some things that are similar wi…

Nice work on Sequencer! I really liked the Workspace CRD.

Nothing too specific on choosing Istio, but it seemed like a popular and battle-tested option to start the implementation with. Kardinal is a fairly young project (about 2 months old), and we expect it to adopt more "service mesh backends" in the future.

Re: Show HN: Kardinal – Building light-weight Kubernetes dev ephemeral environments

#17

I'm kind of new to the k8 world, can I ask how this compares to the approach taken by Tilt?

Tilt works as an in-place hot-reload tool for containers. However, because it performs in-place updates, it doesn't support running multiple parallel and isolated versions of your cluster side-by-side.

That said, the timing of your question is perfect since we are about to push a Tilt integration that allows you to create an isolation flow and use Tilt to hot-reload and update that flow in-place! :)

Re: Show HN: Kardinal – Building light-weight Kubernetes dev ephemeral environments

#18

How is this different from vcluster? In fact vcluster has no dependency on Istio which I think is a huge detriment to kardinal. We use cilium so the istio requirement becomes a non starter for us.

It's a fair and valid comparison, and we're tracking this and other comparisons here: https://kardinal.dev/docs/references/comparisons

Regarding how Kardinal compares with vcluster, both aim to provide multitenancy within a single Kubernetes cluster, but they approach it differently.

vcluster is designed to offer a full Kubernetes experience to each tenant, including their own API server, control plane, and other Kubernetes-level components. This makes vcluster an excellent choice if you need strong isolation or want to test Kubernetes-specific features like custom CRDs or operators.

Kardinal, on the other hand, focuses on application-level multitenancy rather than providing the full Kubernetes stack to each tenant. This makes Kardinal lighter-weight and more efficient if you're primarily concerned with deploying and testing application-level changes.

Re: Show HN: Kardinal – Building light-weight Kubernetes dev ephemeral environments

#19
post #10

Looks great. Unfortunately, I have no desire to manage Istio in my clusters. Would be interested one alternative methods are available.

As far as I understand Kardinal manages Istio for you.

You're completely right, ofrzeta! Kardinal does manage Istio for you, so you don't need to learn or interact with Istio at all. In fact, Kardinal acts as a transpiler, taking Kubernetes manifests with simple Kardinal annotations and generating and applying the Kubernetes and Istio resources for you.

Re: Show HN: Kardinal – Building light-weight Kubernetes dev ephemeral environments

#20
post #11

unfortunately, this tool assumes full coverage with k8. but let's say you have an external pub/sub solution and your services are decoupled. that's a pretty low bar. sidenote: I noticed Istio (envoy actually) has some weird non-deterministic behavior when you hit pod resource limits (504 bad gateway, 0DC)

Not sure if I'm addressing your point correctly, but Kardinal does have the concept of external services and provides a plugin system that allows you to manage stateful external services. Here is an example [1] of a plugin to manage Neon [2] (a serverless Postgres DB with support for branches). You can find more information about plugins here: https://kardinal.dev/docs/concepts/plugins

[1] https://github.com/kurtosis-tech/neondb-plugin [2] https://neon.tech/

Post reply on HN