Rechercher

6.8. Importation d'images et de flux d'images à partir de registres privés

download PDF

Un flux d'images peut être configuré pour importer des métadonnées de balises et d'images à partir de registres d'images privés nécessitant une authentification. Cette procédure s'applique si vous modifiez le registre utilisé par l'opérateur d'échantillonnage de cluster pour extraire du contenu et le remplacer par autre chose que registry.redhat.io.

Note

Lors de l'importation à partir de registres non sécurisés ou sécurisés, l'URL du registre définie dans le secret doit inclure le suffixe du port :80, sinon le secret n'est pas utilisé lors de la tentative d'importation à partir du registre.

Procédure

  1. Vous devez créer un objet secret utilisé pour stocker vos informations d'identification en entrant la commande suivante :

    $ oc create secret generic <secret_name> --from-file=.dockerconfigjson=<file_absolute_path> --type=kubernetes.io/dockerconfigjson
  2. Une fois le secret configuré, créez le nouveau flux d'images ou entrez la commande oc import-image:

    $ oc import-image <imagestreamtag> --from=<image> --confirm

    Au cours du processus d'importation, OpenShift Container Platform récupère les secrets et les fournit à la partie distante.

6.8.1. Permettre aux pods de référencer des images provenant d'autres registres sécurisés

Le fichier .dockercfg $HOME/.docker/config.json pour les clients Docker est un fichier d'informations d'identification Docker qui stocke vos informations d'authentification si vous vous êtes précédemment connecté à un registre sécurisé ou non.

Pour extraire une image de conteneur sécurisée qui ne provient pas du registre d'images d'OpenShift, vous devez créer un secret d'extraction à partir de vos informations d'identification Docker et l'ajouter à votre compte de service.

Le fichier d'informations d'identification Docker et le secret d'extraction associé peuvent contenir plusieurs références au même registre, chacune avec son propre ensemble d'informations d'identification.

Exemple de fichier config.json

{
   "auths":{
      "cloud.openshift.com":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      },
      "quay.io":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      },
      "quay.io/repository-main":{
         "auth":"b3Blb=",
         "email":"you@example.com"
      }
   }
}

Exemple de secret de tirage

apiVersion: v1
data:
  .dockerconfigjson: ewogICAiYXV0aHMiOnsKICAgICAgIm0iOnsKICAgICAgIsKICAgICAgICAgImF1dGgiOiJiM0JsYj0iLAogICAgICAgICAiZW1haWwiOiJ5b3VAZXhhbXBsZS5jb20iCiAgICAgIH0KICAgfQp9Cg==
kind: Secret
metadata:
  creationTimestamp: "2021-09-09T19:10:11Z"
  name: pull-secret
  namespace: default
  resourceVersion: "37676"
  uid: e2851531-01bc-48ba-878c-de96cfe31020
type: Opaque

Procédure

  • Si vous disposez déjà d'un fichier .dockercfg pour le registre sécurisé, vous pouvez créer un secret à partir de ce fichier en exécutant :

    $ oc create secret generic <pull_secret_name> \
        --from-file=.dockercfg=<path/to/.dockercfg> \
        --type=kubernetes.io/dockercfg
  • Ou si vous avez un fichier $HOME/.docker/config.json:

    $ oc create secret generic <pull_secret_name> \
        --from-file=.dockerconfigjson=<path/to/.docker/config.json> \
        --type=kubernetes.io/dockerconfigjson
  • Si vous n'avez pas encore de fichier d'informations d'identification Docker pour le registre sécurisé, vous pouvez créer un secret en exécutant :

    $ oc create secret docker-registry <pull_secret_name> \
        --docker-server=<registry_server> \
        --docker-username=<user_name> \
        --docker-password=<password> \
        --docker-email=<email>
  • Pour utiliser un secret afin d'extraire des images pour les pods, vous devez ajouter le secret à votre compte de service. Le nom du compte de service dans cet exemple doit correspondre au nom du compte de service utilisé par le pod. Le compte de service par défaut est default:

    $ oc secrets link default <pull_secret_name> --for=pull
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.