-
Notifications
You must be signed in to change notification settings - Fork 310
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't start tilt with multi node minikube clusters using docker driver #4544
Comments
Thanks for the report! Ya, if you just need a quick workaround, you can set up a registry as described here: and then you can apply a configmap to tell tilt how to find it, like so:
(we should probably ask minikube to add this to their guide, since it's in the other cluster guides: https://kind.sigs.k8s.io/docs/user/local-registry/#create-a-cluster-and-registry) We maintain a tool called ctlptl that tries to do some of this wiring for you https://github.com/tilt-dev/ctlptl but it doesn't have an api for multi-node clusters yet |
So we currently set up our registry using that documentation, only thing I haven't done is patch the containerd runtime but it seems like the registry plugin in minikube does that for you. Looks like the issue is with tilt is still trying to get info about the minikube cluster by running Currently what we're doing is running the minikube registry addon, forwarding to it with either with kubectl or
This works just fine if I set Unfortunately we have a requirement to use cilium, and we were running into some odd issues using ctlptl, cilium, and a multi node kind cluster so we decided to use minikube instead and manually configure the registry. |
Also, I tried applying that configmap and I still run into the issue |
are you able to use (edit: if you're using a multi-node cluster, there's no real benefit to using docker as the container runtime over containerd - docker is just "containerd + an image builder you can connect to" but you can't use that builder anyway) |
Using
seems to let tilt start and push images to the registry, but pods are failing with
Using docker and a single node + cilium that setup works fine, so seems like containerd and cilium aren't playing nice unfortunately. (edit: let me see if multinode docker has any issues with local registries, I didn't actually confirm that) |
Ok looks like there's that same issue with just docker, I'll try disabling cilium and see if there's still an issue |
Alright looks like cilium likes to absolutely destroy my local docker networking, not sure what that's about but unrelated to tilt. After disabling cilium and using containerd, minikube works fine with multiple nodes. I can close this unless you want to leave it open for docs/a warning message when |
ya, let's leave it open for the ENV_MULTINODE_CONFLICT issue, which we should fix either way. wiring up a registry definitely has some land mines 😬 |
By the way this same issue comes up when running with a VM driver so |
…diately" We used to treat this as a property of the cluster type + the container runtime. But this made it impossible to support things clusters that sometimes use your docker runtime, and sometimes do not. For examples, see: - #4587 - #3654 - #1729 - #4544 This changes the data model so that "image builds show up in the cluster" is a property of the Docker client, not of the cluster. This should be much more flexible and correct, and help us support multiple clusters. Fixes #4544
…diately" We used to treat this as a property of the cluster type + the container runtime. But this made it impossible to support clusters that sometimes use your docker runtime, and sometimes do not. For examples, see: - #4587 - #3654 - #1729 - #4544 This changes the data model so that "image builds show up in the cluster" is a property of the Docker client, not of the cluster. This should be much more flexible and correct, and help us support multiple clusters. Fixes #4544
…diately" (#4598) * docker: change how we model "image builds show up in the cluster immediately" We used to treat this as a property of the cluster type + the container runtime. But this made it impossible to support clusters that sometimes use your docker runtime, and sometimes do not. For examples, see: - #4587 - #3654 - #1729 - #4544 This changes the data model so that "image builds show up in the cluster" is a property of the Docker client, not of the cluster. This should be much more flexible and correct, and help us support multiple clusters. Fixes #4544 * Update internal/docker/env.go Co-authored-by: Maia McCormick <maia@windmill.engineering> Co-authored-by: Maia McCormick <maia@windmill.engineering>
…diately" (#4598) * docker: change how we model "image builds show up in the cluster immediately" We used to treat this as a property of the cluster type + the container runtime. But this made it impossible to support clusters that sometimes use your docker runtime, and sometimes do not. For examples, see: - #4587 - #3654 - #1729 - #4544 This changes the data model so that "image builds show up in the cluster" is a property of the Docker client, not of the cluster. This should be much more flexible and correct, and help us support multiple clusters. Fixes #4544 * Update internal/docker/env.go Co-authored-by: Maia McCormick <maia@windmill.engineering> Co-authored-by: Maia McCormick <maia@windmill.engineering>
this should be fixed in 0.20.7 |
Expected Behavior
Running
tilt up
should work with a multi node clusterCurrent Behavior
tilt up
executes, but the tilt web interface logs that the tiltfile could not be executed with this errorSteps to Reproduce
minikube start --driver=docker --nodes=2 --addons=default-storageclass,registry,storage-provisioner
tilt up
Context
tilt doctor
OutputI think the issue is here, running
minikube docker-env
on a multi node cluster with the docker driver fails withEnabling/disabling the registry addon doesn't make a difference either.
The text was updated successfully, but these errors were encountered: