-
Notifications
You must be signed in to change notification settings - Fork 6.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
containerd_registries is ignored by nerdctl #8375
Comments
There is an enty in the FAQ:
|
The reason I introduced nerdctl was to be able to account for multi-arch images which neither It's not clear to me from the FAQ if a CRI like approach is doable with nerdctl, is it possible to set the aliases you need in |
Indeed, I forgot about that issue. The docs for it sound like it should apply to using |
/cc @floryut |
Unfortunately, this doesn't work: $ sudo diff -u /etc/containerd/config.toml{.orig,}
--- /etc/containerd/config.toml.orig 2022-01-05 16:45:57.417920441 +0100
+++ /etc/containerd/config.toml 2022-01-05 16:40:48.606142310 +0100
@@ -29,6 +29,7 @@
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
systemdCgroup = true
[plugins."io.containerd.grpc.v1.cri".registry]
+ config_path = "/etc/containerd/certs.d"
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://gitlab-registry.k8s.example.org/v2/external-registries/docker.io"]
$ sudo mkdir -p /etc/containerd/certs.d/quay.io
$ sudo cat /etc/containerd/certs.d/quay.io/hosts.toml
# server = "https://quay.io"
[host."https://gitlab-registry.k8s.example.org/v2/external-registries/quay.io"]
capabilities = ["pull", "resolve"]
override_path = true
$ sudo systemctl restart containerd.service
$ sudo "/usr/local/bin/nerdctl" -n k8s.io pull --debug-full quay.io/calico/node:v3.20.3 EDIT: this is expected as documented, because part of |
I've submitted containerd/nerdctl#668, asking an implementation on the nerdctl side. In the meantime, 056a566 should probably be reverted or made configurable. |
Reverting 056a566 would unfortunately break the CI due to some of the images we use being multi-arch. The only way would be to revert back to containerd 1.4.x which does not exhibit the issue with multi-arch images. |
You might try setting registry-mirrors in |
@cristicalin I don't see any way to configure mirrors in Which images are multi-arch? It looks like |
I'm unable to reproduce the bug of https://gitlab.com/kargo-ci/kubernetes-sigs-kubespray/-/jobs/1826926575#L3500 (mentioned in #8245):
|
@cristicalin Please add ok-to-test to #8376 🙏 (this is just to test). |
FYI ok-to-test doesn't really do anything beside a yaml prow test, all other test are trigger using a mirroring to gitlab-ci 😋 |
Thanks @floryut. I've seen that most of the tests were run before the ok-to-test. This CI setup is amazing. Is it documented somewhere (I need something similar for kubitus-installer#51)? |
Yes, it is kind of documented here https://github.com/failfast-ci/failfast-api (the most verbose part being https://github.com/failfast-ci/failfast-api#architecture) 👍 |
@floryut Didn't knew about failfast. This is a great tool! Is there any docs about the runners setup? Is this on GCE? |
This allow to workaround kubernetes-sigs#8375 by using image_command_tool=crictl when containerd_registries is used for containerd. Also changes image_info_command_on_localhost for docker to return digests.
This allow to workaround #8375 by using image_command_tool=crictl when containerd_registries is used for containerd. Also changes image_info_command_on_localhost for docker to return digests.
This allow to workaround kubernetes-sigs#8375 by using image_command_tool=crictl when containerd_registries is used for containerd. Also changes image_info_command_on_localhost for docker to return digests. (cherry picked from commit cfd9873) The cherry-pick was adapted because nerdctl_extra_flags is not in the release-2.18 branch (kubernetes-sigs#8339).
This allow to workaround #8375 by using image_command_tool=crictl when containerd_registries is used for containerd. Also changes image_info_command_on_localhost for docker to return digests. (cherry picked from commit cfd9873) The cherry-pick was adapted because nerdctl_extra_flags is not in the release-2.18 branch (#8339).
@sathieu |
@oomichi The related PRs (#8380 + #8409) are more like workarounds. The proper fix is upstream containerd/nerdctl#668, which is marked as resolved in nerdctl 0.16.0. We need to test it, but I guess at least #8199 needs to be fixed first. Closing this issue, as I don't plan to work on this (now that I have a workaround). |
This allow to workaround kubernetes-sigs#8375 by using image_command_tool=crictl when containerd_registries is used for containerd. Also changes image_info_command_on_localhost for docker to return digests.
This allow to workaround kubernetes-sigs#8375 by using image_command_tool=crictl when containerd_registries is used for containerd. Also changes image_info_command_on_localhost for docker to return digests.
This allow to workaround kubernetes-sigs#8375 by using image_command_tool=crictl when containerd_registries is used for containerd. Also changes image_info_command_on_localhost for docker to return digests.
Environment:
not relevant
printf "$(uname -srm)\n$(cat /etc/os-release)\n"
):ansible --version
):python --version
):Kubespray version (commit) (
git rev-parse --short HEAD
):92f25bf (v2.18.0)
Network plugin used:
calico
Full inventory with variables (
ansible -i inventory/sample/inventory.ini all -m debug -a "var=hostvars[inventory_hostname]"
):Only relevant part:
Command used to invoke ansible:
Output of ansible run:
Anything else do we need to know:
This is a regression from #8239, more precisely 056a566.
The text was updated successfully, but these errors were encountered: