-
-
Notifications
You must be signed in to change notification settings - Fork 473
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
[FEATURE] Standard way for K3d to communicate about a local registry #234
Comments
I also filed this feature request here kubernetes-sigs/kind#1543 and here canonical/microk8s#1173, and would love other ideas on places I should post about this |
Hi @nicks, thanks for opening this issue 👍 |
ya, that's fair. I'll follow up on the Kind ticket and make sure this is up-to-date with specifics |
Just to keep you all in the loop, sig-cluster-lifecycle has suggested I open a KEP for this to kick the tires more on the proposal. But I also recognize that K3d falls slightly outside the KEP process. Are the K3d maintainers ok with that? Ya, I'll be sure to check in with you all if it starts to veer towards something that would require more k8s deps. |
Hi @nicks thanks for the efforts here 👍 |
Yay! Thanks @iwilltry42 KEP PR: kubernetes/enhancements#1757 |
one question that came up in another thread is if it's worth standardizing on how we document other image-loading options, e.g.,
but maybe that makes more sense in a future KEP |
Hi @iwilltry42! I'm doing a last call for any major objections or things I overlooked before we merge the initial spec kubernetes/enhancements#1757 If you're OK with this proposal, a thumbs-up on the PR would be a help a lot! Thanks! |
Thanks for your efforts @nicks :) You have my 👍 |
The KEP has been marked implementable! I suspect it will be straightforward to implement, but let me know if there's any way I can assist! |
Very cool @nicks ! Congrats for pushing this through 🥳 |
Hi @nicks 👋 |
Ya, that sounds reasonable! The goal of the Config is to advertise to tools what registry they should push to...so choosing the first registry it sees is fine. |
#441 will land in the next v4.0.0-beta.0 release |
Hi @iwilltry42 ! Thank you for landing this. I tried it out and I think there's a minor issue.
"0.0.0.0" isn't a valid host here... would it be better to file a separate bug? I can play around a bit to figure out what it should be... |
@nicks are you on a Mac or Windows? |
linux! |
And it doesn't work for you in Linux with 0.0.0.0? I know it's not a "real" IP, but should work anyway in many cases on Linux. |
Nope. Ya, let me file a new issue with the details. |
filed as #449 |
KEP
Original Issue Text
Many Kubernetes clusters support a local registry, to make pushing images directly to the cluster fast. But every cluster documents it with manual shell scripts:
Because every cluster is slightly different, this makes it hard for tools to automate this work for users.
The big idea
Clusters should use annotations on the
kube-system
namespace to document how to configure a registryDetailed design
I propose 3 new "standard" annotations:
x-k8s.io/registry
: the host of the registry (hostname and port), as seen from outside of the clusterx-k8s.io/registry-from-cluster
: the host of the registry (hostname and port), as seen from inside the clusterx-k8s.io/registry-help
: The URL of documentation where users can read more about how to set a registry up.Tools that would benefit from local registries should read this annotation and display it to the user
What this means for K3d
All K3d clusters would have a
registry-help
annotation pointing users to https://github.com/rancher/k3d/blob/master/docs/registries.md#using-a-local-registryWe'd also update the example script at https://github.com/rancher/k3d/blob/master/docs/registries.md#using-a-local-registry to add the
x-k8s.io/registry
andx-k8s.io/registry-from-cluster
annotation during setup.Prior Art
This proposal is based on what we've been recommending to people in Tilt, with a lot of success: https://docs.tilt.dev/choosing_clusters.html#custom-clusters
update 5/4 - changed the proposal to use the
kube-system
namespace instead of node annotationsThe text was updated successfully, but these errors were encountered: