-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Authenticated registry mirror support for image pulls #3060
Comments
/sig node |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close |
@k8s-triage-robot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /close not-planned |
@k8s-triage-robot: Closing this issue, marking it as "Not Planned". In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@saschagrunert what do you think of teaching kubelet about mirrors and make the runtime just pull what's asked? It will require to pass the original image name as a "formal" image name. |
Registry mirror implementations vary between runtime implementations. We could add a CRI call to resolve all available mirrors per image pull request. The result can be used to lookup the credentials. |
@kubernetes/sig-node-feature-requests can we consider this one for 1.31? If so, then I'm happy to outline the KEP. |
so the idea is to pass all credentials rather than move the mirror logic up to the kubelet? Will the KEP also include authentication of layers pulling when layers are in different registry (see GHSA-742w-89gc-8m9c). |
Yes
I assume this should be handled by the runtime, which then has all available credentials at hand. |
@saschagrunert do you hope to make progress on this in 1.32? |
Hm, I would not say it's a high priority but we can give it a try. |
As it's designed in the associated PR, it will require passing too much context all the time. Also may want to start passing the wildecards for the domain names, at which stage it is easier to ask user to configure the credential provider for the runtime. Is there an appetite to move mirror config to the kubelet? It will require new CRI APIs which will allow to specify the "display name" for the image. But overall it will be much cleaner design I think |
Enhancement Description
k/enhancements
) update PR(s): Add KEP for authenticated registry mirror support #4527k/k
) update PR(s):k/website
) update PR(s):Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.
Summary
Right now we only filter for one matching credential secret during an image pull within the kubelet: https://github.com/kubernetes/kubernetes/blob/c98b388a847f84019609f6422b4ab00b89c4603c/pkg/kubelet/kuberuntime/kuberuntime_image.go#L38-L56
The kubelet does not know anything about the registry configuration on a node. Therefore, we should just pass all authentication credentials to the lower level container runtime to decide which one to choose for pulling the image. This requires a CRI change to be able to pass multiple credentials: https://github.com/kubernetes/kubernetes/blob/c98b388a847f84019609f6422b4ab00b89c4603c/pkg/kubelet/kuberuntime/kuberuntime_image.go#L38-L56
cc @mrunalp @haircommander @rphillips
The text was updated successfully, but these errors were encountered: