Remarque :

Apprenez à installer Project Quay sur Podman

Introduction

Project Quay est un référentiel open source utilisé pour stocker et gérer des artefacts tels que des conteneurs à utiliser sur des plates-formes cloud natives. Project Quay offre également des fonctionnalités supplémentaires telles que (en aucun cas) :

Il peut être déployé sur un cluster Kubernetes à l'aide d'un opérateur, ou en tant que conteneur autonome ou cluster à haute disponibilité sur Podman.

Objectifs

Ce laboratoire montre comment installer et exécuter Project Quay sur Podman, puis comment vérifier qu'il fonctionne. Les principales étapes décrites sont décrites ci-après :

Remarque : les étapes fournies n'incluent pas la configuration du registre à l'aide de certificats. Par conséquent, il est recommandé à des fins de non-production ou d'environnement interne/air.

Conditions requises

Avis de non-responsabilité du support Oracle

Oracle ne fournit pas de support technique pour la séquence d'étapes fournies dans les instructions suivantes car ces étapes font référence aux programmes logiciels et aux systèmes d'exploitation qui ne sont pas fournis par Oracle. Ce tutoriel fournit des instructions facultatives uniquement pour plus de commodité.

Pour plus d'informations sur la méthode prise en charge par Oracle pour le développement et l'utilisation des services basés sur Podman, reportez-vous à https://docs.oracle.com/en/operating-systems/oracle-linux/podman/.

Configurer l'environnement des exercices

Remarque : lorsque vous utilisez l'environnement d'atelier gratuit, reportez-vous à Notions de base d'Oracle Linux Lab pour obtenir des instructions de connexion et d'utilisation.

  1. Ouvrez un terminal et connectez-vous via ssh à l'instance ol-server si elle n'est pas déjà connectée.

    ssh oracle@<ip_address_of_instance>
    

(Facultatif) Confirmer le fonctionnement de Podman

