Live data from Hacker News

Tilt – Local Kubernetes development with no stress

github.com

31–40 of 76 posts

Re: Tilt – Local Kubernetes development with no stress

#31

I think the docs kind of misses what problem it solves and how it solves it. I do all the local stuff with docker-compose while using the same images for k8s deployments, how does this help me? Does this aim to replace docker-compose with k8s, or is this just for testing k8s resource changes in realtime, or is it testing your local k8s resource definitions against a remote cluster? Obviously this is useful for some p…

Hey, I'm CEO of Tilt. Thanks for the feedback.

The problem this solves is that distsys devs don't get enough feedback. You say you use docker-compose. Compared to docker-compose, Tilt has two advantages: 1) It updates the services as you edit them 2) Its UI makes it easy to see where errors are occurring, without you having to play 20 questions on the command-line or worry about things scrolling off-screen.

The Tiltfile doesn't redefine your k8s definitions; it reuses your existing k8s definitions. The Tiltfile just tells Tilt how to get them. (Many teams don't just use yaml files, but generate them, so Tilt has to be able to do that, too.)

There is a landing page at https://tilt.build which has more of the "why Tilt". Also, we're adding native support for docker-compose next week. I'd love to understand your case more, because at a high level you sound like exactly the kind of dev we want to help.

Re: Tilt – Local Kubernetes development with no stress

#32

Hey, awesome! I met the Windmill Eng team a few weeks ago at Kubecon in Seattle, awesome to see tilt here. It's definitely a young product, but it's a good start to exactly the experience I want. By experience I mean that when I do local dev and edit code live while reloading or restarting the service, I see changes reflected immediately in 2-3 commands that take seconds. In moving software towards Kubernetes, I come…

Thanks Frank! It was great to chat at Kubecon. (I'm Dan, the Windmill CEO, goofy big-haired guy)

Re: Tilt – Local Kubernetes development with no stress

#34
post #4

is there anything working with helm in the similar way ?

Tilt can use helm! (Disclaimer: Tilt CEO here)

You can just call k8s_yaml(local('helm template ')). That tells Tilt to parse the yaml generated by running (locally) helm template. Feel free to reach out if you'd like to pair to try it.

Re: Tilt – Local Kubernetes development with no stress

#35

How does this compare with garden.io, skaffold, draft, microk8S etc???

Hey, Tilt CEO here, so I'm certainly biased, but also semi-informed.

We think you deserve three properties: 1) it's easy to start your whole app 2) it's fast to update your app as you edit 3) common problems can't be missed.

docker-compose gives you 1. (some people hack in mount points and file watching to get 2, but it's hacky)

skaffold and garden.io give you 1 and some of 2. (Tilt has fast_build, which can update pods in-place, without rebuilding the whole image, which I don't believe either skaffold or garden.io do)

Our big value-add is the UI. Which may sound weird for a Terminal UI, but if you look at the demo video on https://tilt.build , I think you'll get a sense for how Tilt is working to keep the problem that's blocking you in your face, so you don't waste time playing 20 questions with kubectl.

Re: Tilt – Local Kubernetes development with no stress

#36
post #4

is there anything working with helm in the similar way ?

At Okteto we had similar issues so we built our own tool and open-sourced it as CND (https://github.com/okteto/cnd). Our approach is to be decoupled from how your pod is deployed so it works with Helm, CNAB, kubectl, etc…

Re: Tilt – Local Kubernetes development with no stress

#37
post #12

Earlier quoted context omitted.

Is your issue with building containers and getting them into the minikube VM? If so, you can use "eval $(minikube docker-env)" to make your shell's docker commands talk to the docker daemon in the VM.

Running a VM is a total drag. I only have 16GB RAM. Then even if I run a VM, the docker registry is not the same as my production docker registry (GCR). I guess I can account for this with a variable in my helm templates, but then it’s just more complexity. Would you recommend minikube even with 16GB RAM? How much do you allot to the VM?

I'm a long-time minikube fan, I like the isolation (totally worth whatever minor VM memory overhead), reliability, ease-of-use; it feels like an appliance in a good way, which is something I traditionally associate with VMs. minikube contributed strongly to me personally getting excited about k8s in 2016.

The local docker registry is an asset because it gives me flexible when offline.

Re: Tilt – Local Kubernetes development with no stress

#38

I think the docs kind of misses what problem it solves and how it solves it. I do all the local stuff with docker-compose while using the same images for k8s deployments, how does this help me? Does this aim to replace docker-compose with k8s, or is this just for testing k8s resource changes in realtime, or is it testing your local k8s resource definitions against a remote cluster? Obviously this is useful for some p…

It can be a pretty big pain to get local versions of your all your k8s services running on, say, minikube. Tilt makes this really easy because you're developing your app against the real services in your cluster.

Re: Tilt – Local Kubernetes development with no stress

#39
post #30
post #2

Uuuuh not using YAML. Controversial. (in the docker/k8s ecosphere, where YAML seems ubiquitous) I don't love YAML though I am not sure Starlark looks any more readable. YACL => Yet another config language...?

YAML, especially how it's used in k8s, is terrible. Writing it by hand is mind-numbingly toilful and extremely error prone, and templating YAML with Go (like Helm does) is a travesty. The most sensible approach I've seen is to use jsonnet+kubecfg. This lets me use a somewhat sane, composable, turing complete language that spits out a tree of k8s objects. I can use as much or little repeated definitions (or abstractio…

I'd also point out pulumi. It is a service, but it solves a lot of trouble when dealing with k8s configuration, and you have a real language to to create your definitions...

Re: Tilt – Local Kubernetes development with no stress

#40
post #31

I think the docs kind of misses what problem it solves and how it solves it. I do all the local stuff with docker-compose while using the same images for k8s deployments, how does this help me? Does this aim to replace docker-compose with k8s, or is this just for testing k8s resource changes in realtime, or is it testing your local k8s resource definitions against a remote cluster? Obviously this is useful for some p…

Hey, I'm CEO of Tilt. Thanks for the feedback. The problem this solves is that distsys devs don't get enough feedback. You say you use docker-compose. Compared to docker-compose, Tilt has two advantages: 1) It updates the services as you edit them 2) Its UI makes it easy to see where errors are occurring, without you having to play 20 questions on the command-line or worry about things scrolling off-screen. The Tiltf…

Hi! Thanks for checking in on HN. I'm very interested in k8s productivity but had some trouble understanding what Tilt is actually doing--is it a replacement for minikube, hosted kubernetes, etc.?

Is there an architecture diagram that shows what runs where?

Post reply on HN