Issue with containerd image pulling from non-compliant registries #902
Unanswered
GlebBeloded
asked this question in
Q&A
Replies: 1 comment 2 replies
-
Hi @GlebBeloded , thanks for starting this discussion! I just gave it a try and it worked fine for me with this test:
So to me this looks like there's no problem with containerd pulling from ghcr. |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello everyone and thank you for you work on this project!
This issue is not directly related to k3d, k3s, not even containerd is to be blamed, but I thought that this would be a good place to ask for guidance.
I've been using k3d for local development, and it was working perfectly fine until we migrated to github enterprise. As far as I can understand, github registry is not fully OCI compliant. While trying to pull an image from registry, I get following error:
Warning Failed 22s (x3 over 64s) kubelet Failed to pull image "foo.bar/svc/app/app:master": rpc error: code = NotFound desc = failed to pull and unpack image "foo.bar/svc/app/app:master:master": failed to copy: httpReaderSeeker: failed open: content at https://docker.foo.bar/svc/app/app:master/manifests/sha256:493329b0f6b9004d37b6737e0eddb42bdde887b6c69bf6eff47a536b2c3c5be4 not found: not found
I've been trying to find workarounds for this, for example running this proxy, however it also seems not be fully OCI compliant, since i receive another error:
containerd failed to unpack image on snapshotter overlayfs: unexpected media type: application/octet-stream
As i understand the octet-stream header was initially supported by containerd, but support for it was removed some time ago.
I was unable to get into black magic wizardry of launching k3s with docker container runtime, and I was not able to find a working proxy which would be "good-enough" for containerd.
It is obvious that github packages developers should be making their api OCI compliant, however, while they are at it, kubernetes is now using containerd by default, and even docker tells me that api that the registry uses is deprecated, surely I am missing something obvious here?
Thank you again and have a great day!
Beta Was this translation helpful? Give feedback.
All reactions