12.5. Configuration du cluster pour le registre miroir
Après avoir créé et mis en miroir les images dans le registre miroir, vous devez modifier votre cluster pour que les pods puissent extraire des images du registre miroir.
Vous devez :
- Ajoutez les informations d'identification du registre du miroir au secret d'extraction global.
- Ajoutez le certificat du serveur de registre miroir au cluster.
Créer une ressource personnalisée
ImageContentSourcePolicy(ICSP), qui associe le registre miroir au registre source.Ajouter l'identifiant du registre des miroirs au secret d'extraction global du cluster :
oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=<pull_secret_location>1 - 1
- Indiquez le chemin d'accès au nouveau fichier de secret d'extraction.
Par exemple :
$ oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=.mirrorsecretconfigjsonAjoutez le certificat du serveur de registre miroir signé par l'autorité de certification aux nœuds du cluster :
Créer une carte de configuration qui inclut le certificat du serveur pour le registre miroir
$ oc create configmap <config_map_name> --from-file=<mirror_address_host>..<port>=$path/ca.crt -n openshift-configPar exemple :
S oc create configmap registry-config --from-file=mirror.registry.com..443=/root/certs/ca-chain.cert.pem -n openshift-configUtilisez la carte de configuration pour mettre à jour la ressource personnalisée (CR)
image.config.openshift.io/cluster. OpenShift Container Platform applique les modifications de cette CR à tous les nœuds du cluster :$ oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"<config_map_name>"}}}' --type=mergePar exemple :
$ oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"registry-config"}}}' --type=merge
Créer un ICSP pour rediriger les demandes de retrait de conteneurs des registres en ligne vers le registre miroir :
Créer la ressource personnalisée
ImageContentSourcePolicy:apiVersion: operator.openshift.io/v1alpha1 kind: ImageContentSourcePolicy metadata: name: mirror-ocp spec: repositoryDigestMirrors: - mirrors: - mirror.registry.com:443/ocp/release1 source: quay.io/openshift-release-dev/ocp-release2 - mirrors: - mirror.registry.com:443/ocp/release source: quay.io/openshift-release-dev/ocp-v4.0-art-devCréer l'objet ICSP :
$ oc create -f registryrepomirror.yamlExemple de sortie
imagecontentsourcepolicy.operator.openshift.io/mirror-ocp createdOpenShift Container Platform applique les modifications de ce CR à tous les nœuds du cluster.
Vérifiez que les informations d'identification, l'autorité de certification et l'ICSP pour le registre miroir ont été ajoutés :
Se connecter à un nœud :
oc debug node/<node_name>Définir
/hostcomme répertoire racine dans l'interpréteur de commandes de débogage :sh-4.4# chroot /hostVérifiez les informations d'identification dans le fichier
config.json:sh-4.4# cat /var/lib/kubelet/config.jsonExemple de sortie
{"auths":{"brew.registry.redhat.io":{"xx=="},"brewregistry.stage.redhat.io":{"auth":"xxx=="},"mirror.registry.com:443":{"auth":"xx="}}}1 - 1
- Assurez-vous que le registre du miroir et les informations d'identification sont présents.
Se rendre dans le répertoire
certs.dsh-4.4# cd /etc/docker/certs.d/Liste des certificats dans le répertoire
certs.d:sh-4.4# lsExemple de sortie
image-registry.openshift-image-registry.svc.cluster.local:5000 image-registry.openshift-image-registry.svc:5000 mirror.registry.com:4431 - 1
- Assurez-vous que le registre miroir figure dans la liste.
Vérifiez que l'ICSP a ajouté le registre miroir au fichier
registries.conf:sh-4.4# cat /etc/containers/registries.confExemple de sortie
unqualified-search-registries = ["registry.access.redhat.com", "docker.io"] [[registry]] prefix = "" location = "quay.io/openshift-release-dev/ocp-release" mirror-by-digest-only = true [[registry.mirror]] location = "mirror.registry.com:443/ocp/release" [[registry]] prefix = "" location = "quay.io/openshift-release-dev/ocp-v4.0-art-dev" mirror-by-digest-only = true [[registry.mirror]] location = "mirror.registry.com:443/ocp/release"Les paramètres
registry.mirrorindiquent que le registre miroir est recherché avant le registre original.Quitter le nœud.
sh-4.4# exit