J'utilise le tout-en-un VM d'origine Openshift. J'essaye de tirer des images à partir d'un registre privé et sécurisé en utilisant un flux d'images. Ceci est la définition ImageStream:Openshift: Erreur lors de l'extraction de l'image à partir du registre de docker sécurisé et distant à l'aide de certificats
apiVersion: v1
kind: ImageStream
metadata:
name: my-image-stream
annotations:
description: Keeps track of changes in the application image
name: my-image
spec:
dockerImageRepository: "my.registry.net/myproject/my-image"
Le référentiel est sécurisé avec un certificat. Sur ma machine locale, je les ai en /etc/docker/certs.d/my.registry.net
et je peux me connecter avec docker login my.registry.net
.
Quand je lance oc import-image
, cependant, je reçois l'erreur suivante:
The import completed with errors.
Name: my-image
Namespace: myproject
Created: About an hour ago
Labels: <none>
Description: Keeps track of changes in the application image
Annotations: openshift.io/image.dockerRepositoryCheck=2017-01-27T08:09:49Z
Docker Pull Spec: 172.30.53.244:5000/myproject/my-image
Unique Images: 0
Tags: 1
latest
tagged from my.registry.net/myproject/my-image
! error: Import failed (InternalError): Internal error occurred: Get https://my.registry.net/v2/: remote error: handshake failure
About an hour ago
J'ai copié les certificats à la machine errante et redémarré le démon docker, mais le problème demeure. Je n'ai trouvé aucune documentation sur la façon d'ajouter correctement les certificats, je les ai donc simplement placés dans le dossier docker habituel.
Quelle est la manière appropriée de faire ce travail?
mise à jour en réponse à rezie's réponse:
Il n'y a pas de fichier etc/origin/master/ca-bundle.crt
sur ma boîte errante. J'ai trouvé les fichiers ca-bundle.crt suivants:
$ find/-iname ca-bundle.crt
/etc/pki/tls/certs/ca-bundle.crt
##multiple lines like
/var/lib/docker/devicemapper/mnt/something-hash-like/rootfs/etc/pki/tls/certs/ca-bundle.crt
/var/lib/origin/openshift.local.config/master/ca-bundle.crt
I en annexe le certificat racine à /etc/pki/tls/certs/ca-bundle.crt
et var/lib/origin/openshift.local.config/master/ca-bundle.crt
, mais cela ne change rien. S'il vous plaît note toutefois que je ne ai pas besoin d'avoir ce certificat racine dans /etc/docker/certs.d/... afin de vous connecter directement à l'aide docker login my.registry.net
J'ai joint
Merci - malheureusement, cela n'a pas fait l'affaire. J'ai mis à jour ma question en conséquence – feob
Dans RHEL, l'autre option que nous avons essayée était d'ajouter le certificat à '/ etc/pki/ca-trust/sources/anchors', d'exécuter' update-ca-trust', et de redémarrer maître (s) à nouveau. Je ne suis pas sûr que ce soit un cas congruent pour l'option VM, mais cela pourrait valoir la peine. – rezie