Add registry mirror option to kaniko configuration#56
Add registry mirror option to kaniko configuration#56marob wants to merge 1 commit intocloud-pi-native:mainfrom
Conversation
In order to use Harbor proxy and prevent dockerhub rate limit
| --build-arg no_proxy=$no_proxy | ||
| --context="$CI_PROJECT_DIR" | ||
| --dockerfile="$CI_PROJECT_DIR/$WORKING_DIR/$DOCKERFILE" | ||
| --registry-mirror="${REGISTRY_HOST}/dockerhub" |
There was a problem hiding this comment.
Je ne sais pas dire si c'est toujours configuré côté plateforme (ça dépend de la plateforme utilisée d'ailleurs) mais auparavant cette variable était automatiquement configurée pour l'ensemble des projets (variable de groupe) via la variable EXTRA_KANIKO_ARGS. Cette variable était peuplée lors de l'installation de la plateforme en fonction de la configuration d'installation.
Cependant, peut-être qu'une évolution de la gestion de registry mirror est souhaitable / que de la documentation pourrait aider les utilisateurs à mieux appréhender le soucis des rate limits.
There was a problem hiding this comment.
La variable REGISTRY_HOST devrait systématiquement être définie via .vault/read_secret :
gitlab-ci-catalog/vault-ci.yml
Line 18 in 4e277b2
Je suis actuellement obligé de configurer EXTRA_BUILD_ARGS: --registry-mirror=${REGISTRY_HOST}/dockerhub pour bénéficier du proxy et éviter le rate limit dockerhub. Il faudrait que les utilisateurs n'aient pas à effectuer de configuration particulière et que ce soit automatique. S'il y a une autre solution équivalente, je n'ai rien contre, mais de mon point de vue, ça doit être transparent pour les utilisateurs.
Je note par ailleurs que les runners GitLab CI ne semblent pas être configurés pour pull les images via le proxy, ce qui fait que le build peut échouer lors de la préparation de l'environnement (pour récupérer l'image de sonar-scanner-cli par exemple). Et cette configuration ne peut pas être réalisée dans un .gitlab-ci mais doit être au niveau du runner. Où peut-on créer une issue pour ce problème ?
There was a problem hiding this comment.
Oui il y a un sujet autour de la gestion des registry Docker. Je remonte le point côté Socle CPiN 👍
Pour utiliser le proxy Harbor et éviter le rate limit dockerhub.
Issues liées
Issues numéro:
Quel est le comportement actuel ?
Le build Kaniko utilise le registry par défaut (dockerhub) ce qui amène à des problèmes de rate limit dockerhub.
Quel est le nouveau comportement ?
Le build Kaniko utilise automatiquement le projet "dockerhub" qui en est un mirroir.
Cette PR introduit-elle un breaking change ?
Non, si ce n'est peut-être lorsqu'un
.gitlab-cispécifie un autre--registry-mirror(dans lesEXTRA_BUILD_ARGS), mais en principe, plusieurs--registry-mirrorsont autorisés, donc ça ne devrait pas avoir d'impact.Autres informations
Ci-dessous, une capture qui montre que la configuration

--registry-mirror=harbor.external.cpin.numerique-interieur.com/dockerhubfonctionne (vs. une mauvaise configuration qui ne fonctionne pas)