Replies: 4 comments 9 replies
-
A "registry proxy" is not the same thing as a HTTP proxy. A "registry proxy" is a pull-through caching image mirror; you need to configure it as a registry mirror and not just try to use it as the global system HTTP proxy. See the docs at https://docs.rke2.io/install/containerd_registry_configuration#mirrors, and remove the HTTP_PROXY/HTTPS_PROXY settings from your environment vars. |
Beta Was this translation helpful? Give feedback.
-
The Harbor REGISTRY PROXY isn't accessed directly, but with an intermediate Nginx HTTP PROXY, so docker/containerd/... pulls don't need to have each upstream repo configured individually as proxied. So this is actually HTTP_PROXY that has to be configured. As mentioned, this setup works for some years now with rke/docker, and containerd has no problem pulling either. But RKE2 does something different, with no helpful error message. |
Beta Was this translation helpful? Give feedback.
-
For all developer and cluster machines, docker/containerd only needs to know the HTTP Proxy to access all required repositories, external or internal. Any additional upstream repo just needs central configuration. Harbor IS configured as registry mirror (as well as our company registry), it's only the centralized configuration with the NGinx proxy intercepting traffic to index.docker.io and diverting to Harbor (and another internal registry). |
Beta Was this translation helpful? Give feedback.
-
Investigation traffic at the nginx proxy further, I had the following findings:
After reconfiguration of nginx, using the original index.docker.io upstream instead of the Harbor replacement, auth.docker.io is accessed as well, and when enabled the third upstream production.cloudflare.docker.com is contacted. So when index.docker.io, auth.docker.io and production.cloudflare.docker.com are the original upstreams, rke2 server will work as expected (also pulling from harbor-cached registry-1.docker.io). Apparently, rke2 tries to contact index.docker.io in a way that harbor (latest Version 2.9.0) doesn't support as expected. |
Beta Was this translation helpful? Give feedback.
-
I'm trying to install RKE2 v1.27.6+rke2r1 on a single Debian12 amd64 node, using a container image proxy (harbor), following https://docs.rke2.io/install/airgap#rke2-binary-install and https://docs.rke2.io/advanced#configuring-an-http-proxy:
What I did:
selinux=true
anddebug=true
in rke2/config.yaml/usr/local/bin/rke2 server
, which fails:To test the proxy accessability:
ctr image pull index.docker.io/rancher/rke2-runtime:v1.27.6-rke2r1
So AFAICS there's no problem in the infrastructure present.
What does "unrecognized challenge" mean and how to resolve this issue?
Beta Was this translation helpful? Give feedback.
All reactions