Live data from Hacker News

Tilt – Local Kubernetes development with no stress

github.com

21–30 of 76 posts

Re: Tilt – Local Kubernetes development with no stress

#21
post #10

Earlier quoted context omitted.

I have no problems building containers on macOS. Can you elaborate?

Building containers requires Linux, so I need to run a VM or build on another box/the cloud.

I built a container a few minutes ago on macOS, not sure why you believe this to be the case.

Re: Tilt – Local Kubernetes development with no stress

#22
post #10

Earlier quoted context omitted.

I have no problems building containers on macOS. Can you elaborate?

Building containers requires Linux, so I need to run a VM or build on another box/the cloud.

If you are running Docker for Mac, it should work out of the box :

Docker for Mac uses HyperKit instead of Virtual Box. Hyperkit is a lightweight macOS virtualization solution built on top of Hypervisor.framework in macOS 10.10 Yosemite and higher.

From https://docs.docker.com/docker-for-mac/docker-toolbox/

I build Linux target images on either my Mac or a handy EC2 instance for deployment to AWS using their ECR as a repository. No difference.

Re: Tilt – Local Kubernetes development with no stress

#23
post #7

Earlier quoted context omitted.

Is the problem with building containers that you don't have a Dockerfile and you don't want to spend time making one? Draft does that pretty well with Draftpacks, in my experience if there is a Draftpack for what you're using then the Dockerfile that draft spits out will get you pretty close to a workable container image with basically no effort, or sometimes even all the way there. I'm trying to understand what you…

I’m all aboard Docker, but I don’t use Linux natively, so I’d need to run a VM inside macOS, or have another box to build containers. Even if I did, I use GCR in production, so I’d need to template my container images in helm to use GCR only in production versus whatever I use locally for development. And what would that even be? I haven’t explored minikube to know what it does for local dev container registry. Anywa…

If you tried something like docker-machine on Mac a while back and were disappointed with abysmal performance, it's worth another look. They've replaced VirtualBox with HyperKit, which uses the Apple-supported Hypervisor.framework and works much, much better.

Re: Tilt – Local Kubernetes development with no stress

#24

Earlier quoted context omitted.

Building containers requires Linux, so I need to run a VM or build on another box/the cloud.

I built a container a few minutes ago on macOS, not sure why you believe this to be the case.

Docker containers/lxc require Linux. They are a Linux technology.

Re: Tilt – Local Kubernetes development with no stress

#25
post #10

Earlier quoted context omitted.

I have no problems building containers on macOS. Can you elaborate?

Building containers requires Linux, so I need to run a VM or build on another box/the cloud.

This is somewhat outdated.

Docker for Mac uses a relatively lightweight and largely-invisible virtualization layer now.

Re: Tilt – Local Kubernetes development with no stress

#26

Earlier quoted context omitted.

I built a container a few minutes ago on macOS, not sure why you believe this to be the case.

Docker containers/lxc require Linux. They are a Linux technology.

This is technically true but in practice Docker for Mac hides this from you and does not require a prohibitive amount of memory. 99% of the developers at my company have 16gb MBPs and we all build multiple Docker containers daily.

Re: Tilt – Local Kubernetes development with no stress

#28
It actually uses your existing Dockerfile and existing k8s yaml definitions contrary to what some people are saying in the comments,the Tiltfile seems to be just a handful of glue logic. The logs ui is pretty nice too, I've definitely looked for an easier way to check logs from multiple running pods.

Re: Tilt – Local Kubernetes development with no stress

#29
post #7

Earlier quoted context omitted.

Is the problem with building containers that you don't have a Dockerfile and you don't want to spend time making one? Draft does that pretty well with Draftpacks, in my experience if there is a Draftpack for what you're using then the Dockerfile that draft spits out will get you pretty close to a workable container image with basically no effort, or sometimes even all the way there. I'm trying to understand what you…

I’m all aboard Docker, but I don’t use Linux natively, so I’d need to run a VM inside macOS, or have another box to build containers. Even if I did, I use GCR in production, so I’d need to template my container images in helm to use GCR only in production versus whatever I use locally for development. And what would that even be? I haven’t explored minikube to know what it does for local dev container registry. Anywa…

Local kubernetes solutions (like docker-for-mac and minkube) usually let you push your image directly to the local docker daemon. No need to upload to a remote registry only to re-download it. A lot of tools in this space are pretty good about detecting this optimization, including Tilt.

(disclaimer: I work on Tilt)

Re: Tilt – Local Kubernetes development with no stress

#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 abstractions) as I like. Then kubecfg performs all the kubectl invocations to actually make the cluster state match my calculated definitions.

Post reply on HN