KubeOne mirroring with harbor is not usable #3569
Labels
customer-request
kind/feature
Categorizes issue or PR as related to a new feature.
sig/cluster-management
Denotes a PR or issue as being assigned to SIG Cluster Management.
Description of the feature you would like to add / User story
As a user
I would like the option to add additional parameters to the mirroring config of containerd with KubeOne
in order to make the mirroring work with harbors proxy cache projects.
Solution details
Alternative approaches
Since the workers are a dynamic ressource we can't add this config to the vm template. KubeOne/machine-controller would overwrite the config we have there in place. So an alternative approach would be that we can deactivate the containerd config overwrite through KubeOne/machine-controller.
Use cases
Harbors proxy cache projects have a different implementation than containerd. So we have to set the "/v2/" in the url which is possible right now. But we also need to set the parameter: 'override_path = true' for the mirroring to properly work. Otherwise we can't use the mirroring with harbor.
Additional information
When the config doesn't look like this:
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry/v2/project"]
override_path = true
We get this error when we try to pull images from e.g. Dockerhub:
Failed to pull image "nicolaka/netshoot": rpc error: code = NotFound desc = failed to pull and unpack image "docker.io/nicolaka/netshoot:latest": failed to unpack image on snapshotter overlayfs: unexpected media type text/html for sha256:ecd8a6c12adb298a513c0aa9ceba8d2c93263437d77b123c5ccfd97abaa49abb: not found
goharbor/harbor#18530 (comment)
The text was updated successfully, but these errors were encountered: