-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
k3s sets KubeletCredentialProviders feature gate which is is GA and removed in 1.28 #8941
Comments
Ah, I'd missed that this got removed. That is a bummer, I was really hoping it would mature. I suppose we can close out #3463 then. I'll have to see what upstream is planning to replace this, maybe the credentials stuff that we originally wanted containerd and the other runtimes to provide will come to pass now that this has failed in the kubelet. |
@brandond I noticed the discussion on another thread about the pause container, is that what you're referring to regarding not being "mature"? Our use case is we need to pull some containers from our own private AWS ECR registry. I presume that won't be an issue with the current capabilities? |
That was the largest unclosed gap that I saw at the time. I suspect that there wasn't anything specifically wrong with the feature, just that whoever was pushing it forward moved on or lost interest, and it got swept out by the policy of removing features that fail to graduate. That's my take on it, without having checking in on any of the upstream work in quite a while. You can still embed creds in registries.yaml, or use image pull creds in the pod spec, but those are all static - which isn't great for EC2 or other environments where you have ambient credentials available. |
We have constantly rotating AWS creds on our machines (outside of AWS) and so the current credential provider process looks like it should be perfect for us. Currently we have our own k8s cronjob that generates new secrets and stores them to be used as |
Yeah, that was what the credential provider was supposed to handle, and why I'm disappointed to see it fail to mature. Previously we had proposed to have containerd and other runtimes supporting credential providers natively, but they deferred to the kubelet/CRI folks which lead to the current/former solution. |
kubernetes/kubernetes#116901 is only a deletion from feature gate, the feature itself exists as GA, right? I'm using kubelet credential provider with K3s 1.27 to pull images from ECR. |
You know I guess I was just assuming it got removed, if it went GA and is locked on that's much better. Thanks for pointing that out! I still have issues with the implementation, but I'm glad it's not gone. |
Validated in both v1.29.0-rc2+k3s1 and v1.29.0-rc1+rke2r1
|
Environmental Info:
K3s Version:
Node(s) CPU architecture, OS, and Version:
Cluster Configuration:
Many clusters. But most: 2 servers, 2-3 agents.
Describe the bug:
As per this k8s PR the feature flag
KubeletCredentialProviders
has been removed in 1.28. But k3s is still setting it. This appears to happen if either the--image-credential-provider-
* args are passed or there is contents in the default/var/lib/rancher/credentialprovider/
directory.This results in the following failure on startup:
Steps To Reproduce:
ExecStart
is:--image-credential-provider-bin-dir
and--image-credential-provider-config
arguments or place the appropriate files in/var/lib/rancher/credentialprovider/
.Expected behavior:
k3s should start and use the credential provider.
Actual behavior:
When starting
kubelet
it has a fatal error:Additional context / logs:
The text was updated successfully, but these errors were encountered: