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 :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=<pull_secret_location>
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 :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=.mirrorsecretconfigjson
$ oc set data secret/pull-secret -n openshift-config --from-file=.dockerconfigjson=.mirrorsecretconfigjson
Ajoutez 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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create configmap <config_map_name> --from-file=<mirror_address_host>..<port>=$path/ca.crt -n openshift-config
$ oc create configmap <config_map_name> --from-file=<mirror_address_host>..<port>=$path/ca.crt -n openshift-config
Par exemple :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow S oc create configmap registry-config --from-file=mirror.registry.com..443=/root/certs/ca-chain.cert.pem -n openshift-config
S oc create configmap registry-config --from-file=mirror.registry.com..443=/root/certs/ca-chain.cert.pem -n openshift-config
Utilisez 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 :Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"<config_map_name>"}}}' --type=merge
$ oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"<config_map_name>"}}}' --type=merge
Par exemple :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc patch image.config.openshift.io/cluster --patch '{"spec":{"additionalTrustedCA":{"name":"registry-config"}}}' --type=merge
$ 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
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow apiVersion: operator.openshift.io/v1alpha1 kind: ImageContentSourcePolicy metadata: name: mirror-ocp spec: repositoryDigestMirrors: - mirrors: - mirror.registry.com:443/ocp/release source: quay.io/openshift-release-dev/ocp-release - mirrors: - mirror.registry.com:443/ocp/release source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
apiVersion: operator.openshift.io/v1alpha1 kind: ImageContentSourcePolicy metadata: name: mirror-ocp spec: repositoryDigestMirrors: - mirrors: - mirror.registry.com:443/ocp/release
1 source: quay.io/openshift-release-dev/ocp-release
2 - mirrors: - mirror.registry.com:443/ocp/release source: quay.io/openshift-release-dev/ocp-v4.0-art-dev
Créer l'objet ICSP :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create -f registryrepomirror.yaml
$ oc create -f registryrepomirror.yaml
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow imagecontentsourcepolicy.operator.openshift.io/mirror-ocp created
imagecontentsourcepolicy.operator.openshift.io/mirror-ocp created
OpenShift 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 :
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc debug node/<node_name>
oc debug node/<node_name>
Définir
/host
comme répertoire racine dans l'interpréteur de commandes de débogage :Copy to Clipboard Copied! Toggle word wrap Toggle overflow chroot /host
sh-4.4# chroot /host
Vérifiez les informations d'identification dans le fichier
config.json
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat /var/lib/kubelet/config.json
sh-4.4# cat /var/lib/kubelet/config.json
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow {"auths":{"brew.registry.redhat.io":{"xx=="},"brewregistry.stage.redhat.io":{"auth":"xxx=="},"mirror.registry.com:443":{"auth":"xx="}}}
{"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.d
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd /etc/docker/certs.d/
sh-4.4# cd /etc/docker/certs.d/
Liste des certificats dans le répertoire
certs.d
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow ls
sh-4.4# ls
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow image-registry.openshift-image-registry.svc.cluster.local:5000 image-registry.openshift-image-registry.svc:5000 mirror.registry.com:443
image-registry.openshift-image-registry.svc.cluster.local:5000 image-registry.openshift-image-registry.svc:5000 mirror.registry.com:443
1 - 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
:Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat /etc/containers/registries.conf
sh-4.4# cat /etc/containers/registries.conf
Exemple de sortie
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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"
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.mirror
indiquent que le registre miroir est recherché avant le registre original.Quitter le nœud.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow exit
sh-4.4# exit