Le package container-tools d'Oracle Linux fournit les dernières versions de Podman, Buildah, Skopeo et les dépendances associées.

  1. Vérifiez la version de Podman.

    podman -v
    
  2. Vérifiez que la CLI Podman fonctionne.

    podman run quay.io/podman/hello
    

    Sortie exemple :

    [oracle@ol-server ~]$ podman run quay.io/podman/hello
    Trying to pull quay.io/podman/hello:latest...
    Getting image source signatures
    Copying blob f82b04e85914 done  
    Copying config dbd85e09a1 done  
    Writing manifest to image destination
    Storing signatures
    !... Hello Podman World ...!
    
             .--"--.           
           / -     - \         
          / (O)   (O) \        
       ~~~| -=(,Y,)=- |         
        .---. /`  \   |~~      
     ~/  o  o \~~~~.----. ~~   
      | =(X)= |~  / (O (O) \   
       ~~~~~~~  ~| =(Y_)=-  |   
      ~~~~    ~~~|   U      |~~ 
    
    Project:   https://github.com/containers/podman
    Website:   https://podman.io
    Documents: https://docs.podman.io
    Twitter:   @Podman_io
    

Configuration du réseau

Définir les règles de pare-feu

Modifiez les règles de pare-feu du système pour ouvrir les ports requis par Project Quay.

  1. Mettre à jour les règles de pare-feu

    sudo firewall-cmd --permanent --add-port=80/tcp
    sudo firewall-cmd --permanent --add-port=443/tcp
    sudo firewall-cmd --permanent --add-port=5432/tcp
    sudo firewall-cmd --permanent --add-port=6379/tcp
    sudo firewall-cmd --reload
    
    

    Sortie exemple :

    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=80/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=443/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=5432/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --permanent --add-port=6379/tcp
    success
    [oracle@ol-server ~]$ sudo firewall-cmd --reload
    success
    

    Voici la liste d'utilisation de chaque port :

    • Ports 80 et 443 : utilisés par le conteneur Quay
    • Port 5432 : utilisé par le conteneur PostgreSQL
    • Port 6379 : Utilisé par le conteneur Redis

Configurer le fichier d'hôte

Il existe plusieurs façons de configurer la mise en réseau utilisée par les conteneurs Project Quay pour s'assurer qu'ils peuvent communiquer ensemble. Pour plus de détails, reportez-vous à la documentation Project Quay.

L'une de ces options consiste à s'assurer que le nom d'hôte du système Oracle Linux peut être résolu. Cette opération a déjà été effectuée dans l'environnement d'exercice libre fourni en ajoutant le nom d'hôte court ol-server et le nom d'hôte FQDN au fichier d'hôtes ainsi que l'adresse IP associée.

  1. Vérifiez le contenu en cours du fichier /etc/hosts.

    cat /etc/hosts
    

    Sortie exemple :

    [oracle@ol-server ~]$ cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    10.0.0.150 ol-server.pub.linuxvirt.oraclevcn.com ol-server
    

(Facultatif) Installation du client PostgreSQL

Cette étape permet d'accéder à la base de données PostgreSQL à partir de la ligne de commande en dehors du conteneur. Cette étape n'est pas obligatoire pour configurer le conteneur.

  1. Installez le client PostgreSQL.

    sudo dnf -y install postgresql
    

Configurer la banque de données Project Quay

Project Quay utilise une base de données pour stocker les métadonnées. L'utilisation de Postgres est l'option par défaut utilisée dans ce tutoriel. Les utilisateurs peuvent également utiliser MySQL comme alternative, mais ce n'est pas le cadre de cet exercice.

  1. Créez le répertoire de stockage des données du conteneur de base de données.

    sudo mkdir -p /var/lib/pgsql/data
    
  2. Définissez les droits d'accès appropriés sur le stockage des données.

    sudo chmod 0755 /var/lib/pgsql/data
    
    sudo setfacl -m u:26:-wx /var/lib/pgsql/data
    
  3. Définissez les variables d'environnement.

    Ils définissent les variables Postgres qui seront utilisées pour démarrer le conteneur Postgres.

    export POSTGRESQL_CONTAINER_NAME=postgres
    export POSTGRESQL_DB=quay
    export POSTGRESQL_USER=quayuser
    export POSTGRESQL_PASSWORD=quay-test
    
    

    Remarque : ces variables sont utilisées pour définir les éléments suivants :

    • POSTGRESQL_CONTAINER_NAME fait référence au nom utilisé par le conteneur Postgres.

    • POSTGRESSQL_DB, POSTGRES_USER et POSTGRES_PASSWORD font référence aux valeurs spécfic postgres.

  4. Démarrez le conteneur Postgres en indiquant des détails tels que le nom utilisateur, le mot de passe, le nom de base de données, le numéro de port et le point de montage de volume pour la banque de données de la base de données.

    sudo podman run --detach --name ${POSTGRESQL_CONTAINER_NAME} \
       --env POSTGRES_USER=${POSTGRESQL_USER} \
       --env POSTGRES_PASSWORD=${POSTGRESQL_PASSWORD} \
       --env POSTGRES_DB=${POSTGRESQL_DB} \
       --publish 5432:5432 \
       --volume /var/lib/pgsql/data:/var/lib/postgresql/data:Z \
       docker.io/library/postgres:latest
    

    REMARQUE : :Z à la fin du paramètre -volume permet à ce volume de stockage de fonctionner avec SELinux activé. SELinux est activé par défaut sur Oracle Linux.

Ajoutez le module Trigram à PostgreSQL

(Facultatif) Utilisation du client PostgreSQL

Ces étapes ne sont possibles que si les packages client Postgres ont été installés à l'étape facultative ci-dessus. Ignorez cette étape facultative si ces packages n'ont pas été installés.

  1. Connectez-vous à la base de données.

    psql -h $(hostname -i) quay quayuser
    

    Password for user quayuser: est quay-test, comme défini dans l'export et la création de conteneur ci-dessus.

  2. Créez le module trigramme.

    CREATE EXTENSION IF NOT EXISTS pg_trgm;
    

    Sortie exemple :

    quay=# CREATE EXTENSION IF NOT EXISTS pg_trgm;
    CREATE EXTENSION
    
  3. Quittez le client PostgreSQL en saisissant \q, puis la clé RETURN.

    \q
    

    Sortie exemple :

    quay=# \q                                     
    [oracle@ol-server ~]$
    

Exécuter directement dans le conteneur

  1. Créez le module trigramme.

    sudo podman exec -it postgres /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS pg_trgm" | psql -d quay -U quayuser'
    

    Sortie exemple :

    [oracle@ol-server ~]$ sudo podman exec -it postgres /bin/bash -c 'echo "CREATE EXTENSION IF NOT EXISTS pg_trgm" | psql -d quay -U quayuser'
    CREATE EXTENSION
    

Vérification du statut du conteneur PostgreSQL

  1. Vérifiez que la base de données a démarré.

    sudo podman ps
    

    Sortie exemple :

    [oracle@ol-server ~]$ sudo podman ps
    CONTAINER ID  IMAGE                             COMMAND               CREATED         STATUS             PORTS                   NAMES
    1ec4a57b792d  docker.io/library/postgres:10.12  postgres              27 minutes ago  Up 26 minutes ago  0.0.0.0:5432->5432/tcp  postgresql
    
  2. Vérifiez les journaux de conteneur.

    sudo podman logs -f postgres
    

    Remarque : utilisez CTRL+C pour revenir à l'invite de commande.

    Sortie exemple :

    PostgreSQL init process complete; ready for start up.
    
    2023-02-01 16:11:49.512 UTC [1] LOG:  listening on IPv4 address "0.0.0.0", port 5432
    2023-02-01 16:11:49.512 UTC [1] LOG:  listening on IPv6 address "::", port 5432
    2023-02-01 16:11:49.514 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
    2023-02-01 16:11:49.524 UTC [64] LOG:  database system was shut down at 2023-02-01 16:11:49 UTC
    2023-02-01 16:11:49.528 UTC [1] LOG:  database system is ready to accept connections
    
  3. Confirmez l'adresse IP du conteneur Postgres. Notez-le car il est nécessaire ultérieurement.

    sudo podman inspect -f "" postgres
    

    Sortie exemple :

    [oracle@ol-server ~]$ sudo podman inspect -f "" postgres
    10.88.0.2
    

    Une autre façon d'y parvenir est présentée ci-dessous.

    sudo podman inspect postgres | grep IPAddress
    

    Sortie exemple :

    [oracle@ol-server ~]$ sudo podman inspect postgres | grep IPAddress
                "IPAddress": "10.88.0.2",
                             "IPAddress": "10.88.0.2",
    

    Remarque : le nom postgres utilisé ici correspond au nom utilisé dans la variable --name utilisée dans la commande Podman précédente pour créer le conteneur PostgreSQL.

Configurer Redis

Redis est requis par Project Quay pour stocker des informations éphémères.

  1. Créez le répertoire de stockage des données des conteneurs Redis.

    sudo mkdir -p /var/lib/redis
    
  2. Définissez les autorisations.

    sudo chmod 0755 /var/lib/redis
    
  3. Démarrez le conteneur Redis.

    sudo podman run --detach --name redis \
                    --restart=always \
                    --publish 6379:6379 \
                    --privileged=true \
                    --volume /var/lib/redis:/var/lib/redis:Z \
                    docker.io/library/redis:latest
    
    
  4. Vérifiez que le conteneur Redis est en cours d'exécution.

    sudo podman ps
    
  5. Vérifiez les journaux du conteneur Redis.

    sudo podman logs -f redis
    

    Remarque : utilisez CTRL+C pour revenir à l'invite de commande.

  6. Confirmez l'adresse IP du conteneur Redis. Notez-le car il est nécessaire ultérieurement.

    sudo podman inspect -f "" redis
    

Configurer le quai du projet

Project Quay inclut un outil qui fournit les détails permettant de configurer la base de données PostgreSQL et de générer les fichiers de configuration Quay. L'outil de configuration lui-même est basé sur le Web et les fichiers de configuration Quay sont générés en tant que fichier YAML tar/zippé, qui doit être développé après avoir été mis en place.

  1. Lancez Project Quay ConfigTool.

    sudo podman run -d --name quay-config -p 80:8080 -p 443:8443 quay.io/projectquay/quay config secret-pass
    

    Sortie exemple :

    [oracle@ol-server ~]$ sudo podman run -d --name quay-config -p 80:8080 -p 443:8443 quay.io/projectquay/quay config secret-pass
    Trying to pull quay.io/projectquay/quay:latest...
    Getting image source signatures
    Copying blob ec924a250552 done  
    Copying blob fd07da1562ac done  
    Copying blob 3550ee360766 done  
    Copying blob b68865894b50 done  
    Copying blob ff46f0c54d73 done  
    Copying blob 88956768f1ec done  
    Copying blob 644b12ae1636 done  
    Copying blob 9661ced91a5f done  
    Copying config c1a4397f6e done  
    Writing manifest to image destination
    Storing signatures
    cc84cafcc5bdc41dacc86c22ba7d0d52d2bf02c0b1fca9aa59879942c7669f13
    
  2. Cliquez avec le bouton droit de la souris sur le bureau Luna et sélectionnez Open Terminal Here.

  3. Dans le terminal nouvellement ouvert, configurez un tunnel SSH.

    ssh -L 8080:localhost:80 oracle@<ip_address_of_ol-server>
    

    Sortie exemple :

    [luna.user@lunabox ~]$ ssh -L 8080:localhost:80 oracle@129.159.195.234
    Activate the web console with: systemctl enable --now cockpit.socket
    
    Last login: Tue Feb  7 18:56:30 2023 from 138.1.16.50
    

    8080 est le port ouvert sur le bureau Luna pour le port 80 sur l'hôte. Le port 80 est le port mappé en externe pour le conteneur Project Quay.

  4. Depuis le bureau Luna, ouvrez une nouvelle session de navigateur et entrez l'URL du projet Quay ConfigTool.

    http://localhost:8080
    

    Sortie exemple :

    connexion pgadmin

  5. Connectez-vous à l'éditeur Quay Configuration à l'aide des valeurs fournies.

    • Nom d'utilisateur - quayconfig
    • Mot de passe : secret-pass (Remarque : correspond au dernier paramètre transmis lors du démarrage du conteneur de configuration Quay.)

    Sortie exemple :

    connexion pgadmin

Entrer les informations de configuration de quai

Les étapes suivantes consistent à saisir de nouveaux détails tandis que d'autres utilisent certaines des informations collectées/notées dans les étapes précédentes lors de la configuration de Postgres, Redis, etc.

  1. S'il n'est pas déjà visible après la connexion, faites défiler la page jusqu'à la section Configuration de base. Notez que plusieurs champs peuvent être renseignés.

    • Titre du registre, Intitulé abrégé du registre, URL du logo de l'entreprise et Informations de contact

    Aux fins de ce laboratoire/tutoriel, aucune modification ne sera apportée.

    Sortie exemple :

    connexion pgadmin

  2. Faites défiler la page jusqu'à la section Server Configuration, entrez le nom d'hôte du serveur (comme indiqué précédemment dans le fichier /etc/hosts).

    • Nom d'hôte du serveur : ol-server.pub.linuxvirt.oraclevcn.com

    Sortie exemple :

    connexion pgadmin

  3. Faites ensuite défiler la page jusqu'à la section intitulée : Database (Base de données).

    Sortie exemple :

    connexion pgadmin

  4. Cliquez sur la liste déroulante en regard du champ appelé Type de base de données. Deux options sont répertoriées : MySQL et Postgres, sélectionnez Postgres.

    Remarque : La sélection de Postgres permet à l'option de sélectionner l'outil d'analyse Clair à une date ultérieure, car l'outil d'analyse Clair ne fonctionne pas avec une base de données Quay MySQL.

    Sortie exemple :

    connexion pgadmin

  5. Les champs spécifiques de Postgres sont maintenant affichés, entrez les détails pour permettre l'accès à Postgres.

    • Serveur de base de données : choisissez l'une des options suivantes : a) Entrez le nom $HOSTNAME ou le nom FQDN tel qu'il a été saisi dans le fichier /etc/hosts (qui doit être résolu à l'aide de DNS) ou b) Utilisez l'adresse IP du conteneur indiquée lors d'une étape précédente (par exemple : 10.88.0.2)
    • Nom utilisateur : quayuser
    • Mot de passe : quay-test
    • Nom de base de données : quay

    **Remarque : toutes ces valeurs DOIVENT correspondre à celles utilisées lors du démarrage du conteneur Postgres (voir précédemment), mais sont entièrement configurables par l'utilisateur.

    Sortie exemple :

    connexion pgadmin

  6. Continuez à faire défiler la page vers le bas jusqu'à la section Redis, saisissez l'adresse IP renvoyée précédemment au démarrage du conteneur Redis.

    • Nom d'hôte Redis - Choisissez a) Entrez le nom $HOSTNAME ou le nom de domaine qualifié complet tel qu'indiqué dans le fichier /etc/hosts (qui doit être résolu à l'aide de DNS) ou b) Utilisez l'adresse IP de conteneur indiquée lors d'une étape précédente (par exemple : 10.88.0.3)

    Sortie exemple :

    connexion pgadmin

  7. Notez qu'en bas de l'écran du navigateur se trouve une boîte de dialogue flottante appelée Validate Configuration Changes.

    Sortie exemple :

    connexion pgadmin

  8. Cliquez dessus pour confirmer que les conditions minimales requises pour que le serveur Project Quay fonctionne ont été remplies.

    Sortie exemple :

    connexion pgadmin

  9. Cliquez sur le bouton pour télécharger le fichier de configuration. Vérifiez que le fichier (quay-config.tar.gz) a été téléchargé.

    REMARQUE : Dans l'environnement des exercices, le fichier de configuration généré est enregistré dans le répertoire ~/Downloads du bureau Luna et non sur le serveur sur lequel le référentiel Quay est configuré.

    Sortie exemple :

    connexion pgadmin

  10. Cliquez avec le bouton droit de la souris sur le bureau Luna et sélectionnez Open Terminal Here. Dans le terminal nouvellement ouvert, vérifiez que le fichier de configuration a été téléchargé.

    ls -lsa ~/Downloads
    

    Sortie exemple :

    [luna.user@lunabox Desktop]$ ls -lsa ~/Downloads
    total 12
    0 drwx------. 2 luna.user luna.user   32 Feb  8 11:59 .
    8 drwx------. 1 luna.user luna.user 4096 Feb  8 11:59 ..
    4 -rw-rw-r--. 1 luna.user luna.user 1214 Feb  8 11:59 quay-config.tar.gz
    
  11. Déplacez le fichier de la machine Luna Desktop vers la machine ol-server où Project Quay est en cours de configuration et d'installation.

    scp ~/Downloads/quay-config.tar.gz oracle@<ip_address_of_ol-server>:~
    

    IMPORTANT : veillez à ne pas supprimer :~ à la fin de la commande ci-dessus. S'il est supprimé, rien ne sera copié vers l'instance ol-server.

    Exemple de sortie :

    [luna.user@lunabox Downloads]$ scp quay-config.tar.gz oracle@129.159.195.234:~
    quay-config.tar.gz                            100% 1214    64.1KB/s   00:00
    
  12. Fermez la fenêtre de terminal active utilisée pour copier le fichier quay-config.tar.gz en saisissant exit.

  13. Passez à la fenêtre de terminal utilisée pour ouvrir le tunnel SSH.

  14. Fermez le tunnel SSH en saisissant CTRL-C. La session de tunnel SSH doit être interrompue. Gardez la fenêtre de terminal elle-même ouverte - elle sera nécessaire une nouvelle fois dans les étapes à venir.

    REMARQUE : La fermeture de la session de tunnel SSH est requise car la session de conteneur à laquelle la connexion est en cours a été fermée.

  15. Passez à la fenêtre de terminal d'origine qui est toujours connectée à ol-server et vérifiez les affichages du fichier quay-config.tar.gz dans le répertoire de base des utilisateurs oracle.

    ls ~
    

    Sortie exemple :

    [oracle@ol-server ~]$ ls ~
    quay-config.tar.gz
    
  16. Arrêtez le processus de conteneur de configuration Project Quay.

    sudo podman stop quay-config
    

    Sortie exemple :

    [oracle@ol-server config]$ sudo podman stop quay-config
    WARN[0010] StopSignal SIGTERM failed to stop container quay-config in 10 seconds, resorting to SIGKILL 
    quay-config
    
  17. Vérifiez que le conteneur quay-config s'est arrêté.

    sudo podman ps
    

Préparer pour démarrer le quai

L'emplacement réel des répertoires /config et /storage du quai de projet peut être modifié si nécessaire tant que les autorisations appropriées sont appliquées et qu'elles sont accessibles.

  1. A l'aide de la fenêtre de terminal d'origine connectée à ol-server, créez un emplacement pour contenir la configuration Project Quay.

    mkdir -p ~/quay/config
    
  2. Créez un emplacement où Project Quay peut stocker ses artefacts.

    mkdir -p ~/quay/storage
    
  3. Développez le fichier Tar Gzipped dans le répertoire de configuration Quay.

    tar -xzvf quay-config.tar.gz -C ~/quay/config/
    
  4. Vérifiez que le fichier de configuration YAML existe.

    cat ~/quay/config/config.yaml
    
  5. Accordez l'accès root 'Read' au répertoire Project Quay config.

    sudo setfacl -R -m u:1001:r ~/quay/config
    
  6. Accordez l'accès root "Read", "Write" et "Execute" au répertoire Project Quay storage.

    sudo setfacl -R -m u:1001:rwx ~/quay/storage
    

Lancer le quai du projet

  1. Démarrez le serveur Project Quay.

    sudo podman run --name quay --restart=always --publish 443:8443 --publish 80:8080 --privileged=true --volume ~/quay/config:/conf/stack:Z --volume ~/quay/storage:/datastorage:Z --detach quay.io/projectquay/quay:latest
    
  2. Confirmez que vous avez démarré.

    sudo podman ps
    
  3. Consultez les journaux Project Quay - cela peut prendre jusqu'à 15-20 minutes pour terminer la première fois que Project Quay démarre.

    sudo podman logs -f quay
    
  4. Passez à la fenêtre de terminal précédemment utilisée pour configurer un tunnel SSH et ouvrez à nouveau le tunnel SSH.

    ssh -L 8080:localhost:80 oracle@<ip_address_of_ol-server>
    

    Sortie exemple :

    [luna.user@lunabox ~]$ ssh -L 8080:localhost:80 oracle@129.159.195.234
    Activate the web console with: systemctl enable --now cockpit.socket
    
    Last login: Tue Feb  7 18:56:30 2023 from 138.1.16.50
    
  5. Sur le bureau Luna, ouvrez une nouvelle fenêtre de navigateur et connectez-vous à l'écran de connexion Project Quay Registry.

    http://localhost:8080
    

    Sortie exemple :

    connexion pgadmin

    Remarque : si la fenêtre du navigateur renvoie un message d'erreur (souvent indiquant une impossibilité de charger la configuration), cela signifie que le serveur Project Quay se configure toujours pour ce démarrage initial. Veuillez patienter et réessayer dans quelques minutes.

Créer un nouvel utilisateur et une nouvelle connexion Project Quay

  1. La première chose à faire est de créer un utilisateur. Sur l'écran Quay Login, cliquez sur le lien Create Account (sous les champs Username et Password).

    Sortie exemple :

    connexion pgadmin

  2. La page Créer un compte s'affiche, saisissez les informations suivantes.

    • Nom utilisateur : nom utilisateur affiché dans le registre Quay.
    • Adresse électronique - Il doit s'agir d'une adresse électronique valide (non utilisée dans cet atelier pour vérification)
    • Mot de passe - Entrez un mot de passe (doit comporter au moins 8 caractères)

    Remarque : si l'un des champs affiche un arrière-plan rouge, cela signifie qu'une valeur inattendue ou non valide a été saisie. Un arrière-plan vert indique que les valeurs entrées sont valides.

    Sortie exemple :

    connexion pgadmin

    Important : la procédure de création d'un superutilisateur est documentée ici. Un super utilisateur est un utilisateur normal disposant de privilèges étendus, ce qui inclut la possibilité d'effectuer les actions suivantes.

    • Gérer les utilisateurs
    • Gérer les organisations
    • Journaux d'utilisation des requêtes
    • Afficher le journal des modifications
  3. Une fois que tous les champs de saisie ont un arrière-plan vert (voir la capture d'écran précédente), cliquez sur le bouton Create Account. Project Quay crée le nouveau compte et se connecte automatiquement.

    (Facultatif) Choisissez d'enregistrer les valeurs username et password en fonction du choix personnel ou de la politique de la société.

    Sortie exemple :

    connexion pgadmin

  4. Project Quay est en cours d'exécution et le premier utilisateur est connecté.

    Sortie exemple :

    connexion pgadmin

Créer un référentiel Project Quay Registry

Un référentiel dans Project Quay porte généralement le même nom que l'image de conteneur qui sera stockée ('poussée') après la configuration. Il est ainsi beaucoup plus clair de localiser les images de conteneur à partir de ce registre de conteneurs hébergé localement. Toutefois, dans le cadre des étapes de l'atelier, il n'est pas nécessaire de respecter cette règle. Par conséquent, les captures d'écran indiquent que le nom du référentiel est _test01.

  1. Cliquez sur le lien Create New Repository (en haut à droite de l'écran), l'écran Create New Repository s'affiche.

    Sortie exemple :

    connexion pgadmin

  2. Renseignez les valeurs requises. Ceux-ci sont présentés ci-dessous.

    • Nom de référentiel - Les noms de référentiel doivent correspondre à [a-z0-9][.a-z0-9-]*(/[a-z0-9][.a-z0-9-]) (Remarque : les majuscules ne sont pas valides)
    • Description du référentiel - Cette option est facultative.
    • Choisissez de rendre le référentiel public ou privé selon la finalité prévue.

    Remarque : les paramètres Description du référentiel et Public/Privé peuvent être modifiés ultérieurement.

    Sortie exemple :

    connexion pgadmin

  3. Cliquez sur le bouton pour créer le référentiel. Elle affiche Créer un référentiel privé ou Create_Public_Repository, selon le type de référentiel sélectionné à l'étape précédente.

    Sortie exemple :

    connexion pgadmin

  4. Le référentiel nouvellement créé s'affiche.

    Sortie exemple :

    connexion pgadmin

    A ce stade, Project Quay Registry a été démarré, un nouvel utilisateur a créé et connecté. Enfin, un référentiel a été créé dans Container Registry. L'étape suivante consiste à revenir à la ligne de commande et à télécharger un conteneur vers ce nouveau registre de conteneurs créé.

Utiliser Project Quay

Ces étapes illustrent l'extraction d'une image à partir d'un registre externe, puis la balisage de l'image, la connexion au nouveau registre Project Quay créé, avant de pousser l'image dans le référentiel test01 nouvellement créé.

Remarque : comme cette installation de Project Quay n'a pas été configurée à l'aide de certificats SSL, les opérations Connexion et Push ont besoin d'un indicateur supplémentaire (--tls-verify=false) à utiliser, sinon elles échoueraient. Dans un environnement de production, l'indicateur --tls-verify=false ne doit NOT être utilisé.

  1. Ouvrez un terminal et connectez-vous via ssh à l'instance ol-server si elle n'est pas déjà connectée.

    ssh oracle@<ip_address_of_ol-server>
    
  2. Extrayez une image qui doit être stockée sur le registre Project Quay hébergé localement.

    podman pull quay.io/operator-framework/operatorhubio:v4
    

    Sortie exemple :

    podman pull quay.io/operator-framework/operatorhubio:v4
    Trying to pull quay.io/operator-framework/operatorhubio:v4...
    Getting image source signatures
    Copying blob de07aeb713d7 done  
    Copying blob ef32bf2cb8c7 done  
    Copying blob bf5952930446 done  
    Copying blob 84807cd1a858 done  
    Copying blob 1e60e070fb81 done  
    Copying blob a42b61b64a1a done  
    Copying blob 4002c47008f9 done  
    Copying blob 44e6bcd92ca9 done  
    Copying blob f8baa3854da1 done  
    Copying blob c0ea348411ae done  
    Copying config 11fa238eb3 done  
    Writing manifest to image destination
    Storing signatures
    11fa238eb3e3aa3262cafd975a9ca787e4f0832cd369ce3d1cb1c9c70573f4be
    
  3. Marquez l'image téléchargée avec les détails de la destination (le nouveau registre Project Quay). La balise utilisée peut être n'importe quelle valeur préférée - dans cet exemple, elle est 'dernière".

    podman tag quay.io/operator-framework/operatorhubio:v4 ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    user01 est le nom de votre nom utilisateur dans le registre et test01 est le nom du registre.

  4. Connectez-vous au nouveau registre Project Quay et au référentiel que vous venez de créer.

    podman login --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01
    

    Remarque : utilisez les valeurs Nom utilisateur et Mot de passe utilisées lors de la création de l'utilisateur Projet Quay dans les étapes précédentes.

    Sortie exemple :

    [oracle@ol-server ~]$ podman login --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01
    Username: user01
    Password: 
    Login Succeeded!
    
  5. Transférez l'image vers le nouveau registre Project Quay.

    podman push --tls-verify=false quay.io/operator-framework/operatorhubio:v4 ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    Sortie exemple :

    podman push --tls-verify=false quay.io/operator-framework/operatorhubio:v4 ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    Getting image source signatures
    Copying blob 8d46fa734840 done  
    Copying blob c5350d986805 done  
    Copying blob 274132c050df done  
    Copying blob d0f104dc0a1f done  
    Copying blob 9d51489878a0 done  
    Copying blob ed6469d35467 done  
    Copying blob fa152f521d35 done  
    Copying blob b277d564135b done  
    Copying blob 5764184699a3 done  
    Copying blob 15d6d3b2e9e6 done  
    Copying config 76a6ea4d80 done  
    Writing manifest to image destination
    Storing signatures
    
  6. Revenez à la fenêtre du navigateur et accédez à la section Balises de référentiel du référentiel user-1/test01 créé précédemment, l'image 'tagged' est répertoriée.

    Sortie exemple :

    connexion pgadmin

  7. Avant de pouvoir vérifier s'il est possible de récupérer l'image à partir du registre Project Quay local, il est nécessaire de supprimer la copie locale.

    podman rmi ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    Sortie exemple :

    [oracle@ol-server config]$ podman rmi ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    Untagged: ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    
  8. Extrayez ensuite l'image, mais cette fois à partir du registre Project Quay hébergé localement.

    podman pull --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    

    Sortie exemple :

    [oracle@ol-server config]$ podman pull --tls-verify=false ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest
    Trying to pull ol-server.pub.linuxvirt.oraclevcn.com/user01/test01:latest...
    Getting image source signatures
    Copying blob eacf9093f015 done  
    Copying blob d204dcb236ad done 
    Copying blob fcbc1d0b6248 done  
    Copying blob 5dd584b7c36d done  
    Copying blob 7940dd7814b2 done  
    Copying blob a06d838fcfaf done  
    Copying blob a783f1b4704a done  
    Copying blob 8875926a3ee5 done  
    Copying blob 622c87e26f84 done  
    Copying blob 2ec61b0ec8cf done  
    Copying config 76a6ea4d80 done  
    Writing manifest to image destination
    Storing signatures
    76a6ea4d8064c26288fd07db817a683ca476b8ca64de07a2568e7acf53c78ded
    

    Cela confirme que Project Quay Registry local peut stocker et servir des images de conteneur stockées dans ses propres référentiels.

Etapes suivantes

Cette opération est terminée dans l'atelier qui montre comment installer et exécuter un registre Project Quay sur Podman. Cependant, Project Quay a beaucoup plus de fonctionnalités et de capacités qui étaient hors du champ d'application de ce laboratoire comme illustré ci-dessous.

Vous trouverez plus de détails dans la documentation sur les quais de projet.

En attendant, beaucoup de remerciements pour avoir pris le temps d'essayer ce laboratoire.

Ressources de formation supplémentaires

Explorez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenu de formation gratuit sur le canal Oracle Learning YouTube. En outre, accédez à education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.

Pour consulter la documentation produit, consultez Oracle Help Center.