-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
containerd does not fall back to default endpoint when using wildcard registry entry (airgap env) #10351
Comments
Can you check the containerd log file to see what exactly it's actually trying? The kubelet logs do not reflect all the actual endpoints that are attempted when trying the pull. |
Please find below :
|
You might also find this one interesting.
|
The first log shows only the startup, no pulls. The second log shows only pulling from the upstream, which is the opposite of what you reported. Can you attach the full log, showing a pull that is doing as you described? |
Traefik image are stored localy but i cannot access it.
|
I'm confused by what your problem is then. You're airgapped, and don't want it to fall back to a default endpoint because it's not reachable, but you opened an issue complaining that it doesn't fall back to the default endpoint? And then provided logs showing that it IS falling back to the default endpoint. What do you want to happen, and what is actually happening? |
How did you import this image? If you're importing it manually, did you follow the documented instructions to import it into the correct namespace? If you don't import it into the correct containerd namespace, and don't see it in |
I might be a bit confused myself, so thank you for giving me some time to clarify. I am in an air-gapped environment where I upload my images to the registry using the command ctr pull image . When I start my environment, the first image that Kubernetes tries to load is docker.io/rancher/mirrored-pause:3.6, which is available in the image registry:
However, it cannot find the image. The image is stored locally, but k3s is still trying to access the internet to download the image
|
That pulls images from a registry, into the containerd image store. Where exactly are you pulling it from if you are airgapped and don't have an upstream registry, or a local mirror? How did it get there?
You're not showing the contents of your registry here, you're showing the contents of the containerd image store.
Is the image in the correct namespace, as described in the documentation I linked earlier? If its in the wrong namespace, it's not visible to the kubelet. |
You are right ! i store image with I move every image in namespace where pods are running and i got the same error.
what is ==> .6?ns=docker.io ns as namespace maybe ?. |
Please stop trying random things and go read the docs page I linked above... you're still using the wrong namespace. You need to use the actual namespace shown in the docs, not whatever namespace the pods are in. Containerd's namespaces have nothing to do with Kubernetes namespaces. |
Environmental Info:
K3s Version:
k3s version v1.30.0+k3s1 (1454953)
go version go1.22.2
Node(s) CPU architecture, OS, and Version:
Linux dane 5.14.0-362.24.1.el9_3.0.1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 4 22:31:43 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Cluster Configuration:
Describe the bug:
1 server
Steps To Reproduce:
Expected behavior:
all pods and deployments come up correctly on service startup
Actual behavior:
essential static pods do not start up and remain waiting
Additional context / logs:
The text was updated successfully, but these errors were encountered: